Class: BlockKit::Types::Option

Inherits:
ActiveModel::Type::Value
  • Object
show all
Includes:
Singleton
Defined in:
lib/block_kit/types/option.rb

Direct Known Subclasses

OverflowOption

Instance Method Summary collapse

Instance Method Details

#block_classObject



9
# File 'lib/block_kit/types/option.rb', line 9

def block_class = Composition::Option

#cast(value) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/block_kit/types/option.rb', line 17

def cast(value)
  case value
  when Composition::OverflowOption
    block_class.new(text: value.text, value: value.value)
  when block_class
    value
  when Hash
    block_class.new(**value.with_indifferent_access.slice(*block_class.attribute_names).symbolize_keys)
  end
end

#typeObject



13
14
15
# File 'lib/block_kit/types/option.rb', line 13

def type
  :block_kit_option
end