Class: Line::Bot::Builder::MultipleMessage
- Inherits:
-
Object
- Object
- Line::Bot::Builder::MultipleMessage
- Defined in:
- lib/line/bot/builder/multiple_message.rb
Instance Method Summary collapse
- #add_audio(attrs = {}) ⇒ Object
- #add_image(attrs = {}) ⇒ Object
- #add_location(attrs = {}) ⇒ Object
- #add_sticker(attrs = {}) ⇒ Object
- #add_text(attrs = {}) ⇒ Object
- #add_video(attrs = {}) ⇒ Object
- #content ⇒ Object
- #event_type ⇒ Object
-
#initialize(client) ⇒ MultipleMessage
constructor
A new instance of MultipleMessage.
- #push_message(message) ⇒ Object
- #send(attrs = {}) ⇒ Object
- #valid? ⇒ Boolean
Constructor Details
#initialize(client) ⇒ MultipleMessage
Returns a new instance of MultipleMessage.
8 9 10 11 |
# File 'lib/line/bot/builder/multiple_message.rb', line 8 def initialize client @messages ||= [] @client = client end |
Instance Method Details
#add_audio(attrs = {}) ⇒ Object
42 43 44 45 46 47 48 49 50 |
# File 'lib/line/bot/builder/multiple_message.rb', line 42 def add_audio(attrs = {}) tap { = Message::Audio.new( audio_url: attrs[:audio_url], duration: attrs[:duration], ) () } end |
#add_image(attrs = {}) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/line/bot/builder/multiple_message.rb', line 22 def add_image(attrs = {}) tap { = Message::Image.new( image_url: attrs[:image_url], preview_url: attrs[:preview_url], ) () } end |
#add_location(attrs = {}) ⇒ Object
52 53 54 55 56 57 58 59 60 61 |
# File 'lib/line/bot/builder/multiple_message.rb', line 52 def add_location(attrs = {}) tap { = Message::Location.new( title: attrs[:title], latitude: attrs[:latitude], longitude: attrs[:longitude], ) () } end |
#add_sticker(attrs = {}) ⇒ Object
63 64 65 66 67 68 69 70 71 72 |
# File 'lib/line/bot/builder/multiple_message.rb', line 63 def add_sticker(attrs = {}) tap { = Message::Sticker.new( stkpkgid: attrs[:stkpkgid], stkid: attrs[:stkid], stkver: attrs[:stkver], ) () } end |
#add_text(attrs = {}) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/line/bot/builder/multiple_message.rb', line 13 def add_text(attrs = {}) tap { = Message::Text.new( text: attrs[:text], ) () } end |
#add_video(attrs = {}) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/line/bot/builder/multiple_message.rb', line 32 def add_video(attrs = {}) tap { = Message::Video.new( video_url: attrs[:video_url], preview_url: attrs[:preview_url], ) () } end |
#content ⇒ Object
88 89 90 91 92 93 |
# File 'lib/line/bot/builder/multiple_message.rb', line 88 def content { messageNotified: 0, messages: @messages } end |
#event_type ⇒ Object
84 85 86 |
# File 'lib/line/bot/builder/multiple_message.rb', line 84 def event_type 140177271400161403 end |
#push_message(message) ⇒ Object
74 75 76 77 |
# File 'lib/line/bot/builder/multiple_message.rb', line 74 def () raise ArgumentError, "Invalid arguments" unless .valid? @messages << .content end |
#send(attrs = {}) ⇒ Object
79 80 81 82 |
# File 'lib/line/bot/builder/multiple_message.rb', line 79 def send(attrs = {}) to_mid = attrs.instance_of?(Hash) ? attrs[:to_mid] : attrs @client.(to_mid, self) end |
#valid? ⇒ Boolean
95 96 97 |
# File 'lib/line/bot/builder/multiple_message.rb', line 95 def valid? @messages.size > 0 end |