Class: RubyCord::Component::SelectMenu::Option
- Inherits:
-
Object
- Object
- RubyCord::Component::SelectMenu::Option
- Defined in:
- lib/rubycord/component/select_menu.rb
Overview
Represents an option of a select menu.
Instance Attribute Summary collapse
-
#default ⇒ Boolean
Whether the option is default.
-
#description ⇒ String
The description of the option.
-
#emoji ⇒ RubyCord::Emoji
The emoji of the option.
-
#label ⇒ String
The label of the option.
-
#value ⇒ String
The value of the option.
Class Method Summary collapse
-
.from_hash(data) ⇒ RubyCord::Component::SelectMenu::Option
Creates a new option from a hash.
Instance Method Summary collapse
-
#initialize(label, value, description: nil, emoji: nil, default: false) ⇒ Option
constructor
Initialize a new option.
-
#inspect ⇒ String
Object class and attributes.
-
#to_hash ⇒ Hash
Converts the option to a hash.
Constructor Details
#initialize(label, value, description: nil, emoji: nil, default: false) ⇒ Option
Initialize a new option.
110 111 112 113 114 115 116 |
# File 'lib/rubycord/component/select_menu.rb', line 110 def initialize(label, value, description: nil, emoji: nil, default: false) @label = label @value = value @description = description @emoji = emoji @default = default end |
Instance Attribute Details
#default ⇒ Boolean
Returns Whether the option is default.
100 101 102 |
# File 'lib/rubycord/component/select_menu.rb', line 100 def default @default end |
#description ⇒ String
Returns The description of the option.
96 97 98 |
# File 'lib/rubycord/component/select_menu.rb', line 96 def description @description end |
#emoji ⇒ RubyCord::Emoji
Returns The emoji of the option.
98 99 100 |
# File 'lib/rubycord/component/select_menu.rb', line 98 def emoji @emoji end |
#label ⇒ String
Returns The label of the option.
92 93 94 |
# File 'lib/rubycord/component/select_menu.rb', line 92 def label @label end |
#value ⇒ String
Returns The value of the option.
94 95 96 |
# File 'lib/rubycord/component/select_menu.rb', line 94 def value @value end |
Class Method Details
.from_hash(data) ⇒ RubyCord::Component::SelectMenu::Option
Creates a new option from a hash.
148 149 150 151 152 153 154 155 156 |
# File 'lib/rubycord/component/select_menu.rb', line 148 def from_hash(data) new( data[:label], data[:value], description: data[:description], emoji: data[:emoji], default: data[:default] ) end |
Instance Method Details
#inspect ⇒ String
Returns Object class and attributes.
136 137 138 |
# File 'lib/rubycord/component/select_menu.rb', line 136 def inspect "#<#{self.class} #{@label}: #{@value}>" end |
#to_hash ⇒ Hash
Converts the option to a hash.
125 126 127 128 129 130 131 132 133 |
# File 'lib/rubycord/component/select_menu.rb', line 125 def to_hash { label: @label, value: @value, description: @description, emoji: @emoji&.to_hash, default: @default } end |