Class: OnyxCord::Webhooks::View::MediaGalleryBuilder
- Inherits:
-
Object
- Object
- OnyxCord::Webhooks::View::MediaGalleryBuilder
- Defined in:
- lib/onyxcord/webhooks/view/media_gallery_builder.rb
Instance Method Summary collapse
-
#initialize(*items, id: nil) {|builder| ... } ⇒ MediaGalleryBuilder
constructor
Create a media gallery component.
-
#item(item = nil, url: nil, description: nil, spoiler: nil) ⇒ Object
Add a gallery item to the media gallery component.
Constructor Details
#initialize(*items, id: nil) {|builder| ... } ⇒ MediaGalleryBuilder
Create a media gallery component.
8 9 10 11 12 13 14 15 |
# File 'lib/onyxcord/webhooks/view/media_gallery_builder.rb', line 8 def initialize(*items, id: nil) @id = id @items = [] items.each { |item| self.item(item) } yield self if block_given? end |
Instance Method Details
#item(item = nil, url: nil, description: nil, spoiler: nil) ⇒ Object
Add a gallery item to the media gallery component.
21 22 23 24 25 26 |
# File 'lib/onyxcord/webhooks/view/media_gallery_builder.rb', line 21 def item(item = nil, url: nil, description: nil, spoiler: nil) url, description, spoiler = normalize_item(item, url, description, spoiler) raise ArgumentError, 'media gallery item requires a url' if url.nil? || url.to_s.empty? @items << { media: { url: url }, description: description, spoiler: spoiler }.compact end |