class UI::FBOpenGraphTemplate

OPEN GRAPH TEMPLATE #############################

developers.facebook.com/docs/messenger-platform/send-messages/template/open-graph

Attributes

buttons[R]
url[R]

Public Class Methods

new(url, buttons = []) click to toggle source
# File lib/ui/fb_open_graph_template.rb, line 9
def initialize(url, buttons = [])
  @url = url
  @buttons = buttons

  @template = {
    recipient: {
      id: nil
    },
    message: {
      attachment: {
        type: 'template',
        payload: {
          template_type: 'open_graph',
          elements: elements
        }
      }
    }
  }
end

Private Instance Methods

elements() click to toggle source
# File lib/ui/fb_open_graph_template.rb, line 33
def elements
  res = { url: url }

  buttons_payload = parse_buttons(buttons)
  res[:buttons] = buttons_payload if buttons_payload.any?

  [res]
end