Class: Kombo::Models::Shared::Schema2MultiSelect

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Includes:
Crystalline::MetadataFields
Defined in:
lib/kombo/models/shared/schema2_multiselect.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:, options:, description: nil, unified_key: nil, min_items: nil, max_items: nil) ⇒ Schema2MultiSelect

Returns a new instance of Schema2MultiSelect.



33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/kombo/models/shared/schema2_multiselect.rb', line 33

def initialize(label:, required:, type:, options:, description: nil, unified_key: nil, min_items: nil, max_items: nil)
  @label = label
  @required = required
  unless type == 'multi_select'
    raise ArgumentError, 'Invalid value for type'
  end
  @type = 'multi_select'
  @options = options
  @description = description
  @unified_key = unified_key
  @min_items = min_items
  @max_items = max_items
end

Instance Method Details

#==(other) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/kombo/models/shared/schema2_multiselect.rb', line 48

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 @options == other.options
  return false unless @description == other.description
  return false unless @unified_key == other.unified_key
  return false unless @min_items == other.min_items
  return false unless @max_items == other.max_items
  true
end