bobot 2.6.2 → 3.0.1
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/README.md +139 -63
- data/app/controllers/bobot/application_controller.rb +0 -1
- data/app/controllers/bobot/webhook_controller.rb +2 -16
- data/app/jobs/bobot/deliver_job.rb +2 -2
- data/lib/bobot.rb +1 -0
- data/lib/bobot/commander.rb +5 -5
- data/lib/bobot/configuration.rb +5 -192
- data/lib/bobot/events/common.rb +16 -105
- data/lib/bobot/events/message_echo.rb +1 -1
- data/lib/bobot/graph_facebook.rb +6 -12
- data/lib/bobot/page.rb +331 -0
- data/lib/bobot/version.rb +3 -3
- data/lib/generators/bobot/install_generator.rb +1 -3
- data/lib/generators/bobot/templates/config/initializers/bobot.rb +4 -5
- data/lib/generators/bobot/templates/config/locales/bobot.en.yml +8 -8
- data/lib/generators/bobot/templates/config/locales/bobot.fr.yml +8 -8
- data/lib/generators/bobot/uninstall_generator.rb +0 -1
- data/spec/bobot/bobot_spec.rb +3 -3
- data/spec/bobot/event/common_spec.rb +28 -16
- data/spec/bobot/page_spec.rb +61 -0
- data/spec/bobot/profile_spec.rb +1 -1
- data/spec/bobot/subscription_spec.rb +1 -1
- data/spec/bobot/user_spec.rb +1 -1
- data/spec/dummy/log/development.log +45 -0
- data/spec/dummy/log/test.log +24 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/tmp/generator/config/initializers/bobot.rb +8 -8
- metadata +7 -7
- data/lib/generators/bobot/templates/config/bobot.yml +0 -52
- data/spec/dummy/tmp/generator/config/bobot.yml +0 -52
- data/spec/travis/database.travis.mysql.yml +0 -19
data/lib/bobot/version.rb
CHANGED
@@ -13,13 +13,11 @@ module Bobot
|
|
13
13
|
desc 'Bobot install'
|
14
14
|
|
15
15
|
def install
|
16
|
+
remove_file 'config/initializers/bobot.rb'
|
16
17
|
namespace = ask_for('Where do you want to mount bobot?', 'bot', _namespace)
|
17
|
-
create_file 'config/routes.rb'
|
18
|
-
gsub_file 'config/routes.rb', %r{mount Bobot::Engine => \'\/.+\'(, as: \'bot\')?}, ''
|
19
18
|
route("mount Bobot::Engine => '/#{namespace}', as: 'bot'")
|
20
19
|
template 'config/initializers/bobot.rb', 'config/initializers/bobot.rb'
|
21
20
|
template 'app/bobot/workflow.rb', 'app/bobot/workflow.rb'
|
22
|
-
copy_file 'config/bobot.yml', 'config/bobot.yml'
|
23
21
|
copy_file 'config/locales/bobot.en.yml', 'config/locales/bobot.en.yml'
|
24
22
|
copy_file 'config/locales/bobot.fr.yml', 'config/locales/bobot.fr.yml'
|
25
23
|
display 'Installation done', :green
|
@@ -1,5 +1,5 @@
|
|
1
|
-
bobot_config_path = Rails.root.join("config", "
|
2
|
-
bobot_config = YAML.safe_load(ERB.new(File.read(bobot_config_path)).result, [], [], true)[Rails.env]
|
1
|
+
bobot_config_path = Rails.root.join("config", "secrets.yml")
|
2
|
+
bobot_config = YAML.safe_load(ERB.new(File.read(bobot_config_path)).result, [], [], true)[Rails.env]["bobot"]
|
3
3
|
|
4
4
|
if bobot_config.present?
|
5
5
|
unless bobot_config.key?("pages")
|
@@ -10,14 +10,13 @@ if bobot_config.present?
|
|
10
10
|
config.app_secret = bobot_config["app_secret"],
|
11
11
|
config.verify_token = bobot_config["verify_token"],
|
12
12
|
config.domains = bobot_config["domains"],
|
13
|
-
config.debug_log = bobot_config["debug_log"],
|
14
13
|
config.async = bobot_config["async"],
|
15
14
|
bobot_config["pages"].each do |page|
|
16
|
-
config.pages << Bobot::
|
15
|
+
config.pages << Bobot::Page.new(
|
17
16
|
slug: page["slug"],
|
18
17
|
language: page["language"],
|
19
|
-
page_access_token: page["page_access_token"],
|
20
18
|
page_id: page["page_id"],
|
19
|
+
page_access_token: page["page_access_token"],
|
21
20
|
get_started_payload: page["get_started_payload"],
|
22
21
|
)
|
23
22
|
end
|
@@ -10,17 +10,17 @@ en:
|
|
10
10
|
persistent_menu:
|
11
11
|
composer_input_disabled: false
|
12
12
|
call_to_actions:
|
13
|
-
-
|
14
|
-
|
13
|
+
- type: "nested"
|
14
|
+
title: "My Account"
|
15
15
|
call_to_actions:
|
16
|
-
-
|
17
|
-
|
16
|
+
- type: "postback"
|
17
|
+
title: "What is a chatbot?"
|
18
18
|
payload: "WHAT_IS_A_CHATBOT"
|
19
|
-
-
|
20
|
-
|
19
|
+
- type: "postback"
|
20
|
+
title: "History"
|
21
21
|
payload: "HISTORY_PAYLOAD"
|
22
|
-
-
|
23
|
-
|
22
|
+
- type: "postback"
|
23
|
+
title: "Contact Info"
|
24
24
|
payload: "CONTACT_INFO_PAYLOAD"
|
25
25
|
- type: "web_url"
|
26
26
|
title: "Get some help"
|
@@ -9,17 +9,17 @@ fr:
|
|
9
9
|
persistent_menu:
|
10
10
|
composer_input_disabled: false
|
11
11
|
call_to_actions:
|
12
|
-
-
|
13
|
-
|
12
|
+
- type: "nested"
|
13
|
+
title: "Mon compte"
|
14
14
|
call_to_actions:
|
15
|
-
-
|
16
|
-
|
15
|
+
- type: "postback"
|
16
|
+
title: "C'est quoi un chatbot ?"
|
17
17
|
payload: "WHAT_IS_A_CHATBOT"
|
18
|
-
-
|
19
|
-
|
18
|
+
- type: "postback"
|
19
|
+
title: "Historique"
|
20
20
|
payload: "HISTORY_PAYLOAD"
|
21
|
-
-
|
22
|
-
|
21
|
+
- type: "postback"
|
22
|
+
title: "Contact Info"
|
23
23
|
payload: "CONTACT_INFO_PAYLOAD"
|
24
24
|
- type: "web_url"
|
25
25
|
title: "Obtenir de l'aide"
|
@@ -15,7 +15,6 @@ module Bobot
|
|
15
15
|
gsub_file 'config/routes.rb', %r{mount Bobot::Engine => \'\/.+\'(, as: \'bot\')?}, ''
|
16
16
|
remove_file 'config/initializers/bobot.rb'
|
17
17
|
remove_file 'app/bobot/workflow.rb'
|
18
|
-
remove_file 'config/bobot.yml'
|
19
18
|
remove_file 'config/locales/bobot.en.yml'
|
20
19
|
remove_file 'config/locales/bobot.fr.yml'
|
21
20
|
display 'Done! Bobot has been uninstalled.'
|
data/spec/bobot/bobot_spec.rb
CHANGED
@@ -7,9 +7,9 @@ RSpec.describe Bobot do
|
|
7
7
|
config.app_id = 'app_id'
|
8
8
|
config.app_secret = 'app_secret'
|
9
9
|
config.verify_token = 'verify_token'
|
10
|
-
config.
|
10
|
+
config.domains = " test.ltd, domain.ltd "
|
11
11
|
config.async = true
|
12
|
-
config.pages << Bobot::
|
12
|
+
config.pages << Bobot::Page.new(
|
13
13
|
slug: 'slug',
|
14
14
|
language: 'language',
|
15
15
|
page_access_token: 'page_access_token',
|
@@ -20,7 +20,7 @@ RSpec.describe Bobot do
|
|
20
20
|
expect(Bobot.config.app_id).to eql('app_id')
|
21
21
|
expect(Bobot.config.app_secret).to eql('app_secret')
|
22
22
|
expect(Bobot.config.verify_token).to eql('verify_token')
|
23
|
-
expect(Bobot.config.
|
23
|
+
expect(Bobot.config.domains).to eql(["test.ltd", "domain.ltd"])
|
24
24
|
expect(Bobot.config.async).to eql(true)
|
25
25
|
expect(Bobot.config.pages[0].slug).to eql('slug')
|
26
26
|
expect(Bobot.config.pages[0].language).to eql('language')
|
@@ -37,7 +37,8 @@ RSpec.describe Bobot::Dummy do
|
|
37
37
|
let(:access_token) { 'access_token' }
|
38
38
|
|
39
39
|
before do
|
40
|
-
Bobot.config.pages << Bobot::
|
40
|
+
Bobot.config.pages << Bobot::Page.new(
|
41
|
+
page_id: payload["recipient"]["id"],
|
41
42
|
page_access_token: access_token,
|
42
43
|
)
|
43
44
|
end
|
@@ -64,14 +65,16 @@ RSpec.describe Bobot::Dummy do
|
|
64
65
|
|
65
66
|
describe '.show_typing' do
|
66
67
|
it 'sends a typing on indicator to the sender' do
|
67
|
-
expect(subject).to receive(:deliver).with(
|
68
|
-
payload_template: { sender_action: 'typing_on' }
|
68
|
+
expect(subject.page).to receive(:deliver).with(
|
69
|
+
payload_template: { sender_action: 'typing_on' },
|
70
|
+
to: payload['recipient']['id'],
|
69
71
|
)
|
70
72
|
subject.show_typing(state: true)
|
71
73
|
end
|
72
74
|
it 'sends a typing on indicator to the sender' do
|
73
|
-
expect(subject).to receive(:deliver).with(
|
74
|
-
payload_template: { sender_action: 'typing_off' }
|
75
|
+
expect(subject.page).to receive(:deliver).with(
|
76
|
+
payload_template: { sender_action: 'typing_off' },
|
77
|
+
to: payload['recipient']['id'],
|
75
78
|
)
|
76
79
|
subject.show_typing(state: false)
|
77
80
|
end
|
@@ -79,8 +82,9 @@ RSpec.describe Bobot::Dummy do
|
|
79
82
|
|
80
83
|
describe '.mark_as_seen' do
|
81
84
|
it 'sends a typing off indicator to the sender' do
|
82
|
-
expect(subject).to receive(:deliver).with(
|
83
|
-
payload_template: { sender_action: 'mark_seen' }
|
85
|
+
expect(subject.page).to receive(:deliver).with(
|
86
|
+
payload_template: { sender_action: 'mark_seen' },
|
87
|
+
to: payload['recipient']['id'],
|
84
88
|
)
|
85
89
|
subject.mark_as_seen
|
86
90
|
end
|
@@ -88,8 +92,9 @@ RSpec.describe Bobot::Dummy do
|
|
88
92
|
|
89
93
|
describe '.reply_with_text' do
|
90
94
|
it 'replies to the sender' do
|
91
|
-
expect(subject).to receive(:deliver).with(
|
92
|
-
payload_template: { message: { text: 'Hello, human' } }
|
95
|
+
expect(subject.page).to receive(:deliver).with(
|
96
|
+
payload_template: { message: { text: 'Hello, human' } },
|
97
|
+
to: payload['recipient']['id'],
|
93
98
|
)
|
94
99
|
subject.reply_with_text(text: 'Hello, human')
|
95
100
|
end
|
@@ -97,7 +102,7 @@ RSpec.describe Bobot::Dummy do
|
|
97
102
|
|
98
103
|
describe '.reply_with_image' do
|
99
104
|
it 'replies to the sender' do
|
100
|
-
expect(subject).to receive(:deliver).with(
|
105
|
+
expect(subject.page).to receive(:deliver).with(
|
101
106
|
payload_template: {
|
102
107
|
message: {
|
103
108
|
attachment: {
|
@@ -109,6 +114,7 @@ RSpec.describe Bobot::Dummy do
|
|
109
114
|
},
|
110
115
|
},
|
111
116
|
},
|
117
|
+
to: payload['recipient']['id'],
|
112
118
|
)
|
113
119
|
subject.reply_with_image(url: 'https://www.foo.bar/image.jpg')
|
114
120
|
end
|
@@ -116,7 +122,7 @@ RSpec.describe Bobot::Dummy do
|
|
116
122
|
|
117
123
|
describe '.reply_with_audio' do
|
118
124
|
it 'replies to the sender' do
|
119
|
-
expect(subject).to receive(:deliver).with(
|
125
|
+
expect(subject.page).to receive(:deliver).with(
|
120
126
|
payload_template: {
|
121
127
|
message: {
|
122
128
|
attachment: {
|
@@ -127,6 +133,7 @@ RSpec.describe Bobot::Dummy do
|
|
127
133
|
},
|
128
134
|
},
|
129
135
|
},
|
136
|
+
to: payload['recipient']['id'],
|
130
137
|
)
|
131
138
|
subject.reply_with_audio(url: 'https://www.foo.bar/audio.mp3')
|
132
139
|
end
|
@@ -134,7 +141,7 @@ RSpec.describe Bobot::Dummy do
|
|
134
141
|
|
135
142
|
describe '.reply_with_video' do
|
136
143
|
it 'replies to the sender' do
|
137
|
-
expect(subject).to receive(:deliver).with(
|
144
|
+
expect(subject.page).to receive(:deliver).with(
|
138
145
|
payload_template: {
|
139
146
|
message: {
|
140
147
|
attachment: {
|
@@ -145,6 +152,7 @@ RSpec.describe Bobot::Dummy do
|
|
145
152
|
},
|
146
153
|
},
|
147
154
|
},
|
155
|
+
to: payload['recipient']['id'],
|
148
156
|
)
|
149
157
|
subject.reply_with_video(url: 'https://www.foo.bar/video.mp4')
|
150
158
|
end
|
@@ -152,7 +160,7 @@ RSpec.describe Bobot::Dummy do
|
|
152
160
|
|
153
161
|
describe '.reply_with_file' do
|
154
162
|
it 'replies to the sender' do
|
155
|
-
expect(subject).to receive(:deliver).with(
|
163
|
+
expect(subject.page).to receive(:deliver).with(
|
156
164
|
payload_template: {
|
157
165
|
message: {
|
158
166
|
attachment: {
|
@@ -163,6 +171,7 @@ RSpec.describe Bobot::Dummy do
|
|
163
171
|
},
|
164
172
|
},
|
165
173
|
},
|
174
|
+
to: payload['recipient']['id'],
|
166
175
|
)
|
167
176
|
subject.reply_with_file(url: 'https://www.foo.bar/file.zip')
|
168
177
|
end
|
@@ -170,7 +179,7 @@ RSpec.describe Bobot::Dummy do
|
|
170
179
|
|
171
180
|
describe '.reply_with_quick_replies' do
|
172
181
|
it 'replies to the sender' do
|
173
|
-
expect(subject).to receive(:deliver).with(
|
182
|
+
expect(subject.page).to receive(:deliver).with(
|
174
183
|
payload_template: {
|
175
184
|
message: {
|
176
185
|
text: 'Pick a color:',
|
@@ -189,6 +198,7 @@ RSpec.describe Bobot::Dummy do
|
|
189
198
|
]
|
190
199
|
},
|
191
200
|
},
|
201
|
+
to: payload['recipient']['id'],
|
192
202
|
)
|
193
203
|
subject.reply_with_quick_replies(
|
194
204
|
text: 'Pick a color:',
|
@@ -208,7 +218,7 @@ RSpec.describe Bobot::Dummy do
|
|
208
218
|
)
|
209
219
|
end
|
210
220
|
it 'asks the location to the sender' do
|
211
|
-
expect(subject).to receive(:deliver).with(
|
221
|
+
expect(subject.page).to receive(:deliver).with(
|
212
222
|
payload_template: {
|
213
223
|
message: {
|
214
224
|
text: 'Where are you',
|
@@ -220,6 +230,7 @@ RSpec.describe Bobot::Dummy do
|
|
220
230
|
]
|
221
231
|
},
|
222
232
|
},
|
233
|
+
to: payload['recipient']['id'],
|
223
234
|
)
|
224
235
|
subject.reply_with_quick_replies(
|
225
236
|
text: 'Where are you',
|
@@ -232,7 +243,7 @@ RSpec.describe Bobot::Dummy do
|
|
232
243
|
|
233
244
|
describe '.reply_with_buttons' do
|
234
245
|
it 'replies to the sender' do
|
235
|
-
expect(subject).to receive(:deliver).with(
|
246
|
+
expect(subject.page).to receive(:deliver).with(
|
236
247
|
payload_template: {
|
237
248
|
message: {
|
238
249
|
attachment: {
|
@@ -248,6 +259,7 @@ RSpec.describe Bobot::Dummy do
|
|
248
259
|
}
|
249
260
|
},
|
250
261
|
},
|
262
|
+
to: payload['recipient']['id'],
|
251
263
|
)
|
252
264
|
subject.reply_with_buttons(
|
253
265
|
text: 'Human, do you like me?',
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe Bobot::Page do
|
4
|
+
before do
|
5
|
+
Bobot.configure do |config|
|
6
|
+
config.pages << Bobot::Page.new(
|
7
|
+
slug: 'slug_1',
|
8
|
+
language: 'language',
|
9
|
+
page_access_token: 'page_access_token',
|
10
|
+
page_id: '123',
|
11
|
+
get_started_payload: 'get_started_payload',
|
12
|
+
)
|
13
|
+
config.pages << Bobot::Page.new(
|
14
|
+
slug: 'slug_2',
|
15
|
+
language: 'language',
|
16
|
+
page_access_token: 'page_access_token',
|
17
|
+
page_id: '456',
|
18
|
+
get_started_payload: 'get_started_payload',
|
19
|
+
)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#find' do
|
24
|
+
it 'find page in the config' do
|
25
|
+
expect(Bobot::Page.find("123").page_id).to eq("123")
|
26
|
+
expect(Bobot::Page.find(123).page_id).to eq("123")
|
27
|
+
expect(Bobot::Page.find("456").page_id).to eq("456")
|
28
|
+
expect(Bobot::Page.find(456).page_id).to eq("456")
|
29
|
+
end
|
30
|
+
it 'not find page in the config' do
|
31
|
+
expect(Bobot::Page.find("1664")).to eq(nil)
|
32
|
+
expect(Bobot::Page.find(1664)).to eq(nil)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe '#find_by_slug' do
|
37
|
+
it 'find page in the config' do
|
38
|
+
expect(Bobot::Page.find_by_slug("slug_1").slug).to eq("slug_1")
|
39
|
+
expect(Bobot::Page.find_by_slug("slug_2").slug).to eq("slug_2")
|
40
|
+
end
|
41
|
+
it 'not find page in the config' do
|
42
|
+
expect(Bobot::Page.find_by_slug("slug_unknown")).to eq(nil)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe '#[]' do
|
47
|
+
it 'find page in the config' do
|
48
|
+
expect(Bobot::Page["123"].page_id).to eq("123")
|
49
|
+
expect(Bobot::Page[123].page_id).to eq("123")
|
50
|
+
expect(Bobot::Page["456"].page_id).to eq("456")
|
51
|
+
expect(Bobot::Page[456].page_id).to eq("456")
|
52
|
+
expect(Bobot::Page["slug_1"].slug).to eq("slug_1")
|
53
|
+
expect(Bobot::Page["slug_2"].slug).to eq("slug_2")
|
54
|
+
end
|
55
|
+
it 'not find page in the config' do
|
56
|
+
expect(Bobot::Page["1664"]).to eq(nil)
|
57
|
+
expect(Bobot::Page[1664]).to eq(nil)
|
58
|
+
expect(Bobot::Page["slug_unknown"]).to eq(nil)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
data/spec/bobot/profile_spec.rb
CHANGED
data/spec/bobot/user_spec.rb
CHANGED
@@ -0,0 +1,45 @@
|
|
1
|
+
Started GET "/" for 127.0.0.1 at 2017-11-24 11:59:04 +0100
|
2
|
+
Processing by Rails::WelcomeController#index as HTML
|
3
|
+
Rendering /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb
|
4
|
+
Rendered /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb (4.7ms)
|
5
|
+
Completed 200 OK in 15ms (Views: 12.0ms)
|
6
|
+
|
7
|
+
|
8
|
+
Started GET "/favicon.ico" for 127.0.0.1 at 2017-11-24 11:59:04 +0100
|
9
|
+
|
10
|
+
ActionController::RoutingError (No route matches [GET] "/favicon.ico"):
|
11
|
+
|
12
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call'
|
13
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
|
14
|
+
railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
|
15
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
|
16
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
|
17
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
|
18
|
+
activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
|
19
|
+
railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
|
20
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
|
21
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
|
22
|
+
rack (2.0.3) lib/rack/runtime.rb:22:in `call'
|
23
|
+
activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
|
24
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
|
25
|
+
actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
|
26
|
+
rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
|
27
|
+
railties (5.1.4) lib/rails/engine.rb:522:in `call'
|
28
|
+
rack (2.0.3) lib/rack/handler/webrick.rb:86:in `service'
|
29
|
+
/Users/navid/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service'
|
30
|
+
/Users/navid/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run'
|
31
|
+
/Users/navid/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread'
|
32
|
+
Started GET "/" for 127.0.0.1 at 2017-11-24 12:00:32 +0100
|
33
|
+
Processing by Rails::WelcomeController#index as HTML
|
34
|
+
Rendering /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb
|
35
|
+
Rendered /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb (4.7ms)
|
36
|
+
Completed 200 OK in 13ms (Views: 10.1ms)
|
37
|
+
|
38
|
+
|
39
|
+
Started GET "/" for 127.0.0.1 at 2017-11-24 12:00:33 +0100
|
40
|
+
Processing by Rails::WelcomeController#index as HTML
|
41
|
+
Rendering /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb
|
42
|
+
Rendered /Users/navid/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-5.1.4/lib/rails/templates/rails/welcome/index.html.erb (3.5ms)
|
43
|
+
Completed 200 OK in 8ms (Views: 5.7ms)
|
44
|
+
|
45
|
+
|
data/spec/dummy/log/test.log
CHANGED
@@ -2,3 +2,27 @@
|
|
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
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
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!"}}
|
5
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 7e146540-8a7e-4822-8d43-ac07d533e5a9) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
6
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: bb8a0a3f-490a-4427-be91-0c005255d863) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
7
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: e6ad52a0-39eb-47cc-9fad-3177e6f08833) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
8
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 45596508-c8d8-4181-97c7-b8466c788043) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
9
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: f47b59b3-4367-4166-b743-2aa15a158ec1) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
10
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 1bb7fe50-e654-4b7c-aeaa-f4065e9a2cd7) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
11
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: f44a9cce-d7eb-4673-86c1-1314c6779dfe) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
12
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: c90b3096-6f7f-4bc8-9002-19106f3b4df5) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
13
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 974e35d5-7956-453d-9872-d932a4efadfa) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
14
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: d04a2166-9022-438f-b0b6-ecfb156421e0) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
15
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: b82a84cf-78a0-4002-8653-997b81ae9eae) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
16
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 8112f073-6061-428b-9a45-bb6c95b78e03) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
17
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 2140517c-8166-4449-96a0-8c1075712bd1) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
18
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 838d432d-13e4-4449-916c-6bd78c2b19b6) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
19
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 91632611-04b4-4939-bfec-226ed9d46b35) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
20
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: bba22f37-1aca-477b-b7b3-bbaa2886be74) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
21
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: b5aa5a5f-acbe-4cdc-a420-754b65fa0514) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
22
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 9dee2915-2aa3-49c0-a163-0fb1babce1ae) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
23
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 031757ed-ca82-4581-869c-810c286de6f0) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
24
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 1c0de02e-7761-480b-a8ac-87d1613a948b) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
25
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: ce0ebceb-aeea-44d1-b425-7cb3e627c9eb) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
26
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: e1b4f1e1-13d8-4243-948c-c2bbdab9f212) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
27
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 1c5e3b4b-4ae4-4213-bafb-4164a16a0a4c) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|
28
|
+
[ActiveJob] Enqueued Bobot::CommanderJob (Job ID: 56732598-6966-4ce2-b00c-0b7632f4a14b) to Test(default) with arguments: {"sender"=>{"id"=>"2"}, "recipient"=>{"id"=>"3"}, "timestamp"=>1457764197627, "message"=>{"mid"=>"mid.1457764197618:41d102a3e1ae206a38", "seq"=>73, "text"=>"Hello, bot!"}}
|