Class: Kombo::Models::Shared::Schema1Number

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Includes:
Crystalline::MetadataFields
Defined in:
lib/kombo/models/shared/schema1_number.rb

Instance Method Summary collapse

Methods included from Crystalline::MetadataFields

#field, #fields, included, #marshal_single, #to_dict, #to_json

Constructor Details

#initialize(label:, required:, type:, description: nil, unified_key: nil, min: nil, max: nil) ⇒ Schema1Number

Returns a new instance of Schema1Number.



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/kombo/models/shared/schema1_number.rb', line 31

def initialize(label:, required:, type:, description: nil, unified_key: nil, min: nil, max: nil)
  @label = label
  @required = required
  unless type == 'number'
    raise ArgumentError, 'Invalid value for type'
  end
  @type = 'number'
  @description = description
  @unified_key = unified_key
  @min = min
  @max = max
end

Instance Method Details

#==(other) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/kombo/models/shared/schema1_number.rb', line 45

def ==(other)
  return false unless other.is_a? self.class
  return false unless @label == other.label
  return false unless @required == other.required
  return false unless @type == other.type
  return false unless @description == other.description
  return false unless @unified_key == other.unified_key
  return false unless @min == other.min
  return false unless @max == other.max
  true
end