Sha256: 7c2b3a298ad677ed9e6c95fc1695eee5093c2d9e918e4b393df005dcbeafffcb
Contents?: true
Size: 1012 Bytes
Versions: 7
Compression:
Stored size: 1012 Bytes
Contents
module MessengerClient class GenericTemplate def initialize(title, subtitle = nil, image_url = nil, default_url = nil, buttons = []) @title = title @subtitle = subtitle @image_url = image_url @default_url = default_url @buttons = buttons end def to_json payload = { template_type: "generic", title: @title, } payload.merge!(subtitle: @subtitle) unless @subtitle.nil? payload.merge!(image_url: @image_url) unless @image_url.nil? payload.merge!(default_action: parse_default_action(@default_url)) unless @default_url.nil? payload.merge!(buttons: parse_buttons(@buttons)) unless @buttons.empty? { attachment: { type: "template", payload: payload } } end private def parse_default_action(url) { type: "web_url", url: url, } end def parse_buttons(buttons) buttons.map(&:to_json) end end end
Version data entries
7 entries across 7 versions & 1 rubygems