Class: StructuredReader::JSONReader
- Inherits:
-
Object
- Object
- StructuredReader::JSONReader
- Defined in:
- lib/structured_reader.rb
Defined Under Namespace
Classes: ArrayReader, BuilderDeriver, CollectionReader, Context, CustomReader, LiteralReader, NullReader, NumberReader, ObjectReader, OneOfReader, RawReader, ReaderSet, SelectionContext, StringReader, TimeReader, ValidatorContext
Instance Method Summary collapse
-
#initialize(root: :object, reader_set: ReaderSet.new, &blk) ⇒ JSONReader
constructor
A new instance of JSONReader.
- #read(document, context = Context.new) ⇒ Object
- #validate(document) ⇒ Object
Constructor Details
#initialize(root: :object, reader_set: ReaderSet.new, &blk) ⇒ JSONReader
Returns a new instance of JSONReader.
22 23 24 |
# File 'lib/structured_reader.rb', line 22 def initialize(root: :object, reader_set: ReaderSet.new, &blk) @root_reader = reader_set.reader(root, &blk) end |
Instance Method Details
#read(document, context = Context.new) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/structured_reader.rb', line 26 def read(document, context = Context.new) if document.kind_of?(String) document = JSON.parse document end context.open do @root_reader.read(document, context) end end |
#validate(document) ⇒ Object
35 36 37 |
# File 'lib/structured_reader.rb', line 35 def validate(document) read(document, ValidatorContext.new) end |