# File lib/ai4r/classifiers/prism.rb, line 112
      def build_rule(class_value, instances)
        rule = {:class_value => class_value, :conditions => {}}
        rule_instances = instances.collect {|data| data }
        attributes = @data_set.data_labels[0...-1].collect {|label| label }
        until(is_perfect(instances, rule) || attributes.empty?)
          freq_table = build_freq_table(rule_instances, attributes, class_value)
          condition = get_condition(freq_table)
          rule[:conditions].merge!(condition)
          rule_instances = rule_instances.select do |data| 
            matches_conditions(data, condition) 
          end
        end
        return rule
      end