Method: Fitting::Doc::JsonSchema#initialize
- Defined in:
- lib/fitting/doc/json_schema.rb
#initialize(json_schema, super_schema) ⇒ JsonSchema
Returns a new instance of JsonSchema.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/fitting/doc/json_schema.rb', line 16 def initialize(json_schema, super_schema) @super_schema = super_schema @logs = [] @step_cover_size = 0 @step_key = json_schema @next_steps = [] @oneOf = false Fitting::Cover::JSONSchemaOneOf.new(json_schema).combi.each do |combination| @oneOf = true @next_steps.push(CombinationOneOf.new(combination[0], combination[1][0], combination[1][1], json_schema)) end combinations = Fitting::Cover::JSONSchemaEnum.new(json_schema).combi if combinations.size > 1 combinations.each do |comb| @next_steps.push(CombinationEnum.new(comb[0], comb[1][0], comb[1][1], json_schema)) end end if json_schema['type'] != 'array' combinations = Fitting::Cover::JSONSchema.new(json_schema).combi combinations.each do |comb| @next_steps.push(CombinationOptional.new(comb[0], comb[1][0], comb[1][1], json_schema)) end end end |