Class: JSON::LD::Reader
- Inherits:
-
RDF::Reader
- Object
- RDF::Reader
- JSON::LD::Reader
- Defined in:
- lib/json/ld/reader.rb
Overview
A JSON-LD parser in Ruby.
Instance Method Summary collapse
- #each_statement(&block) ⇒ Object
- #each_triple(&block) ⇒ Object
-
#initialize(input = $stdin, options = {}) {|reader| ... } ⇒ Reader
constructor
Initializes the RDF/JSON reader instance.
Constructor Details
#initialize(input = $stdin, options = {}) {|reader| ... } ⇒ Reader
Initializes the RDF/JSON reader instance.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/json/ld/reader.rb', line 20 def initialize(input = $stdin, = {}, &block) [:base_uri] ||= [:base] super do @options[:base] ||= base_uri.to_s if base_uri begin # Trim non-JSON stuff in script. @doc = if input.respond_to?(:read) input else StringIO.new(input.to_s.sub(%r(\A[^{\[]*)m, '').sub(%r([^}\]]*\Z)m, '')) end rescue JSON::ParserError => e raise RDF::ReaderError, "Failed to parse input document: #{e.}" if validate? @doc = StringIO.new("{}") end if block_given? case block.arity when 0 then instance_eval(&block) else block.call(self) end end end end |