Sha256: aa7ecea8cbdbca1a86b0bcb1a497d287ef67b48f73b251431a2a01a606a56ed5

Contents?: true

Size: 696 Bytes

Versions: 1

Compression:

Stored size: 696 Bytes

Contents

require 'feedjira'

module Parliament
  module OpenSearch
    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
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
parliament-opensearch-0.1.0 lib/parliament/open_search/builder/open_search_response_builder.rb