Sha256: f0a758d598c177d074c42e9b33d70adb7ce89b0bf1e56bd4a651f3910b91b681

Contents?: true

Size: 704 Bytes

Versions: 5

Compression:

Stored size: 704 Bytes

Contents

module Parliament
  module Builder
    class NTripleResponseBuilder < Parliament::Builder::BaseResponseBuilder
      def build
        objects = Grom::Reader.new(@response.body).objects
        objects.map { |object| assign_decorator(object) }

        Parliament::Response.new(objects)
      end

      private

      def assign_decorator(object)
        return object unless object.respond_to?(:type)

        object_type = Grom::Helper.get_id(object.type)

        return object unless Parliament::Decorator.constants.include?(object_type.to_sym)

        decorator_module = Object.const_get("Parliament::Decorator::#{object_type}")
        object.extend(decorator_module)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
parliament-ruby-0.7.4 lib/parliament/builder/ntriple_response_builder.rb
parliament-ruby-0.7.3.pre lib/parliament/builder/ntriple_response_builder.rb
parliament-ruby-0.7.2.pre lib/parliament/builder/ntriple_response_builder.rb
parliament-ruby-0.7.1.pre lib/parliament/builder/ntriple_response_builder.rb
parliament-ruby-0.7.0.pre lib/parliament/builder/ntriple_response_builder.rb