Sha256: d7c7c7e24ca807c5bd38f5748d3ed66c96bd5a62a57ff25f0e9933ad84bb1945

Contents?: true

Size: 640 Bytes

Versions: 5

Compression:

Stored size: 640 Bytes

Contents

require 'feedjira'

module Parliament
  module Builder
    # OpenSearch response builder using Feedjira to parse the response.
    #
    # @since 0.1.0
    class OpenSearchResponseBuilder < Parliament::Builder::BaseResponseBuilder
      OPEN_SEARCH_ELEMENTS = %w(totalResults Query startIndex itemsPerPage).freeze

      # Builds a Feedjira::Feed response.  It adds the extra OpenSearch feed elements, then parses the HTTP Response.
      def build
        OPEN_SEARCH_ELEMENTS.each do |element|
          Feedjira::Feed.add_common_feed_element(element)
        end

        Feedjira::Feed.parse(@response.body)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
parliament-opensearch-0.2.3 lib/parliament/builder/open_search_response_builder.rb
parliament-opensearch-0.2.2 lib/parliament/builder/open_search_response_builder.rb
parliament-opensearch-0.2.1 lib/parliament/builder/open_search_response_builder.rb
parliament-opensearch-0.2.0 lib/parliament/builder/open_search_response_builder.rb
parliament-opensearch-0.1.1 lib/parliament/builder/open_search_response_builder.rb