stealth 1.0.4 → 1.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -4
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +32 -77
  5. data/README.md +1 -0
  6. data/VERSION +1 -1
  7. data/docs/03-basics.md +18 -2
  8. data/docs/04-sessions.md +12 -0
  9. data/docs/05-controllers.md +3 -3
  10. data/docs/07-replies.md +42 -1
  11. data/lib/stealth/base.rb +23 -9
  12. data/lib/stealth/controller/catch_all.rb +1 -1
  13. data/lib/stealth/controller/controller.rb +21 -9
  14. data/lib/stealth/controller/dynamic_delay.rb +64 -0
  15. data/lib/stealth/controller/replies.rb +55 -14
  16. data/lib/stealth/flow/base.rb +1 -1
  17. data/lib/stealth/flow/specification.rb +30 -8
  18. data/lib/stealth/flow/state.rb +10 -5
  19. data/lib/stealth/generators/builder/Gemfile +3 -0
  20. data/lib/stealth/generators/builder/Procfile.dev +1 -1
  21. data/lib/stealth/generators/builder/bot/controllers/catch_alls_controller.rb +3 -6
  22. data/lib/stealth/generators/builder/config/services.yml +9 -10
  23. data/lib/stealth/generators/generate/flow/controllers/controller.tt +0 -19
  24. data/lib/stealth/generators/generate/flow/helpers/helper.tt +2 -1
  25. data/lib/stealth/generators/generate/flow/replies/{ask_reply.tt → ask_example.tt} +0 -0
  26. data/lib/stealth/generators/generate.rb +2 -9
  27. data/lib/stealth/migrations/tasks.rb +2 -0
  28. data/lib/stealth/scheduled_reply.rb +1 -1
  29. data/lib/stealth/server.rb +2 -0
  30. data/lib/stealth/services/jobs/handle_message_job.rb +1 -1
  31. data/lib/stealth/session.rb +44 -16
  32. data/spec/controller/catch_all_spec.rb +2 -1
  33. data/spec/controller/controller_spec.rb +102 -13
  34. data/spec/controller/dynamic_delay_spec.rb +72 -0
  35. data/spec/controller/replies_spec.rb +94 -3
  36. data/spec/flow/state_spec.rb +33 -4
  37. data/spec/replies/messages/say_hola.yml+facebook.erb +6 -0
  38. data/spec/replies/messages/say_hola.yml+twilio.erb +6 -0
  39. data/spec/replies/messages/say_hola.yml.erb +6 -0
  40. data/spec/replies/messages/say_howdy_with_dynamic.yml +79 -0
  41. data/spec/replies/messages/say_offer_with_dynamic.yml +6 -0
  42. data/spec/replies/messages/say_yo.yml +6 -0
  43. data/spec/replies/messages/say_yo.yml+twitter +6 -0
  44. data/spec/session_spec.rb +17 -0
  45. data/spec/support/sample_messages.rb +24 -26
  46. data/stealth.gemspec +1 -3
  47. metadata +25 -41
  48. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -35
  49. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
  50. data/lib/stealth/generators/generate/flow/models/model.tt +0 -2
  51. data/lib/stealth/generators/generate/flow/replies/say_no_reply.tt +0 -2
  52. 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
- private
35
-
36
- def sender_id
37
- if @service == 'twilio'
38
- '+15554561212'
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
- def timestamp
45
- Time.now
46
- end
42
+ def timestamp
43
+ Time.now
44
+ end
47
45
 
48
- def message
49
- "Hello World!"
50
- end
46
+ def message
47
+ "Hello World!"
48
+ end
51
49
 
52
- def payload
53
- "some_payload"
54
- end
50
+ def payload
51
+ "some_payload"
52
+ end
55
53
 
56
- def location
57
- { lat: '42.323724' , lng: '-83.047543' }
58
- end
54
+ def location
55
+ { lat: '42.323724' , lng: '-83.047543' }
56
+ end
59
57
 
60
- def attachments
61
- [ { type: 'image', url: 'https://domain.none/image.jpg' } ]
62
- end
58
+ def attachments
59
+ [ { type: 'image', url: 'https://domain.none/image.jpg' } ]
60
+ end
63
61
 
64
- def referral
65
- {}
66
- end
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', '~> 0.7'
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
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-08-04 00:00:00.000000000 Z
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: '0.7'
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: '0.7'
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/models/model.tt
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: '0'
302
+ version: 1.3.1
327
303
  requirements: []
328
304
  rubyforge_project:
329
- rubygems_version: 2.7.6
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.
@@ -1,2 +0,0 @@
1
- class <%= name.capitalize.underscore.camelize %> < BotRecord
2
- end
@@ -1,2 +0,0 @@
1
- - reply_type: text
2
- text: "Oh no. :( Why don't you check out our docs at http://www.hello.com for more information."
@@ -1,2 +0,0 @@
1
- - reply_type: text
2
- text: "Awesome!. Check out our docs at http://www.hello.com for additional Stealth awesomeness."