Class: Parliament::Builder::NTripleResponseBuilder

Inherits:
BaseResponseBuilder
  • Object
show all
Defined in:
lib/parliament/builder/ntriple_response_builder.rb

Overview

N-Triple response builder, allowing the user to build a Parliament::Response::NTripleResponse from n-triple data.

Since:

  • 0.1.0

Instance Method Summary collapse

Constructor Details

#initialize(response:, decorators: nil) ⇒ NTripleResponseBuilder

Creates an instance of Parliament::Builder::NTripleResponseBuilder.

Examples:

Using the Grom Decorators module

Parliament::Builder::NTripleResponseBuilder.new(response: <#HTTPResponse>, decorators: Parliament::Grom::Decorator)

Parameters:

  • response (HTTPResponse)

    an HTTP response containing n-triple data.

  • decorators (Module) (defaults to: nil)

    the decorator module to provide alias methods to the resulting objects.

See Also:

  • Parliament::BaseResponse#initialize

Since:

  • 0.1.0



15
16
17
18
19
# File 'lib/parliament/builder/ntriple_response_builder.rb', line 15

def initialize(response:, decorators: nil)
  @decorators = decorators

  super
end

Instance Method Details

#buildParliament::Response::NTripleResponse

Builds a Parliament::Response::NTripleResponse from the n-triple data.

Returns:

Since:

  • 0.1.0



24
25
26
27
28
29
30
31
# File 'lib/parliament/builder/ntriple_response_builder.rb', line 24

def build
  encoded_body = encode_to_utf8(@response.body)
  encoded_body_without_bom = remove_byte_order_mark(encoded_body)

  objects = ::Grom::Reader.new(encoded_body_without_bom, @decorators)&.objects

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