Sha256: b521fe2e5e3bbf5a460d80482fb42fd1a49288d8d87b5e196f51b0a4271c8aa4

Contents?: true

Size: 1.14 KB

Versions: 5

Compression:

Stored size: 1.14 KB

Contents

module EndecaOnDemand
  class Response
    class AppliedFilters
      class SearchReport < EndecaOnDemand::Proxy

        include EndecaOnDemand::PP

        def inspect_attributes; [ :options, :search ]; end

        ## fields ##

        attr_reader :applied_filters, :search
        
        def initialize(applied_filters, xml)
          @applied_filters, @xml = applied_filters, xml

          define_getters(:options)
        end

        ## override proxy ##

        def class
          EndecaOnDemand::Response::AppliedFilters::SearchReport
        end

        ##

        ## associations ##

        def search
          @search ||= EndecaOnDemand::Response::AppliedFilters::SearchReport::Search.new(self, xml.children.css('Search'))
        end

        ##

        ## data ##

        def options
          @options ||= xml.xpath('child::node()[not(local-name() = "Search")]').inject({}) do |hash,child|
              hash.tap do
                hash[child.name] = child.content
              end
            end.symbolize_keys
        end

        ##

      end
    end
  end
end

require 'endeca_on_demand/response/applied_filters/search_report/search'

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
endeca_on_demand-1.3.4 lib/endeca_on_demand/response/applied_filters/search_report.rb
endeca_on_demand-1.3.3 lib/endeca_on_demand/response/applied_filters/search_report.rb
endeca_on_demand-1.3.2 lib/endeca_on_demand/response/applied_filters/search_report.rb
endeca_on_demand-1.3.1 lib/endeca_on_demand/response/applied_filters/search_report.rb
endeca_on_demand-1.3.0 lib/endeca_on_demand/response/applied_filters/search_report.rb