Class: Blumquist

Inherits:
Object
  • Object
show all
Defined in:
lib/blumquist.rb,
lib/blumquist/error.rb,
lib/blumquist/version.rb,
lib/blumquist/errors/invalid_pointer.rb,
lib/blumquist/errors/unsupported_type.rb,
lib/blumquist/errors/missing_properties.rb,
lib/blumquist/errors/unsupported_schema.rb,
lib/blumquist/errors/no_compatible_one_of.rb,
lib/blumquist/errors/missing_array_items_type.rb

Defined Under Namespace

Modules: Errors Classes: Error

Constant Summary collapse

VERSION =
"0.5.0"

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Blumquist

Returns a new instance of Blumquist.



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/blumquist.rb', line 8

def initialize(options)
  # Poor man's deep clone: json 🆗 🆒
  @data = JSON.parse(options.fetch(:data).to_json)
  @schema = options.fetch(:schema).with_indifferent_access
  @validate = options.fetch(:validate, true)

  validate_schema
  validate_data

  resolve_json_pointers
  define_getters
end

Instance Method Details

#to_sObject



21
22
23
# File 'lib/blumquist.rb', line 21

def to_s
  inspect
end