bobot 2.1.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 238ce4063aa11a3df2f3150c8a7a65e23cc0063f
4
- data.tar.gz: ce018a45a1d777752c746c4b7f46e2049fdfa071
3
+ metadata.gz: 89f023af6566ca4d81900335b0565ad7ebe84ed1
4
+ data.tar.gz: 3c5d53f778e48f40eb9dcadf8bc6608558d9455a
5
5
  SHA512:
6
- metadata.gz: 76f2106985520b82654e76d11340e24bcf3c4a25074c87a345f3d543f54384419538fbcc05ed82b33015ee539c4f5dc75736e5eb9f518ae38ef179e9978e0802
7
- data.tar.gz: f793e2ae3e8b5bdb50bcbda3e639c16018e4db52f420bf823dd81b489ce4f208623fe78050f09337a67f53c29d3a465756f676fe3c8a62cfb53192fb26b7b54d
6
+ metadata.gz: 40737224f810069c928286346b4ed71144a5b769195634e1236395bae92d7bed35d5017349ebdbd14a9cc91ad351ad112d3c5975426867f13aa5ba256fd96f1a
7
+ data.tar.gz: 4c144cd6e9a1a82e8d50a2f1af4bdcdb39f7cb7a6f7a9a7170e0d96b9bea2a52e8f7e5bb5f6b638d689cd39783e6ea5bec58e975d78e48716f75bb70ea2b6ae3
@@ -38,7 +38,7 @@ module Bobot
38
38
  return_json = trigger(parsed_body)
39
39
  render plain: ActiveSupport::JSON.encode(return_json), status: :ok
40
40
  rescue BadRequestError => error
41
- render plain: error.message, status: :bad_request
41
+ render plain: error.message, status: :ok
42
42
  end
43
43
 
44
44
  private
@@ -22,13 +22,14 @@ module Bobot
22
22
  end
23
23
 
24
24
  class Page
25
- attr_accessor :slug, :language, :page_id, :page_access_token
25
+ attr_accessor :slug, :language, :page_id, :page_access_token, :get_started_payload
26
26
 
27
27
  def initialize(options = {})
28
28
  self.slug = options[:slug]
29
29
  self.language = options[:language]
30
30
  self.page_id = options[:page_id]
31
31
  self.page_access_token = options[:page_access_token]
32
+ self.get_started_payload = options[:get_started_payload]
32
33
  end
33
34
 
34
35
  def update_facebook_setup!
@@ -67,17 +68,22 @@ module Bobot
67
68
  def set_greeting_text!
68
69
  raise Bobot::InvalidParameter.new(:access_token) unless page_access_token.present?
69
70
  greeting_texts = []
70
- # Default text
71
- greeting_text = I18n.t("bobot.#{slug}.config.greeting_text", locale: I18n.default_locale, default: nil)
72
- greeting_texts << { locale: 'default', text: greeting_text } if greeting_text.present?
73
- # Each languages
74
- I18n.available_locales.each do |locale|
75
- greeting_text = I18n.t("bobot.#{slug}.config.greeting_text", locale: locale, default: nil)
76
- next unless greeting_text.present?
77
- facebook_locales = I18n.t("bobot.#{slug}.config.facebook_locales", locale: locale, default: nil)
78
- facebook_locales.to_a.each do |locale_long|
79
- greeting_texts << { locale: locale_long, text: greeting_text }
71
+ if language.nil?
72
+ # Default text
73
+ greeting_text = I18n.t("bobot.#{slug}.config.greeting_text", locale: I18n.default_locale, default: nil)
74
+ greeting_texts << { locale: 'default', text: greeting_text } if greeting_text.present?
75
+ # Each languages
76
+ I18n.available_locales.each do |locale|
77
+ greeting_text = I18n.t("bobot.#{slug}.config.greeting_text", locale: locale, default: nil)
78
+ next unless greeting_text.present?
79
+ facebook_locales = I18n.t("bobot.#{slug}.config.facebook_locales", locale: locale, default: nil)
80
+ facebook_locales.to_a.each do |locale_long|
81
+ greeting_texts << { locale: locale_long, text: greeting_text }
82
+ end
80
83
  end
84
+ else
85
+ greeting_text = I18n.t("bobot.#{slug}.config.greeting_text", locale: language, default: nil)
86
+ greeting_texts << { locale: 'default', text: greeting_text } if greeting_text.present?
81
87
  end
82
88
  if greeting_texts.present?
