Class: AnyVali::ArraySchema
- Defined in:
- lib/anyvali/schemas/array_schema.rb
Constant Summary
Constants inherited from Schema
Schema::RESERVED_METADATA_KEYS
Instance Attribute Summary collapse
-
#items_schema ⇒ Object
readonly
Returns the value of attribute items_schema.
Attributes inherited from Schema
#coerce_config, #constraints, #custom_validators, #default_value, #has_default, #kind, #metadata
Instance Method Summary collapse
-
#initialize(items:, constraints: {}, **kwargs) ⇒ ArraySchema
constructor
A new instance of ArraySchema.
- #max_items(n) ⇒ Object
- #min_items(n) ⇒ Object
- #to_node ⇒ Object
Methods inherited from Schema
#coerce, #default, #describe, #export, #parse, #portable?, #refine, #safe_parse, type_name, #with_metadata
Constructor Details
#initialize(items:, constraints: {}, **kwargs) ⇒ ArraySchema
Returns a new instance of ArraySchema.
7 8 9 10 |
# File 'lib/anyvali/schemas/array_schema.rb', line 7 def initialize(items:, constraints: {}, **kwargs) @items_schema = items super(kind: "array", constraints: constraints, **kwargs) end |
Instance Attribute Details
#items_schema ⇒ Object (readonly)
Returns the value of attribute items_schema.
5 6 7 |
# File 'lib/anyvali/schemas/array_schema.rb', line 5 def items_schema @items_schema end |
Instance Method Details
#max_items(n) ⇒ Object
16 17 18 |
# File 'lib/anyvali/schemas/array_schema.rb', line 16 def max_items(n) dup_with(constraints: @constraints.merge("maxItems" => n)) end |
#min_items(n) ⇒ Object
12 13 14 |
# File 'lib/anyvali/schemas/array_schema.rb', line 12 def min_items(n) dup_with(constraints: @constraints.merge("minItems" => n)) end |
#to_node ⇒ Object
20 21 22 23 24 |
# File 'lib/anyvali/schemas/array_schema.rb', line 20 def to_node node = super node["items"] = @items_schema.to_node node end |