Class: Discorb::SelectMenu::Option

Inherits:
Object
  • Object
show all
Defined in:
lib/discorb/components.rb

Overview

Represents an option of a select menu.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(label, value, description: nil, emoji: nil, default: false) -> Option

Initialize a new option.

Parameters:

  • label (String)

    The label of the option.

  • value (String)

    The value of the option.

  • description (String) (defaults to: nil)

    The description of the option.

  • emoji (Discorb::Emoji) (defaults to: nil)

    The emoji of the option.

  • default (Boolean) (defaults to: false)

    Whether the option is default.



215
216
217
218
219
220
221
# File 'lib/discorb/components.rb', line 215

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.

Returns:

  • (Boolean)

    Whether the option is default.



205
206
207
# File 'lib/discorb/components.rb', line 205

def default
  @default
end

#description -> String

Returns The description of the option.

Returns:

  • (String)

    The description of the option.



201
202
203
# File 'lib/discorb/components.rb', line 201

def description
  @description
end

#emoji -> Discorb::Emoji

Returns The emoji of the option.

Returns:



203
204
205
# File 'lib/discorb/components.rb', line 203

def emoji
  @emoji
end

#label -> String

Returns The label of the option.

Returns:

  • (String)

    The label of the option.



197
198
199
# File 'lib/discorb/components.rb', line 197

def label
  @label
end

#value -> String

Returns The value of the option.

Returns:

  • (String)

    The value of the option.



199
200
201
# File 'lib/discorb/components.rb', line 199

def value
  @value
end

Class Method Details

.from_hash(data) -> Discorb::SelectMenu::Option

Creates a new option from a hash.

Parameters:

  • data (Hash)

    A hash representing the option.

Returns:



265
266
267
# File 'lib/discorb/components.rb', line 265

def from_hash(data)
  new(data[:label], data[:value], description: data[:description], emoji: data[:emoji], default: data[:default])
end

Instance Method Details

#to_hash -> Hash

Converts the option to a hash.

Returns:

  • (Hash)

    Hash representation of the option.

See Also:



229
230
231
232
233
234
235
236
237
# File 'lib/discorb/components.rb', line 229

def to_hash
  {
    label: @label,
    value: @value,
    description: @description,
    emoji: hash_emoji(@emoji),
    default: @default,
  }
end