stealth 1.0.4 → 1.1.0.rc1
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/CHANGELOG.md +19 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +32 -77
- data/README.md +1 -0
- data/VERSION +1 -1
- data/docs/03-basics.md +18 -2
- data/docs/04-sessions.md +12 -0
- data/docs/05-controllers.md +3 -3
- data/docs/07-replies.md +42 -1
- data/lib/stealth/base.rb +23 -9
- data/lib/stealth/controller/catch_all.rb +1 -1
- data/lib/stealth/controller/controller.rb +21 -9
- data/lib/stealth/controller/dynamic_delay.rb +64 -0
- data/lib/stealth/controller/replies.rb +55 -14
- data/lib/stealth/flow/base.rb +1 -1
- data/lib/stealth/flow/specification.rb +30 -8
- data/lib/stealth/flow/state.rb +10 -5
- data/lib/stealth/generators/builder/Gemfile +3 -0
- data/lib/stealth/generators/builder/Procfile.dev +1 -1
- data/lib/stealth/generators/builder/bot/controllers/catch_alls_controller.rb +3 -6
- data/lib/stealth/generators/builder/config/services.yml +9 -10
- data/lib/stealth/generators/generate/flow/controllers/controller.tt +0 -19
- data/lib/stealth/generators/generate/flow/helpers/helper.tt +2 -1
- data/lib/stealth/generators/generate/flow/replies/{ask_reply.tt → ask_example.tt} +0 -0
- data/lib/stealth/generators/generate.rb +2 -9
- data/lib/stealth/migrations/tasks.rb +2 -0
- data/lib/stealth/scheduled_reply.rb +1 -1
- data/lib/stealth/server.rb +2 -0
- data/lib/stealth/services/jobs/handle_message_job.rb +1 -1
- data/lib/stealth/session.rb +44 -16
- data/spec/controller/catch_all_spec.rb +2 -1
- data/spec/controller/controller_spec.rb +102 -13
- data/spec/controller/dynamic_delay_spec.rb +72 -0
- data/spec/controller/replies_spec.rb +94 -3
- data/spec/flow/state_spec.rb +33 -4
- data/spec/replies/messages/say_hola.yml+facebook.erb +6 -0
- data/spec/replies/messages/say_hola.yml+twilio.erb +6 -0
- data/spec/replies/messages/say_hola.yml.erb +6 -0
- data/spec/replies/messages/say_howdy_with_dynamic.yml +79 -0
- data/spec/replies/messages/say_offer_with_dynamic.yml +6 -0
- data/spec/replies/messages/say_yo.yml +6 -0
- data/spec/replies/messages/say_yo.yml+twitter +6 -0
- data/spec/session_spec.rb +17 -0
- data/spec/support/sample_messages.rb +24 -26
- data/stealth.gemspec +1 -3
- metadata +25 -41
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -35
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
- data/lib/stealth/generators/generate/flow/models/model.tt +0 -2
- data/lib/stealth/generators/generate/flow/replies/say_no_reply.tt +0 -2
- data/lib/stealth/generators/generate/flow/replies/say_yes_reply.tt +0 -2
@@ -31,38 +31,36 @@ class SampleMessage
|
|
31
31
|
@base_message
|
32
32
|
end
|
33
33
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
else
|
40
|
-
"8b3e0a3c-62f1-401e-8b0f-615c9d256b1f"
|
41
|
-
end
|
34
|
+
def sender_id
|
35
|
+
if @service == 'twilio'
|
36
|
+
'+15554561212'
|
37
|
+
else
|
38
|
+
"8b3e0a3c-62f1-401e-8b0f-615c9d256b1f"
|
42
39
|
end
|
40
|
+
end
|
43
41
|
|
44
|
-
|
45
|
-
|
46
|
-
|
42
|
+
def timestamp
|
43
|
+
Time.now
|
44
|
+
end
|
47
45
|
|
48
|
-
|
49
|
-
|
50
|
-
|
46
|
+
def message
|
47
|
+
"Hello World!"
|
48
|
+
end
|
51
49
|
|
52
|
-
|
53
|
-
|
54
|
-
|
50
|
+
def payload
|
51
|
+
"some_payload"
|
52
|
+
end
|
55
53
|
|
56
|
-
|
57
|
-
|
58
|
-
|
54
|
+
def location
|
55
|
+
{ lat: '42.323724' , lng: '-83.047543' }
|
56
|
+
end
|
59
57
|
|
60
|
-
|
61
|
-
|
62
|
-
|
58
|
+
def attachments
|
59
|
+
[ { type: 'image', url: 'https://domain.none/image.jpg' } ]
|
60
|
+
end
|
63
61
|
|
64
|
-
|
65
|
-
|
66
|
-
|
62
|
+
def referral
|
63
|
+
{}
|
64
|
+
end
|
67
65
|
|
68
66
|
end
|
data/stealth.gemspec
CHANGED
@@ -18,12 +18,10 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.add_dependency 'multi_json', '~> 1.12'
|
19
19
|
s.add_dependency 'sidekiq', '~> 5.0'
|
20
20
|
s.add_dependency 'activesupport', '~> 5.2'
|
21
|
-
s.add_dependency 'activerecord', '~> 5.2'
|
22
|
-
s.add_dependency 'railties', '~> 5.2'
|
23
21
|
|
24
22
|
s.add_development_dependency 'rspec', '~> 3.6'
|
25
23
|
s.add_development_dependency 'rspec_junit_formatter', '~> 0.3'
|
26
|
-
s.add_development_dependency 'rack-test', '~>
|
24
|
+
s.add_development_dependency 'rack-test', '~> 1.1'
|
27
25
|
s.add_development_dependency 'mock_redis', '~> 0.17'
|
28
26
|
|
29
27
|
s.files = `git ls-files`.split("\n")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stealth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.1.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mauricio Gomes
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-11-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sinatra
|
@@ -95,34 +95,6 @@ dependencies:
|
|
95
95
|
- - "~>"
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '5.2'
|
98
|
-
- !ruby/object:Gem::Dependency
|
99
|
-
name: activerecord
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
101
|
-
requirements:
|
102
|
-
- - "~>"
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: '5.2'
|
105
|
-
type: :runtime
|
106
|
-
prerelease: false
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
requirements:
|
109
|
-
- - "~>"
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: '5.2'
|
112
|
-
- !ruby/object:Gem::Dependency
|
113
|
-
name: railties
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
-
requirements:
|
116
|
-
- - "~>"
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '5.2'
|
119
|
-
type: :runtime
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - "~>"
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '5.2'
|
126
98
|
- !ruby/object:Gem::Dependency
|
127
99
|
name: rspec
|
128
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,14 +129,14 @@ dependencies:
|
|
157
129
|
requirements:
|
158
130
|
- - "~>"
|
159
131
|
- !ruby/object:Gem::Version
|
160
|
-
version: '
|
132
|
+
version: '1.1'
|
161
133
|
type: :development
|
162
134
|
prerelease: false
|
163
135
|
version_requirements: !ruby/object:Gem::Requirement
|
164
136
|
requirements:
|
165
137
|
- - "~>"
|
166
138
|
- !ruby/object:Gem::Version
|
167
|
-
version: '
|
139
|
+
version: '1.1'
|
168
140
|
- !ruby/object:Gem::Dependency
|
169
141
|
name: mock_redis
|
170
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -187,8 +159,6 @@ extensions: []
|
|
187
159
|
extra_rdoc_files: []
|
188
160
|
files:
|
189
161
|
- ".circleci/config.yml"
|
190
|
-
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
191
|
-
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
192
162
|
- ".gitignore"
|
193
163
|
- CHANGELOG.md
|
194
164
|
- Gemfile
|
@@ -222,6 +192,7 @@ files:
|
|
222
192
|
- lib/stealth/controller/callbacks.rb
|
223
193
|
- lib/stealth/controller/catch_all.rb
|
224
194
|
- lib/stealth/controller/controller.rb
|
195
|
+
- lib/stealth/controller/dynamic_delay.rb
|
225
196
|
- lib/stealth/controller/helpers.rb
|
226
197
|
- lib/stealth/controller/replies.rb
|
227
198
|
- lib/stealth/dispatcher.rb
|
@@ -260,10 +231,7 @@ files:
|
|
260
231
|
- lib/stealth/generators/generate.rb
|
261
232
|
- lib/stealth/generators/generate/flow/controllers/controller.tt
|
262
233
|
- lib/stealth/generators/generate/flow/helpers/helper.tt
|
263
|
-
- lib/stealth/generators/generate/flow/
|
264
|
-
- lib/stealth/generators/generate/flow/replies/ask_reply.tt
|
265
|
-
- lib/stealth/generators/generate/flow/replies/say_no_reply.tt
|
266
|
-
- lib/stealth/generators/generate/flow/replies/say_yes_reply.tt
|
234
|
+
- lib/stealth/generators/generate/flow/replies/ask_example.tt
|
267
235
|
- lib/stealth/jobs.rb
|
268
236
|
- lib/stealth/logger.rb
|
269
237
|
- lib/stealth/migrations/configurator.rb
|
@@ -286,13 +254,21 @@ files:
|
|
286
254
|
- spec/controller/callbacks_spec.rb
|
287
255
|
- spec/controller/catch_all_spec.rb
|
288
256
|
- spec/controller/controller_spec.rb
|
257
|
+
- spec/controller/dynamic_delay_spec.rb
|
289
258
|
- spec/controller/helpers_spec.rb
|
290
259
|
- spec/controller/replies_spec.rb
|
291
260
|
- spec/flow/flow_spec.rb
|
292
261
|
- spec/flow/state_spec.rb
|
293
262
|
- spec/replies/hello.yml.erb
|
263
|
+
- spec/replies/messages/say_hola.yml+facebook.erb
|
264
|
+
- spec/replies/messages/say_hola.yml+twilio.erb
|
265
|
+
- spec/replies/messages/say_hola.yml.erb
|
266
|
+
- spec/replies/messages/say_howdy_with_dynamic.yml
|
294
267
|
- spec/replies/messages/say_offer.yml
|
268
|
+
- spec/replies/messages/say_offer_with_dynamic.yml
|
295
269
|
- spec/replies/messages/say_oi.yml.erb
|
270
|
+
- spec/replies/messages/say_yo.yml
|
271
|
+
- spec/replies/messages/say_yo.yml+twitter
|
296
272
|
- spec/service_reply_spec.rb
|
297
273
|
- spec/session_spec.rb
|
298
274
|
- spec/spec_helper.rb
|
@@ -321,12 +297,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
321
297
|
version: '0'
|
322
298
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
323
299
|
requirements:
|
324
|
-
- - "
|
300
|
+
- - ">"
|
325
301
|
- !ruby/object:Gem::Version
|
326
|
-
version:
|
302
|
+
version: 1.3.1
|
327
303
|
requirements: []
|
328
304
|
rubyforge_project:
|
329
|
-
rubygems_version: 2.7.
|
305
|
+
rubygems_version: 2.7.7
|
330
306
|
signing_key:
|
331
307
|
specification_version: 4
|
332
308
|
summary: Ruby framework for conversational bots
|
@@ -335,13 +311,21 @@ test_files:
|
|
335
311
|
- spec/controller/callbacks_spec.rb
|
336
312
|
- spec/controller/catch_all_spec.rb
|
337
313
|
- spec/controller/controller_spec.rb
|
314
|
+
- spec/controller/dynamic_delay_spec.rb
|
338
315
|
- spec/controller/helpers_spec.rb
|
339
316
|
- spec/controller/replies_spec.rb
|
340
317
|
- spec/flow/flow_spec.rb
|
341
318
|
- spec/flow/state_spec.rb
|
342
319
|
- spec/replies/hello.yml.erb
|
320
|
+
- spec/replies/messages/say_hola.yml+facebook.erb
|
321
|
+
- spec/replies/messages/say_hola.yml+twilio.erb
|
322
|
+
- spec/replies/messages/say_hola.yml.erb
|
323
|
+
- spec/replies/messages/say_howdy_with_dynamic.yml
|
343
324
|
- spec/replies/messages/say_offer.yml
|
325
|
+
- spec/replies/messages/say_offer_with_dynamic.yml
|
344
326
|
- spec/replies/messages/say_oi.yml.erb
|
327
|
+
- spec/replies/messages/say_yo.yml
|
328
|
+
- spec/replies/messages/say_yo.yml+twitter
|
345
329
|
- spec/service_reply_spec.rb
|
346
330
|
- spec/session_spec.rb
|
347
331
|
- spec/spec_helper.rb
|
@@ -1,35 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: Bug report
|
3
|
-
about: Create a report to help us improve
|
4
|
-
|
5
|
-
---
|
6
|
-
|
7
|
-
**Describe the bug**
|
8
|
-
A clear and concise description of what the bug is.
|
9
|
-
|
10
|
-
**To Reproduce**
|
11
|
-
Steps to reproduce the behavior:
|
12
|
-
1. Go to '...'
|
13
|
-
2. Click on '....'
|
14
|
-
3. Scroll down to '....'
|
15
|
-
4. See error
|
16
|
-
|
17
|
-
**Expected behavior**
|
18
|
-
A clear and concise description of what you expected to happen.
|
19
|
-
|
20
|
-
**Screenshots**
|
21
|
-
If applicable, add screenshots to help explain your problem.
|
22
|
-
|
23
|
-
**Desktop (please complete the following information):**
|
24
|
-
- OS: [e.g. iOS]
|
25
|
-
- Browser [e.g. chrome, safari]
|
26
|
-
- Version [e.g. 22]
|
27
|
-
|
28
|
-
**Smartphone (please complete the following information):**
|
29
|
-
- Device: [e.g. iPhone6]
|
30
|
-
- OS: [e.g. iOS8.1]
|
31
|
-
- Browser [e.g. stock browser, safari]
|
32
|
-
- Version [e.g. 22]
|
33
|
-
|
34
|
-
**Additional context**
|
35
|
-
Add any other context about the problem here.
|
@@ -1,17 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: Feature request
|
3
|
-
about: Suggest an idea for this project
|
4
|
-
|
5
|
-
---
|
6
|
-
|
7
|
-
**Is your feature request related to a problem? Please describe.**
|
8
|
-
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
9
|
-
|
10
|
-
**Describe the solution you'd like**
|
11
|
-
A clear and concise description of what you want to happen.
|
12
|
-
|
13
|
-
**Describe alternatives you've considered**
|
14
|
-
A clear and concise description of any alternative solutions or features you've considered.
|
15
|
-
|
16
|
-
**Additional context**
|
17
|
-
Add any other context or screenshots about the feature request here.
|