Class: AnyVali::NumberSchema
- Inherits:
-
Schema
- Object
- Schema
- AnyVali::NumberSchema
show all
- Defined in:
- lib/anyvali/schemas/number_schema.rb
Constant Summary
collapse
- FLOAT_KINDS =
%w[number float32 float64].freeze
- INT_KINDS =
%w[int int8 int16 int32 int64 uint8 uint16 uint32 uint64].freeze
- INT_RANGES =
{
"int8" => [-128, 127],
"int16" => [-32_768, 32_767],
"int32" => [-2_147_483_648, 2_147_483_647],
"int64" => [-9_223_372_036_854_775_808, 9_223_372_036_854_775_807],
"uint8" => [0, 255],
"uint16" => [0, 65_535],
"uint32" => [0, 4_294_967_295],
"uint64" => [0, 18_446_744_073_709_551_615],
"int" => [-9_223_372_036_854_775_808, 9_223_372_036_854_775_807]
}.freeze
- FLOAT32_MAX =
3.4028235e+38
Constants inherited
from Schema
Schema::RESERVED_METADATA_KEYS
Instance Attribute Summary
Attributes inherited from Schema
#coerce_config, #constraints, #custom_validators, #default_value, #has_default, #kind, #metadata
Instance Method Summary
collapse
Methods inherited from Schema
#coerce, #default, #describe, #export, #parse, #portable?, #refine, #safe_parse, #to_node, type_name, #with_metadata
Constructor Details
#initialize(kind: "number", constraints: {}, **kwargs) ⇒ NumberSchema
Returns a new instance of NumberSchema.
22
23
24
|
# File 'lib/anyvali/schemas/number_schema.rb', line 22
def initialize(kind: "number", constraints: {}, **kwargs)
super(kind: kind, constraints: constraints, **kwargs)
end
|
Instance Method Details
#exclusive_max(n) ⇒ Object
38
39
40
|
# File 'lib/anyvali/schemas/number_schema.rb', line 38
def exclusive_max(n)
dup_with(constraints: @constraints.merge("exclusiveMax" => n))
end
|
#exclusive_min(n) ⇒ Object
34
35
36
|
# File 'lib/anyvali/schemas/number_schema.rb', line 34
def exclusive_min(n)
dup_with(constraints: @constraints.merge("exclusiveMin" => n))
end
|
#max(n) ⇒ Object
30
31
32
|
# File 'lib/anyvali/schemas/number_schema.rb', line 30
def max(n)
dup_with(constraints: @constraints.merge("max" => n))
end
|
#min(n) ⇒ Object
26
27
28
|
# File 'lib/anyvali/schemas/number_schema.rb', line 26
def min(n)
dup_with(constraints: @constraints.merge("min" => n))
end
|
#multiple_of(n) ⇒ Object
42
43
44
|
# File 'lib/anyvali/schemas/number_schema.rb', line 42
def multiple_of(n)
dup_with(constraints: @constraints.merge("multipleOf" => n))
end
|