Class: Jsapi::Meta::Schema::Numeric

Inherits:
Base show all
Includes:
Conversion
Defined in:
lib/jsapi/meta/schema/numeric.rb

Direct Known Subclasses

Integer, Number

Instance Attribute Summary

Attributes inherited from Base

#validations

Instance Method Summary collapse

Methods included from Conversion

#convert, included

Methods inherited from Base

#default, #deprecated, #description, #enum, #enum=, #examples, #existence, #external_docs, #initialize, #nullable?, #omittable?, #title, #to_json_schema, #to_openapi, #type

Methods included from OpenAPI::Extensions

included

Methods inherited from Model::Base

#initialize, #inspect, #merge!, #reference?, #resolve

Methods included from Model::Attributes

#attributes_frozen?, #freeze_attributes, included

Constructor Details

This class inherits a constructor from Jsapi::Meta::Schema::Base

Instance Method Details

#maximumObject

:attr: maximum The (exclusive) maximum.



12
# File 'lib/jsapi/meta/schema/numeric.rb', line 12

attribute :maximum, accessors: i[reader]

#maximum=(value) ⇒ Object

:nodoc:



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/jsapi/meta/schema/numeric.rb', line 23

def maximum=(value) # :nodoc:
  try_modify_attribute!(:maximum) do
    boundary = Boundary.from(value)

    add_validation(
      'maximum',
      Validation::Maximum.new(
        boundary.value,
        exclusive: boundary.exclusive?
      )
    )
    @maximum = boundary
  end
end

#minimumObject

:attr: minimum The (exclusive) minimum.



17
# File 'lib/jsapi/meta/schema/numeric.rb', line 17

attribute :minimum, accessors: i[reader]

#minimum=(value) ⇒ Object

:nodoc:



38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/jsapi/meta/schema/numeric.rb', line 38

def minimum=(value) # :nodoc:
  try_modify_attribute!(:minimum) do
    boundary = Boundary.from(value)

    add_validation(
      'minimum',
      Validation::Minimum.new(
        boundary.value,
        exclusive: boundary.exclusive?
      )
    )
    @minimum = boundary
  end
end

#multiple_ofObject

:attr: multiple_of



21
# File 'lib/jsapi/meta/schema/numeric.rb', line 21

attribute :multiple_of, accessors: i[reader]

#multiple_of=(value) ⇒ Object

:nodoc:



53
54
55
56
57
58
# File 'lib/jsapi/meta/schema/numeric.rb', line 53

def multiple_of=(value) # :nodoc:
  try_modify_attribute!(:multiple_of) do
    add_validation('multiple_of', Validation::MultipleOf.new(value))
    @multiple_of = value
  end
end