Class: Fitting::Cover::JSONSchemaOneOf
- Inherits:
-
Object
- Object
- Fitting::Cover::JSONSchemaOneOf
- Defined in:
- lib/fitting/cover/json_schema_one_of.rb
Instance Method Summary collapse
- #combi ⇒ Object
-
#initialize(json_schema) ⇒ JSONSchemaOneOf
constructor
A new instance of JSONSchemaOneOf.
Constructor Details
#initialize(json_schema) ⇒ JSONSchemaOneOf
Returns a new instance of JSONSchemaOneOf.
4 5 6 |
# File 'lib/fitting/cover/json_schema_one_of.rb', line 4 def initialize(json_schema) @json_schema = json_schema end |
Instance Method Details
#combi ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/fitting/cover/json_schema_one_of.rb', line 8 def combi @combinations = [] return @combinations unless @json_schema['oneOf'] || @json_schema['allOf'] if @json_schema['oneOf'] one_of = @json_schema.delete("oneOf") one_of.each_index do |index| @combinations.push([@json_schema.merge(one_of[index]), ['one_of', "properties.#{index}"]]) end elsif @json_schema['allOf'] all_of = @json_schema.delete("allOf") one_of = all_of[0].delete("oneOf") one_of.each_index do |index| @combinations.push([@json_schema.merge(one_of[index]), ['one_of', "properties.#{index}"]]) end end @combinations end |