bobot 4.2.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/bobot/buttons.rb +8 -21
- data/lib/bobot/graph_facebook.rb +13 -7
- data/lib/bobot/page.rb +1 -1
- data/lib/bobot/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '05997a394695a17e1556d394d5d69b3ed289685e'
|
4
|
+
data.tar.gz: aaf7e1d426dc7d62d2525088293a07163cc9b8ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3465a834b5f9169b5651f93045a07e6215b9fce540cd0d26c4549d38472853f109bc7bdf03b010bc5a299ee3e9527f51551882708e687e74e87760ff865bf039
|
7
|
+
data.tar.gz: 7ace1d8e14922d580b56f5bf68528a1d73224d2886b689fb6a4c7eacc6e056f82f129ea1d6ca06257d61e233399c58e56612d8ffd3ec337b353da1efb6acc984
|
data/lib/bobot/buttons.rb
CHANGED
@@ -24,7 +24,7 @@ module Bobot
|
|
24
24
|
}
|
25
25
|
end
|
26
26
|
|
27
|
-
def self.generic_element(title:, subtitle: nil, image_url: nil,
|
27
|
+
def self.generic_element(title:, subtitle: nil, image_url: nil, default_action: nil, buttons: nil)
|
28
28
|
raise Bobot::FieldFormat.new('title is required') unless title.present?
|
29
29
|
raise Bobot::FieldFormat.new('title size is limited to 80', "#{title} (#{title.size} chars)") if title.size > 80
|
30
30
|
raise Bobot::FieldFormat.new('subtitle size is limited to 80', "#{subtitle} (#{subtitle.size} chars)") if subtitle.present? && subtitle.size > 80
|
@@ -34,11 +34,11 @@ module Bobot
|
|
34
34
|
}.tap do |properties|
|
35
35
|
properties[:image_url] = image_url if image_url.present?
|
36
36
|
properties[:subtitle] = subtitle if subtitle.present?
|
37
|
-
properties[:
|
37
|
+
properties[:default_action] = default_action if default_action.present?
|
38
38
|
properties[:buttons] = buttons if buttons.present?
|
39
39
|
end
|
40
40
|
end
|
41
|
-
class <<self
|
41
|
+
class << self
|
42
42
|
alias_method :carousel_element, :generic_element
|
43
43
|
end
|
44
44
|
|
@@ -72,10 +72,6 @@ module Bobot
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def self.share_custom(title:, subtitle:, image_url:, web_url:, button_title:, image_aspect_ratio: "square")
|
75
|
-
raise Bobot::FieldFormat.new('title is required') unless title.present?
|
76
|
-
raise Bobot::FieldFormat.new('title size is limited to 80', "#{title} (#{title.size} chars)") if title.size > 80
|
77
|
-
raise Bobot::FieldFormat.new('subtitle is required') unless subtitle.present?
|
78
|
-
raise Bobot::FieldFormat.new('subtitle size is limited to 80', "#{subtitle} (#{subtitle.size} chars)") if subtitle.size > 80
|
79
75
|
raise Bobot::FieldFormat.new('button_title is required') unless button_title.present?
|
80
76
|
raise Bobot::FieldFormat.new('button_title size is limited to 20', "#{button_title} (#{button_title.size} chars)") if button_title.size > 20
|
81
77
|
{
|
@@ -87,22 +83,13 @@ module Bobot
|
|
87
83
|
template_type: 'generic',
|
88
84
|
image_aspect_ratio: image_aspect_ratio,
|
89
85
|
elements: [
|
90
|
-
|
86
|
+
self.generic_element(
|
91
87
|
title: title,
|
92
88
|
subtitle: subtitle,
|
93
89
|
image_url: image_url,
|
94
|
-
default_action:
|
95
|
-
|
96
|
-
|
97
|
-
},
|
98
|
-
buttons: [
|
99
|
-
{
|
100
|
-
type: 'web_url',
|
101
|
-
url: web_url,
|
102
|
-
title: button_title,
|
103
|
-
},
|
104
|
-
],
|
105
|
-
},
|
90
|
+
default_action: self.default_action(url: web_url),
|
91
|
+
buttons: [ self.url(title: button_title, url: web_url) ]
|
92
|
+
)
|
106
93
|
],
|
107
94
|
},
|
108
95
|
},
|
@@ -110,7 +97,7 @@ module Bobot
|
|
110
97
|
}
|
111
98
|
end
|
112
99
|
|
113
|
-
def self.
|
100
|
+
def self.default_action(url:, options: {})
|
114
101
|
raise Bobot::FieldFormat.new('url is required') unless url.present?
|
115
102
|
if options.key?(:messenger_extensions) && options[:messenger_extensions] && !url.include?('https')
|
116
103
|
raise Bobot::FieldFormat.new('must use url HTTPS protocol if messenger_extensions is true.', url)
|
data/lib/bobot/graph_facebook.rb
CHANGED
@@ -3,7 +3,7 @@ require "uri"
|
|
3
3
|
|
4
4
|
module Bobot
|
5
5
|
module GraphFacebook
|
6
|
-
GRAPH_FB_URL = 'https://graph.facebook.com/
|
6
|
+
GRAPH_FB_URL = 'https://graph.facebook.com/v3.1'.freeze
|
7
7
|
GRAPH_HEADERS = { Accept: "application/json", "Content-Type" => "application/json; charset=utf-8" }.freeze
|
8
8
|
|
9
9
|
module ClassMethods
|
@@ -16,8 +16,10 @@ module Bobot
|
|
16
16
|
ssl_verifypeer: false,
|
17
17
|
)
|
18
18
|
json = ActiveSupport::JSON.decode(response.send(:body) || '{}')
|
19
|
-
Rails.
|
20
|
-
|
19
|
+
unless Rails.env.production?
|
20
|
+
Rails.logger.debug "[GET] >> #{url}"
|
21
|
+
Rails.logger.debug "[GET] << #{json}"
|
22
|
+
end
|
21
23
|
Bobot::ErrorParser.raise_errors_from(json)
|
22
24
|
json
|
23
25
|
end
|
@@ -33,8 +35,10 @@ module Bobot
|
|
33
35
|
ssl_verifypeer: false,
|
34
36
|
)
|
35
37
|
json = ActiveSupport::JSON.decode(response.send(:body) || '{}')
|
36
|
-
Rails.
|
37
|
-
|
38
|
+
unless Rails.env.production?
|
39
|
+
Rails.logger.debug "[POST] >> #{url}"
|
40
|
+
Rails.logger.debug "[POST] << #{json}"
|
41
|
+
end
|
38
42
|
Bobot::ErrorParser.raise_errors_from(json)
|
39
43
|
json
|
40
44
|
end
|
@@ -50,8 +54,10 @@ module Bobot
|
|
50
54
|
ssl_verifypeer: false,
|
51
55
|
)
|
52
56
|
json = ActiveSupport::JSON.decode(response.send(:body) || '{}')
|
53
|
-
Rails.
|
54
|
-
|
57
|
+
unless Rails.env.production?
|
58
|
+
Rails.logger.debug "[DELETE] >> #{url}"
|
59
|
+
Rails.logger.debug "[DELETE] << #{json}"
|
60
|
+
end
|
55
61
|
Bobot::ErrorParser.raise_errors_from(json)
|
56
62
|
json
|
57
63
|
end
|
data/lib/bobot/page.rb
CHANGED
@@ -314,7 +314,7 @@ module Bobot
|
|
314
314
|
def set_greeting_text!
|
315
315
|
raise Bobot::FieldFormat.new("access_token is required") unless page_access_token.present?
|
316
316
|
greeting_texts = []
|
317
|
-
if language.nil?
|
317
|
+
if self.language.nil?
|
318
318
|
# Default text
|
319
319
|
greeting_text = I18n.t("bobot.#{slug}.config.greeting_text", locale: I18n.default_locale, default: nil)
|
320
320
|
greeting_texts << { locale: 'default', text: greeting_text } if greeting_text.present?
|
data/lib/bobot/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bobot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Navid EMAD
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|