83
89
  Bobot::Profile.set(
@@ -127,14 +133,11 @@ module Bobot
127
133
  ## == messaging_postbacks field when setting up your webhook. ==
128
134
  def set_get_started_button!
129
135
  raise Bobot::InvalidParameter.new(:access_token) unless page_access_token.present?
130
- if I18n.exists?("bobot.#{slug}.config.get_started.payload")
131
- Bobot::Profile.set(
132
- body: { get_started: { payload: I18n.t("bobot.#{slug}.config.get_started.payload") } },
133
- query: { access_token: page_access_token },
134
- )
135
- else
136
- unset_get_started_button!
137
- end
136
+ raise Bobot::InvalidParameter.new(:access_token) unless get_started_payload.present?
137
+ Bobot::Profile.set(
138
+ body: { get_started: { payload: get_started_payload } },
139
+ query: { access_token: page_access_token },
140
+ )
138
141
  end
139
142
 
140
143
  def unset_get_started_button!
@@ -152,22 +155,33 @@ module Bobot
152
155
  raise Bobot::InvalidParameter.new(:access_token) unless page_access_token.present?
153
156
  persistent_menus = []
154
157
  # Default text
155
- persistent_menu = I18n.t("bobot.#{slug}.config.persistent_menu", locale: I18n.default_locale, default: nil)
156
- if persistent_menu.present?
157
- persistent_menus << {
158
- locale: 'default',
159
- composer_input_disabled: persistent_menu[:composer_input_disabled],
160
- call_to_actions: persistent_menu[:call_to_actions],
161
- }
162
- end
163
- # Each languages
164
- I18n.available_locales.each do |locale|
165
- persistent_menu = I18n.t("bobot.#{slug}.config.persistent_menu", locale: locale, default: nil)
166
- facebook_locales = I18n.t("bobot.#{slug}.config.facebook_locales", locale: locale, default: nil)
167
- next unless persistent_menu.present?
168
- facebook_locales.to_a.each do |locale_long|
158
+ if language.nil?
159
+ persistent_menu = I18n.t("bobot.#{slug}.config.persistent_menu", locale: I18n.default_locale, default: nil)
160
+ if persistent_menu.present?
161
+ persistent_menus << {
162
+ locale: 'default',
163
+ composer_input_disabled: persistent_menu[:composer_input_disabled],
164
+ call_to_actions: persistent_menu[:call_to_actions],
165
+ }
166
+ end
167
+ # Each languages
168
+ I18n.available_locales.each do |locale|
169
+ persistent_menu = I18n.t("bobot.#{slug}.config.persistent_menu", locale: locale, default: nil)
170
+ facebook_locales = I18n.t("bobot.#{slug}.config.facebook_locales", locale: locale, default: nil)
171
+ next unless persistent_menu.present?
172
+ facebook_locales.to_a.each do |locale_long|
173
+ persistent_menus << {
174
+ locale: locale_long,
175
+ composer_input_disabled: persistent_menu[:composer_input_disabled],
176
+ call_to_actions: persistent_menu[:call_to_actions],
177
+ }
178
+ end
179
+ end
180
+ else
181
+ persistent_menu = I18n.t("bobot.#{slug}.config.persistent_menu", locale: language, default: nil)
182
+ if persistent_menu.present?
169
183
  persistent_menus << {
170
- locale: locale_long,
184
+ locale: 'default',
171
185
  composer_input_disabled: persistent_menu[:composer_input_disabled],
172
186
  call_to_actions: persistent_menu[:call_to_actions],
173
187
  }
data/lib/bobot/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Bobot
2
2
  class Version
3
3
  MAJOR = 2
4
- MINOR = 1
4
+ MINOR = 3
5
5
  PATCH = 0
6
6
  PRE = nil
7
7
 
@@ -10,6 +10,7 @@ development:
10
10
  language: "fr"
11
11
  page_id: "789"
12
12
  page_access_token: "abc"
13
+ get_started_payload: "get_started"
13
14
 
14
15
  test:
15
16
  app_id: "123"
@@ -22,6 +23,7 @@ test:
22
23
  - slug: "facebook_1"
23
24
  page_id: "789"
24
25
  page_access_token: "abc"
26
+ get_started_payload: "get_started"
25
27
 
26
28
  staging:
27
29
  app_id: <%= ENV["STAGING_BOBOT_APP_ID"] %>
@@ -34,6 +36,7 @@ staging:
34
36
  - slug: <%= ENV["STAGING_BOBOT_PAGE_SLUG"] %>
35
37
  page_id: <%= ENV["STAGING_BOBOT_PAGE_ID"] %>
36
38
  page_access_token: <%= ENV["STAGING_BOBOT_PAGE_ACCESS_TOKEN"] %>
39
+ get_started_payload: <%= ENV["STAGING_BOBOT_GET_STARTED_PAYLOAD"] %>
37
40
 
38
41
  production:
39
42
  app_id: <%= ENV["PRODUCTION_BOBOT_APP_ID"] %>
@@ -46,3 +49,4 @@ production:
46
49
  - slug: <%= ENV["PRODUCTION_BOBOT_PAGE_SLUG"] %>
47
50
  page_id: <%= ENV["PRODUCTION_BOBOT_PAGE_ID"] %>
48
51
  page_access_token: <%= ENV["PRODUCTION_BOBOT_PAGE_ACCESS_TOKEN"] %>
52
+ get_started_payload: <%= ENV["PRODUCTION_BOBOT_GET_STARTED_PAYLOAD"] %>
@@ -7,8 +7,6 @@ en:
7
7
  - "en_UD"
8
8
  - "en_GB"
9
9
  greeting_text: "Bobot is an intelligent robot."
10
- get_started:
11
- payload: 'get_started'
12
10
  persistent_menu:
13
11
  composer_input_disabled: false
14
12
  call_to_actions:
@@ -6,8 +6,6 @@ fr:
6
6
  - "fr_FR"
7
7
  - "fr_CA"
8
8
  greeting_text: 'Bobot est un robot intelligent.'
9
- get_started:
10
- payload: 'get_started'
11
9
  persistent_menu:
12
10
  composer_input_disabled: false
13
11
  call_to_actions:
@@ -14,6 +14,7 @@ RSpec.describe Bobot do
14
14
  language: 'language',
15
15
  page_access_token: 'page_access_token',
16
16
  page_id: 'page_id',
17
+ get_started_payload: 'get_started_payload',
17
18
  )
