Class: MessengerClient::ListTemplate

Inherits:
Template
  • Object
show all
Defined in:
lib/messenger_client/list_template.rb

Instance Method Summary collapse

Methods inherited from Template

#to_json

Constructor Details

#initialize(template_items, buttons = []) ⇒ ListTemplate

Returns a new instance of ListTemplate.



3
4
5
6
# File 'lib/messenger_client/list_template.rb', line 3

def initialize(template_items, buttons = [])
  @template_items = template_items
  @buttons = buttons
end

Instance Method Details

#payloadObject



12
13
14
15
16
17
18
19
20
# File 'lib/messenger_client/list_template.rb', line 12

def payload
  data = {
    template_type: type,
    elements: @template_items.map(&:to_json),
  }

  data.merge!(buttons: @buttons.map(&:to_json)) if @buttons.any?
  data
end

#typeObject



8
9
10
# File 'lib/messenger_client/list_template.rb', line 8

def type
  "list"
end