Method: Attributor::Numeric::ClassMethods#as_json_schema

Defined in:
lib/attributor/families/numeric.rb

#as_json_schema(shallow: false, example: nil, attribute_options: {}) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/attributor/families/numeric.rb', line 18

def as_json_schema( shallow: false, example: nil, attribute_options: {} )
  h = super
  opts = ( self.respond_to?(:options) ) ? self.options.merge( attribute_options ) : attribute_options
  h[:minimum] = opts[:min] if opts[:min]
  h[:maximum] = opts[:max] if opts[:max]
  # We're not explicitly setting false to exclusiveMinimum and exclusiveMaximum (as that's the default)
  h
end