Sha256: 92ee42596fdfb48a1de78fcf4285e6114ef7b4b09164c9a8cc9ee74ea1208f24

Contents?: true

Size: 1.31 KB

Versions: 10

Compression:

Stored size: 1.31 KB

Contents

module Parliament
  module Builder
    # N-Triple response builder, allowing the user to build a Parliament::Response::NTripleResponse from n-triple data.
    #
    # @since 0.1.0
    class NTripleResponseBuilder < Parliament::Builder::BaseResponseBuilder
      # Creates an instance of Parliament::Builder::NTripleResponseBuilder.
      #
      # @see Parliament::BaseResponse#initialize
      #
      # @param [HTTPResponse] response an HTTP response containing n-triple data.
      # @param [Module] decorators the decorator module to provide alias methods to the resulting objects.
      # @example Using the Grom Decorators module
      #   Parliament::Builder::NTripleResponseBuilder.new(response: <#HTTPResponse>, decorators: Parliament::Grom::Decorator)
      def initialize(response:, decorators: nil)
        @decorators = decorators

        super
      end

      # Builds a Parliament::Response::NTripleResponse from the n-triple data.
      #
      # @return [Parliament::Response::NTripleResponse] a Parliament::Response::NTripleResponse containing decorated Grom::Node objects.
      def build
        objects = ::Grom::Reader.new(@response.body).objects
        objects.map! { |object| @decorators.decorate(object) } unless @decorators.nil?

        Parliament::Response::NTripleResponse.new(objects)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
parliament-ntriple-0.3.0 lib/parliament/builder/ntriple_response_builder.rb
parliament-ntriple-0.2.1 lib/parliament/builder/ntriple_response_builder.rb
parliament-ntriple-0.2.0 lib/parliament/builder/ntriple_response_builder.rb
parliament-ntriple-0.1.5 lib/parliament/builder/ntriple_response_builder.rb
parliament-ntriple-0.1.4.pre2 lib/parliament/builder/ntriple_response_builder.rb
parliament-ntriple-0.1.3 lib/parliament/builder/ntriple_response_builder.rb
parliament-ntriple-0.1.2 lib/parliament/builder/ntriple_response_builder.rb
parliament-ntriple-0.1.1 lib/parliament/builder/ntriple_response_builder.rb
parliament-ntriple-0.1.0 lib/parliament/builder/ntriple_response_builder.rb
parliament-ntriple-0.0.1.pre lib/parliament/builder/ntriple_response_builder.rb