18
19
  end
19
20
  expect(Bobot.config.app_id).to eql('app_id')
@@ -25,6 +26,7 @@ RSpec.describe Bobot do
25
26
  expect(Bobot.config.pages[0].language).to eql('language')
26
27
  expect(Bobot.config.pages[0].page_access_token).to eql('page_access_token')
27
28
  expect(Bobot.config.pages[0].page_id).to eql('page_id')
29
+ expect(Bobot.config.pages[0].get_started_payload).to eql('get_started_payload')
28
30
  end
29
31
  end
30
32
  end
@@ -1,2 +1,4 @@
1
1
  [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 8a80c687-421f-4bd4-8bba-a022b265e12f) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
2
2
  [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: e295aa69-c9c8-4900-8409-e43a19b6a500) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
3
+ [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 733fbfda-cfcb-4da4-8a4d-5dcd99bf7ad0) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
4
+ [ActiveJob] Enqueued Bobot::CommanderJob (Job ID: abbfb628-82bd-4d48-a102-8720e8fbed91) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
@@ -10,6 +10,7 @@ development:
10
10
  language: "fr"
11
11
  page_id: "789"
12
12
  page_access_token: "abc"
13
+ get_started_payload: "get_started"
13
14
 
14
15
  test:
15
16
  app_id: "123"
@@ -22,6 +23,7 @@ test:
22
23
  - slug: "facebook_1"
23
24
  page_id: "789"
24
25
  page_access_token: "abc"
26
+ get_started_payload: "get_started"
25
27
 
26
28
  staging:
27
29
  app_id: <%= ENV["STAGING_BOBOT_APP_ID"] %>
@@ -34,6 +36,7 @@ staging:
34
36
  - slug: <%= ENV["STAGING_BOBOT_PAGE_SLUG"] %>
35
37
  page_id: <%= ENV["STAGING_BOBOT_PAGE_ID"] %>
36
38
  page_access_token: <%= ENV["STAGING_BOBOT_PAGE_ACCESS_TOKEN"] %>
39
+ get_started_payload: <%= ENV["STAGING_BOBOT_GET_STARTED_PAYLOAD"] %>
37
40
 
38
41
  production:
39
42
  app_id: <%= ENV["PRODUCTION_BOBOT_APP_ID"] %>
@@ -46,3 +49,4 @@ production:
46
49
  - slug: <%= ENV["PRODUCTION_BOBOT_PAGE_SLUG"] %>
47
50
  page_id: <%= ENV["PRODUCTION_BOBOT_PAGE_ID"] %>
48
51
  page_access_token: <%= ENV["PRODUCTION_BOBOT_PAGE_ACCESS_TOKEN"] %>
52
+ get_started_payload: <%= ENV["PRODUCTION_BOBOT_GET_STARTED_PAYLOAD"] %>
@@ -7,8 +7,6 @@ en:
7
7
  - "en_UD"
8
8
  - "en_GB"
9
9
  greeting_text: "Bobot is an intelligent robot."
10
- get_started:
11
- payload: 'get_started'
12
10
  persistent_menu:
13
11
  composer_input_disabled: false
14
12
  call_to_actions:
@@ -6,8 +6,6 @@ fr:
6
6
  - "fr_FR"
7
7
  - "fr_CA"
8
8
  greeting_text: 'Bobot est un robot intelligent.'
9
- get_started:
10
- payload: 'get_started'
11
9
  persistent_menu:
12
10
  composer_input_disabled: false
13
11
  call_to_actions:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bobot
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Navid EMAD