Sha256: da090dd3096fe1eaaacd4cd3b8ec0997637b978e5a674bc0a93029daf8db76f6

Contents?: true

Size: 937 Bytes

Versions: 5

Compression:

Stored size: 937 Bytes

Contents

class EndecaOnDemand
  class BusinessRulesResult < Proxy

    require 'endeca_on_demand/business_rules_result/property'
    require 'endeca_on_demand/record_set/record'
    
    attr_reader :properties
    
    def initialize(business_rules_result)
      @properties         = []
      @records            = []
      
      business_rules_result.children.each do |node|

        if node.name == "properties"
          node.xpath("./properties").each do |node|
            @properties.push(EndecaOnDemand::BusinessRulesResult::Property.new(node))
          end
        end

        if node.name == "RecordSet"
          node.xpath("./RecordSet//Record").each do |node|
            @records.push(EndecaOnDemand::RecordSet::Record.new(node))
          end
        end

        self.instance_variable_set(:"@#{node.name.downcase}", node.content)
        self.class_eval("attr_reader :#{node.name.downcase}")
      end
    end
    
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
endeca_on_demand-1.0.1 lib/endeca_on_demand/business_rules_result.rb
endeca_on_demand-1.0.0 lib/endeca_on_demand/business_rules_result.rb
endeca_on_demand-0.9.9.7 lib/endeca_on_demand/business_rules_result.rb
endeca_on_demand-0.9.9.6 lib/endeca_on_demand/business_rules_result.rb
endeca_on_demand-0.9.9.5 lib/endeca_on_demand/business_rules_result.rb