class EasyJSONMatcher::SchemaGenerator
Attributes
att_glob_opts[R]
glob_opts[R]
node[R]
Public Class Methods
new(opts: [], global_opts: [], **args, &block)
click to toggle source
Calls superclass method
# File lib/easy_json_matcher/schema_generator.rb, line 15 def initialize(opts: [], global_opts: [], **args, &block) super(**args) @glob_opts = global_opts @att_glob_opts = glob_opts.dup @att_glob_opts.delete(:strict) @node = new_node_generator(opts: opts, globals: global_opts) node.instance_eval &block if block_given? end
Public Instance Methods
create_node(opts:)
click to toggle source
# File lib/easy_json_matcher/schema_generator.rb, line 24 def create_node(opts:) node.new(opts: opts) end
generate_node()
click to toggle source
Methods for generating the schema #########################
# File lib/easy_json_matcher/schema_generator.rb, line 30 def generate_node node.generate_node end
generate_schema()
click to toggle source
# File lib/easy_json_matcher/schema_generator.rb, line 34 def generate_schema validator.new validate_with: generate_node end
new_node_generator(opts:, globals:)
click to toggle source
# File lib/easy_json_matcher/schema_generator.rb, line 43 def new_node_generator(opts:, globals:) node_generator.new(opts: opts, global_opts: globals) end
register(as:)
click to toggle source
# File lib/easy_json_matcher/schema_generator.rb, line 38 def register(as:) schema_library.add_schema(name: as, schema: generate_node) generate_schema end