activity_notification 2.0.0 → 2.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +22 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +17 -0
  4. data/.github/pull_request_template.md +13 -0
  5. data/.gitignore +10 -3
  6. data/.travis.yml +6 -5
  7. data/CHANGELOG.md +60 -0
  8. data/Gemfile +8 -3
  9. data/Procfile +1 -1
  10. data/README.md +153 -1510
  11. data/activity_notification.gemspec +4 -1
  12. data/app/channels/activity_notification/notification_api_channel.rb +12 -0
  13. data/app/channels/activity_notification/notification_api_with_devise_channel.rb +46 -0
  14. data/app/channels/activity_notification/notification_channel.rb +2 -2
  15. data/app/channels/activity_notification/notification_with_devise_channel.rb +2 -2
  16. data/app/controllers/activity_notification/apidocs_controller.rb +75 -0
  17. data/app/controllers/activity_notification/notifications_api_controller.rb +143 -0
  18. data/app/controllers/activity_notification/notifications_api_with_devise_controller.rb +7 -0
  19. data/app/controllers/activity_notification/notifications_controller.rb +79 -53
  20. data/app/controllers/activity_notification/subscriptions_api_controller.rb +197 -0
  21. data/app/controllers/activity_notification/subscriptions_api_with_devise_controller.rb +7 -0
  22. data/app/controllers/activity_notification/subscriptions_controller.rb +78 -69
  23. data/app/views/activity_notification/notifications/default/_default.html.erb +18 -18
  24. data/app/views/activity_notification/notifications/default/_default_without_grouping.html.erb +14 -14
  25. data/app/views/activity_notification/notifications/default/index.html.erb +6 -6
  26. data/app/views/activity_notification/optional_targets/default/action_cable_channel/_default.html.erb +176 -0
  27. data/app/views/activity_notification/subscriptions/default/_form.html.erb +1 -1
  28. data/app/views/activity_notification/subscriptions/default/_notification_keys.html.erb +3 -31
  29. data/app/views/activity_notification/subscriptions/default/_subscription.html.erb +7 -7
  30. data/app/views/activity_notification/subscriptions/default/index.html.erb +11 -7
  31. data/bin/deploy_on_heroku.sh +3 -1
  32. data/docs/CODE_OF_CONDUCT.md +76 -0
  33. data/docs/CONTRIBUTING.md +36 -0
  34. data/docs/Functions.md +1130 -0
  35. data/docs/Setup.md +801 -0
  36. data/docs/Testing.md +148 -0
  37. data/gemfiles/Gemfile.rails-4.2 +5 -1
  38. data/gemfiles/Gemfile.rails-5.0 +6 -1
  39. data/gemfiles/Gemfile.rails-5.1 +6 -1
  40. data/gemfiles/Gemfile.rails-5.2 +6 -1
  41. data/gemfiles/{Gemfile.rails-6.0.rc → Gemfile.rails-6.0} +6 -5
  42. data/lib/activity_notification.rb +13 -0
  43. data/lib/activity_notification/apis/notification_api.rb +37 -93
  44. data/lib/activity_notification/apis/subscription_api.rb +20 -8
  45. data/lib/activity_notification/apis/swagger.rb +6 -0
  46. data/lib/activity_notification/common.rb +4 -1
  47. data/lib/activity_notification/config.rb +41 -21
  48. data/lib/activity_notification/controllers/common_api_controller.rb +30 -0
  49. data/lib/activity_notification/controllers/common_controller.rb +45 -21
  50. data/lib/activity_notification/controllers/concerns/swagger/error_responses.rb +55 -0
  51. data/lib/activity_notification/controllers/concerns/swagger/notifications_api.rb +273 -0
  52. data/lib/activity_notification/controllers/concerns/swagger/notifications_parameters.rb +92 -0
  53. data/lib/activity_notification/controllers/concerns/swagger/subscriptions_api.rb +405 -0
  54. data/lib/activity_notification/controllers/concerns/swagger/subscriptions_parameters.rb +50 -0
  55. data/lib/activity_notification/controllers/devise_authentication_controller.rb +7 -6
  56. data/lib/activity_notification/gem_version.rb +14 -0
  57. data/lib/activity_notification/helpers/errors.rb +2 -0
  58. data/lib/activity_notification/helpers/view_helpers.rb +4 -0
  59. data/lib/activity_notification/mailers/helpers.rb +17 -10
  60. data/lib/activity_notification/models/concerns/notifiable.rb +31 -15
  61. data/lib/activity_notification/models/concerns/subscriber.rb +12 -1
  62. data/lib/activity_notification/models/concerns/swagger/error_schema.rb +36 -0
  63. data/lib/activity_notification/models/concerns/swagger/notification_schema.rb +209 -0
  64. data/lib/activity_notification/models/concerns/swagger/subscription_schema.rb +162 -0
  65. data/lib/activity_notification/models/concerns/target.rb +36 -10
  66. data/lib/activity_notification/models/notification.rb +1 -0
  67. data/lib/activity_notification/models/subscription.rb +1 -0
  68. data/lib/activity_notification/optional_targets/action_cable_api_channel.rb +69 -0
  69. data/lib/activity_notification/optional_targets/action_cable_channel.rb +68 -0
  70. data/lib/activity_notification/optional_targets/base.rb +7 -13
  71. data/lib/activity_notification/orm/active_record/notification.rb +17 -1
  72. data/lib/activity_notification/orm/active_record/subscription.rb +1 -1
  73. data/lib/activity_notification/orm/dynamoid.rb +38 -3
  74. data/lib/activity_notification/orm/dynamoid/extension.rb +79 -1
  75. data/lib/activity_notification/orm/dynamoid/notification.rb +49 -14
  76. data/lib/activity_notification/orm/dynamoid/subscription.rb +2 -2
  77. data/lib/activity_notification/orm/mongoid.rb +32 -3
  78. data/lib/activity_notification/orm/mongoid/notification.rb +24 -6
  79. data/lib/activity_notification/orm/mongoid/subscription.rb +1 -1
  80. data/lib/activity_notification/rails/routes.rb +132 -48
  81. data/lib/activity_notification/renderable.rb +13 -2
  82. data/lib/activity_notification/roles/acts_as_notifiable.rb +39 -20
  83. data/lib/activity_notification/version.rb +1 -1
  84. data/lib/generators/activity_notification/controllers_generator.rb +2 -1
  85. data/lib/generators/templates/activity_notification.rb +8 -0
  86. data/lib/generators/templates/controllers/notifications_api_controller.rb +31 -0
  87. data/lib/generators/templates/controllers/notifications_api_with_devise_controller.rb +31 -0
  88. data/lib/generators/templates/controllers/notifications_controller.rb +1 -37
  89. data/lib/generators/templates/controllers/notifications_with_devise_controller.rb +1 -45
  90. data/lib/generators/templates/controllers/subscriptions_api_controller.rb +61 -0
  91. data/lib/generators/templates/controllers/subscriptions_api_with_devise_controller.rb +61 -0
  92. data/lib/generators/templates/controllers/subscriptions_controller.rb +14 -37
  93. data/lib/generators/templates/controllers/subscriptions_with_devise_controller.rb +14 -45
  94. data/lib/generators/templates/models/README +8 -4
  95. data/lib/generators/templates/models/notification.rb +1 -1
  96. data/lib/generators/templates/models/subscription.rb +1 -1
  97. data/package.json +8 -0
  98. data/spec/channels/notification_api_channel_shared_examples.rb +59 -0
  99. data/spec/channels/notification_api_channel_spec.rb +51 -0
  100. data/spec/channels/notification_api_with_devise_channel_spec.rb +78 -0
  101. data/spec/concerns/apis/notification_api_spec.rb +38 -3
  102. data/spec/concerns/models/notifiable_spec.rb +82 -18
  103. data/spec/concerns/models/subscriber_spec.rb +13 -16
  104. data/spec/concerns/models/target_spec.rb +32 -0
  105. data/spec/concerns/renderable_spec.rb +2 -2
  106. data/spec/config_spec.rb +26 -15
  107. data/spec/controllers/controller_spec_utility.rb +136 -0
  108. data/spec/controllers/notifications_api_controller_shared_examples.rb +506 -0
  109. data/spec/controllers/notifications_api_controller_spec.rb +19 -0
  110. data/spec/controllers/notifications_api_with_devise_controller_spec.rb +60 -0
  111. data/spec/controllers/notifications_controller_shared_examples.rb +54 -79
  112. data/spec/controllers/notifications_controller_spec.rb +1 -2
  113. data/spec/controllers/notifications_with_devise_controller_spec.rb +3 -12
  114. data/spec/controllers/subscriptions_api_controller_shared_examples.rb +750 -0
  115. data/spec/controllers/subscriptions_api_controller_spec.rb +19 -0
  116. data/spec/controllers/subscriptions_api_with_devise_controller_spec.rb +60 -0
  117. data/spec/controllers/subscriptions_controller_shared_examples.rb +94 -121
  118. data/spec/controllers/subscriptions_controller_spec.rb +1 -2
  119. data/spec/controllers/subscriptions_with_devise_controller_spec.rb +3 -12
  120. data/spec/helpers/view_helpers_spec.rb +4 -11
  121. data/spec/mailers/mailer_spec.rb +41 -0
  122. data/spec/models/notification_spec.rb +17 -0
  123. data/spec/models/subscription_spec.rb +8 -13
  124. data/spec/optional_targets/action_cable_api_channel_spec.rb +37 -0
  125. data/spec/optional_targets/action_cable_channel_spec.rb +44 -0
  126. data/spec/optional_targets/amazon_sns_spec.rb +0 -2
  127. data/spec/optional_targets/slack_spec.rb +0 -2
  128. data/spec/rails_app/Rakefile +9 -0
  129. data/spec/rails_app/app/assets/config/manifest.js +3 -0
  130. data/spec/rails_app/app/assets/images/.keep +0 -0
  131. data/spec/rails_app/app/controllers/admins_controller.rb +21 -0
  132. data/spec/rails_app/app/controllers/application_controller.rb +1 -1
  133. data/spec/rails_app/app/controllers/articles_controller.rb +6 -3
  134. data/spec/rails_app/app/controllers/spa_controller.rb +7 -0
  135. data/spec/rails_app/app/controllers/users/notifications_controller.rb +0 -65
  136. data/spec/rails_app/app/controllers/users/notifications_with_devise_controller.rb +0 -73
  137. data/spec/rails_app/app/controllers/users/subscriptions_controller.rb +0 -77
  138. data/spec/rails_app/app/controllers/users/subscriptions_with_devise_controller.rb +0 -85
  139. data/spec/rails_app/app/controllers/users_controller.rb +26 -0
  140. data/spec/rails_app/app/javascript/App.vue +40 -0
  141. data/spec/rails_app/app/javascript/components/DeviseTokenAuth.vue +82 -0
  142. data/spec/rails_app/app/javascript/components/Top.vue +98 -0
  143. data/spec/rails_app/app/javascript/components/notifications/Index.vue +200 -0
  144. data/spec/rails_app/app/javascript/components/notifications/Notification.vue +133 -0
  145. data/spec/rails_app/app/javascript/components/notifications/NotificationContent.vue +122 -0
  146. data/spec/rails_app/app/javascript/components/subscriptions/Index.vue +279 -0
  147. data/spec/rails_app/app/javascript/components/subscriptions/NewSubscription.vue +112 -0
  148. data/spec/rails_app/app/javascript/components/subscriptions/NotificationKey.vue +141 -0
  149. data/spec/rails_app/app/javascript/components/subscriptions/Subscription.vue +226 -0
  150. data/spec/rails_app/app/javascript/config/development.js +5 -0
  151. data/spec/rails_app/app/javascript/config/environment.js +7 -0
  152. data/spec/rails_app/app/javascript/config/production.js +5 -0
  153. data/spec/rails_app/app/javascript/config/test.js +5 -0
  154. data/spec/rails_app/app/javascript/packs/application.js +18 -0
  155. data/spec/rails_app/app/javascript/packs/spa.js +14 -0
  156. data/spec/rails_app/app/javascript/router/index.js +73 -0
  157. data/spec/rails_app/app/javascript/store/index.js +37 -0
  158. data/spec/rails_app/app/models/admin.rb +16 -15
  159. data/spec/rails_app/app/models/article.rb +26 -21
  160. data/spec/rails_app/app/models/comment.rb +24 -71
  161. data/spec/rails_app/app/models/dummy/dummy_group.rb +8 -0
  162. data/spec/rails_app/app/models/dummy/dummy_notifiable_target.rb +8 -0
  163. data/spec/rails_app/app/models/user.rb +44 -20
  164. data/spec/rails_app/app/views/activity_notification/notifications/default/article/_update.html.erb +146 -0
  165. data/spec/rails_app/app/views/articles/index.html.erb +51 -7
  166. data/spec/rails_app/app/views/articles/show.html.erb +1 -1
  167. data/spec/rails_app/app/views/layouts/_header.html.erb +8 -10
  168. data/spec/rails_app/app/views/spa/index.html.erb +2 -0
  169. data/spec/rails_app/babel.config.js +72 -0
  170. data/spec/rails_app/bin/webpack +18 -0
  171. data/spec/rails_app/bin/webpack-dev-server +18 -0
  172. data/spec/rails_app/config/application.rb +18 -2
  173. data/spec/rails_app/config/dynamoid.rb +11 -3
  174. data/spec/rails_app/config/environment.rb +2 -1
  175. data/spec/rails_app/config/environments/development.rb +5 -0
  176. data/spec/rails_app/config/environments/production.rb +6 -0
  177. data/spec/rails_app/config/environments/test.rb +5 -0
  178. data/spec/rails_app/config/initializers/activity_notification.rb +11 -3
  179. data/spec/rails_app/config/initializers/copy_it.aws.rb.template +6 -0
  180. data/spec/rails_app/config/initializers/devise_token_auth.rb +55 -0
  181. data/spec/rails_app/config/initializers/mysql.rb +9 -0
  182. data/spec/rails_app/config/locales/activity_notification.en.yml +2 -2
  183. data/spec/rails_app/config/routes.rb +37 -1
  184. data/spec/rails_app/config/webpack/development.js +5 -0
  185. data/spec/rails_app/config/webpack/environment.js +7 -0
  186. data/spec/rails_app/config/webpack/loaders/vue.js +6 -0
  187. data/spec/rails_app/config/webpack/production.js +5 -0
  188. data/spec/rails_app/config/webpack/test.js +5 -0
  189. data/spec/rails_app/config/webpacker.yml +97 -0
  190. data/spec/rails_app/db/migrate/20191201000000_add_tokens_to_users.rb +10 -0
  191. data/spec/rails_app/db/schema.rb +4 -1
  192. data/spec/rails_app/db/seeds.rb +10 -2
  193. data/spec/rails_app/lib/custom_optional_targets/raise_error.rb +14 -0
  194. data/spec/rails_app/package.json +23 -0
  195. data/spec/rails_app/postcss.config.js +12 -0
  196. data/spec/roles/acts_as_group_spec.rb +0 -2
  197. data/spec/roles/acts_as_notifiable_spec.rb +6 -8
  198. data/spec/roles/acts_as_notifier_spec.rb +0 -2
  199. data/spec/roles/acts_as_target_spec.rb +0 -4
  200. data/spec/spec_helper.rb +7 -15
  201. data/spec/version_spec.rb +31 -0
  202. metadata +191 -13
@@ -0,0 +1,31 @@
1
+ describe "ActivityNotification.gem_version" do
2
+ it "returns gem version" do
3
+ expect(ActivityNotification.gem_version.to_s).to eq(ActivityNotification::VERSION)
4
+ end
5
+ end
6
+
7
+ describe ActivityNotification::GEM_VERSION do
8
+ describe "MAJOR" do
9
+ it "returns gem major version" do
10
+ expect(ActivityNotification::GEM_VERSION::MAJOR).to eq(ActivityNotification::VERSION.split(".")[0])
11
+ end
12
+ end
13
+
14
+ describe "MINOR" do
15
+ it "returns gem minor version" do
16
+ expect(ActivityNotification::GEM_VERSION::MINOR).to eq(ActivityNotification::VERSION.split(".")[1])
17
+ end
18
+ end
19
+
20
+ describe "TINY" do
21
+ it "returns gem tiny version" do
22
+ expect(ActivityNotification::GEM_VERSION::TINY).to eq(ActivityNotification::VERSION.split(".")[2])
23
+ end
24
+ end
25
+
26
+ describe "PRE" do
27
+ it "returns gem pre version" do
28
+ expect(ActivityNotification::GEM_VERSION::PRE).to eq(ActivityNotification::VERSION.split(".")[3])
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activity_notification
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shota Yamazaki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-09 00:00:00.000000000 Z
11
+ date: 2020-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -58,6 +58,20 @@ dependencies:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: 3.1.1
61
+ - !ruby/object:Gem::Dependency
62
+ name: swagger-blocks
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 3.0.0
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 3.0.0
61
75
  - !ruby/object:Gem::Dependency
62
76
  name: puma
63
77
  requirement: !ruby/object:Gem::Requirement
@@ -132,22 +146,16 @@ dependencies:
132
146
  name: dynamoid
133
147
  requirement: !ruby/object:Gem::Requirement
134
148
  requirements:
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- version: 3.0.0
138
- - - "<"
149
+ - - '='
139
150
  - !ruby/object:Gem::Version
140
- version: 3.2.0
151
+ version: 3.1.0
141
152
  type: :development
142
153
  prerelease: false
143
154
  version_requirements: !ruby/object:Gem::Requirement
144
155
  requirements:
145
- - - ">="
156
+ - - '='
146
157
  - !ruby/object:Gem::Version
147
- version: 3.0.0
148
- - - "<"
149
- - !ruby/object:Gem::Version
150
- version: 3.2.0
158
+ version: 3.1.0
151
159
  - !ruby/object:Gem::Dependency
152
160
  name: rspec-rails
153
161
  requirement: !ruby/object:Gem::Requirement
@@ -238,6 +246,34 @@ dependencies:
238
246
  - - ">="
239
247
  - !ruby/object:Gem::Version
240
248
  version: 4.5.0
249
+ - !ruby/object:Gem::Dependency
250
+ name: devise_token_auth
251
+ requirement: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ version: 1.1.3
256
+ type: :development
257
+ prerelease: false
258
+ version_requirements: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - ">="
261
+ - !ruby/object:Gem::Version
262
+ version: 1.1.3
263
+ - !ruby/object:Gem::Dependency
264
+ name: mongoid-locker
265
+ requirement: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - ">="
268
+ - !ruby/object:Gem::Version
269
+ version: 2.0.0
270
+ type: :development
271
+ prerelease: false
272
+ version_requirements: !ruby/object:Gem::Requirement
273
+ requirements:
274
+ - - ">="
275
+ - !ruby/object:Gem::Version
276
+ version: 2.0.0
241
277
  - !ruby/object:Gem::Dependency
242
278
  name: aws-sdk-sns
243
279
  requirement: !ruby/object:Gem::Requirement
@@ -277,6 +313,9 @@ extra_rdoc_files: []
277
313
  files:
278
314
  - ".codeclimate.yml"
279
315
  - ".coveralls.yml"
316
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
317
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
318
+ - ".github/pull_request_template.md"
280
319
  - ".gitignore"
281
320
  - ".rspec"
282
321
  - ".rubocop.yml"
@@ -289,10 +328,17 @@ files:
289
328
  - README.md
290
329
  - Rakefile
291
330
  - activity_notification.gemspec
331
+ - app/channels/activity_notification/notification_api_channel.rb
332
+ - app/channels/activity_notification/notification_api_with_devise_channel.rb
292
333
  - app/channels/activity_notification/notification_channel.rb
293
334
  - app/channels/activity_notification/notification_with_devise_channel.rb
335
+ - app/controllers/activity_notification/apidocs_controller.rb
336
+ - app/controllers/activity_notification/notifications_api_controller.rb
337
+ - app/controllers/activity_notification/notifications_api_with_devise_controller.rb
294
338
  - app/controllers/activity_notification/notifications_controller.rb
295
339
  - app/controllers/activity_notification/notifications_with_devise_controller.rb
340
+ - app/controllers/activity_notification/subscriptions_api_controller.rb
341
+ - app/controllers/activity_notification/subscriptions_api_with_devise_controller.rb
296
342
  - app/controllers/activity_notification/subscriptions_controller.rb
297
343
  - app/controllers/activity_notification/subscriptions_with_devise_controller.rb
298
344
  - app/jobs/activity_notification/notify_all_job.rb
@@ -311,6 +357,7 @@ files:
311
357
  - app/views/activity_notification/notifications/default/open.js.erb
312
358
  - app/views/activity_notification/notifications/default/open_all.js.erb
313
359
  - app/views/activity_notification/notifications/default/show.html.erb
360
+ - app/views/activity_notification/optional_targets/default/action_cable_channel/_default.html.erb
314
361
  - app/views/activity_notification/optional_targets/default/base/_default.text.erb
315
362
  - app/views/activity_notification/optional_targets/default/slack/_default.text.erb
316
363
  - app/views/activity_notification/subscriptions/default/_form.html.erb
@@ -333,19 +380,32 @@ files:
333
380
  - bin/install_dynamodblocal.sh
334
381
  - bin/start_dynamodblocal.sh
335
382
  - bin/stop_dynamodblocal.sh
383
+ - docs/CODE_OF_CONDUCT.md
384
+ - docs/CONTRIBUTING.md
385
+ - docs/Functions.md
386
+ - docs/Setup.md
387
+ - docs/Testing.md
336
388
  - gemfiles/Gemfile.rails-4.2
337
389
  - gemfiles/Gemfile.rails-5.0
338
390
  - gemfiles/Gemfile.rails-5.1
339
391
  - gemfiles/Gemfile.rails-5.2
340
- - gemfiles/Gemfile.rails-6.0.rc
392
+ - gemfiles/Gemfile.rails-6.0
341
393
  - lib/activity_notification.rb
342
394
  - lib/activity_notification/apis/notification_api.rb
343
395
  - lib/activity_notification/apis/subscription_api.rb
396
+ - lib/activity_notification/apis/swagger.rb
344
397
  - lib/activity_notification/common.rb
345
398
  - lib/activity_notification/config.rb
399
+ - lib/activity_notification/controllers/common_api_controller.rb
346
400
  - lib/activity_notification/controllers/common_controller.rb
401
+ - lib/activity_notification/controllers/concerns/swagger/error_responses.rb
402
+ - lib/activity_notification/controllers/concerns/swagger/notifications_api.rb
403
+ - lib/activity_notification/controllers/concerns/swagger/notifications_parameters.rb
404
+ - lib/activity_notification/controllers/concerns/swagger/subscriptions_api.rb
405
+ - lib/activity_notification/controllers/concerns/swagger/subscriptions_parameters.rb
347
406
  - lib/activity_notification/controllers/devise_authentication_controller.rb
348
407
  - lib/activity_notification/controllers/store_controller.rb
408
+ - lib/activity_notification/gem_version.rb
349
409
  - lib/activity_notification/helpers/errors.rb
350
410
  - lib/activity_notification/helpers/polymorphic_helpers.rb
351
411
  - lib/activity_notification/helpers/view_helpers.rb
@@ -355,9 +415,14 @@ files:
355
415
  - lib/activity_notification/models/concerns/notifiable.rb
356
416
  - lib/activity_notification/models/concerns/notifier.rb
357
417
  - lib/activity_notification/models/concerns/subscriber.rb
418
+ - lib/activity_notification/models/concerns/swagger/error_schema.rb
419
+ - lib/activity_notification/models/concerns/swagger/notification_schema.rb
420
+ - lib/activity_notification/models/concerns/swagger/subscription_schema.rb
358
421
  - lib/activity_notification/models/concerns/target.rb
359
422
  - lib/activity_notification/models/notification.rb
360
423
  - lib/activity_notification/models/subscription.rb
424
+ - lib/activity_notification/optional_targets/action_cable_api_channel.rb
425
+ - lib/activity_notification/optional_targets/action_cable_channel.rb
361
426
  - lib/activity_notification/optional_targets/amazon_sns.rb
362
427
  - lib/activity_notification/optional_targets/base.rb
363
428
  - lib/activity_notification/optional_targets/slack.rb
@@ -388,8 +453,12 @@ files:
388
453
  - lib/generators/templates/README
389
454
  - lib/generators/templates/activity_notification.rb
390
455
  - lib/generators/templates/controllers/README
456
+ - lib/generators/templates/controllers/notifications_api_controller.rb
457
+ - lib/generators/templates/controllers/notifications_api_with_devise_controller.rb
391
458
  - lib/generators/templates/controllers/notifications_controller.rb
392
459
  - lib/generators/templates/controllers/notifications_with_devise_controller.rb
460
+ - lib/generators/templates/controllers/subscriptions_api_controller.rb
461
+ - lib/generators/templates/controllers/subscriptions_api_with_devise_controller.rb
393
462
  - lib/generators/templates/controllers/subscriptions_controller.rb
394
463
  - lib/generators/templates/controllers/subscriptions_with_devise_controller.rb
395
464
  - lib/generators/templates/locales/en.yml
@@ -398,6 +467,10 @@ files:
398
467
  - lib/generators/templates/models/notification.rb
399
468
  - lib/generators/templates/models/subscription.rb
400
469
  - lib/tasks/activity_notification_tasks.rake
470
+ - package.json
471
+ - spec/channels/notification_api_channel_shared_examples.rb
472
+ - spec/channels/notification_api_channel_spec.rb
473
+ - spec/channels/notification_api_with_devise_channel_spec.rb
401
474
  - spec/channels/notification_channel_shared_examples.rb
402
475
  - spec/channels/notification_channel_spec.rb
403
476
  - spec/channels/notification_with_devise_channel_spec.rb
@@ -412,10 +485,17 @@ files:
412
485
  - spec/concerns/renderable_spec.rb
413
486
  - spec/config_spec.rb
414
487
  - spec/controllers/common_controller_spec.rb
488
+ - spec/controllers/controller_spec_utility.rb
415
489
  - spec/controllers/dummy_common_controller.rb
490
+ - spec/controllers/notifications_api_controller_shared_examples.rb
491
+ - spec/controllers/notifications_api_controller_spec.rb
492
+ - spec/controllers/notifications_api_with_devise_controller_spec.rb
416
493
  - spec/controllers/notifications_controller_shared_examples.rb
417
494
  - spec/controllers/notifications_controller_spec.rb
418
495
  - spec/controllers/notifications_with_devise_controller_spec.rb
496
+ - spec/controllers/subscriptions_api_controller_shared_examples.rb
497
+ - spec/controllers/subscriptions_api_controller_spec.rb
498
+ - spec/controllers/subscriptions_api_with_devise_controller_spec.rb
419
499
  - spec/controllers/subscriptions_controller_shared_examples.rb
420
500
  - spec/controllers/subscriptions_controller_spec.rb
421
501
  - spec/controllers/subscriptions_with_devise_controller_spec.rb
@@ -448,25 +528,50 @@ files:
448
528
  - spec/models/dummy/dummy_target_spec.rb
449
529
  - spec/models/notification_spec.rb
450
530
  - spec/models/subscription_spec.rb
531
+ - spec/optional_targets/action_cable_api_channel_spec.rb
532
+ - spec/optional_targets/action_cable_channel_spec.rb
451
533
  - spec/optional_targets/amazon_sns_spec.rb
452
534
  - spec/optional_targets/base_spec.rb
453
535
  - spec/optional_targets/slack_spec.rb
454
536
  - spec/orm/dynamoid_spec.rb
455
537
  - spec/rails_app/Rakefile
538
+ - spec/rails_app/app/assets/config/manifest.js
539
+ - spec/rails_app/app/assets/images/.keep
456
540
  - spec/rails_app/app/assets/javascripts/application.js
457
541
  - spec/rails_app/app/assets/javascripts/cable.js
458
542
  - spec/rails_app/app/assets/stylesheets/application.css
459
543
  - spec/rails_app/app/assets/stylesheets/reset.css
460
544
  - spec/rails_app/app/assets/stylesheets/style.css
545
+ - spec/rails_app/app/controllers/admins_controller.rb
461
546
  - spec/rails_app/app/controllers/application_controller.rb
462
547
  - spec/rails_app/app/controllers/articles_controller.rb
463
548
  - spec/rails_app/app/controllers/comments_controller.rb
464
549
  - spec/rails_app/app/controllers/concerns/.keep
550
+ - spec/rails_app/app/controllers/spa_controller.rb
465
551
  - spec/rails_app/app/controllers/users/notifications_controller.rb
466
552
  - spec/rails_app/app/controllers/users/notifications_with_devise_controller.rb
467
553
  - spec/rails_app/app/controllers/users/subscriptions_controller.rb
468
554
  - spec/rails_app/app/controllers/users/subscriptions_with_devise_controller.rb
555
+ - spec/rails_app/app/controllers/users_controller.rb
469
556
  - spec/rails_app/app/helpers/application_helper.rb
557
+ - spec/rails_app/app/javascript/App.vue
558
+ - spec/rails_app/app/javascript/components/DeviseTokenAuth.vue
559
+ - spec/rails_app/app/javascript/components/Top.vue
560
+ - spec/rails_app/app/javascript/components/notifications/Index.vue
561
+ - spec/rails_app/app/javascript/components/notifications/Notification.vue
562
+ - spec/rails_app/app/javascript/components/notifications/NotificationContent.vue
563
+ - spec/rails_app/app/javascript/components/subscriptions/Index.vue
564
+ - spec/rails_app/app/javascript/components/subscriptions/NewSubscription.vue
565
+ - spec/rails_app/app/javascript/components/subscriptions/NotificationKey.vue
566
+ - spec/rails_app/app/javascript/components/subscriptions/Subscription.vue
567
+ - spec/rails_app/app/javascript/config/development.js
568
+ - spec/rails_app/app/javascript/config/environment.js
569
+ - spec/rails_app/app/javascript/config/production.js
570
+ - spec/rails_app/app/javascript/config/test.js
571
+ - spec/rails_app/app/javascript/packs/application.js
572
+ - spec/rails_app/app/javascript/packs/spa.js
573
+ - spec/rails_app/app/javascript/router/index.js
574
+ - spec/rails_app/app/javascript/store/index.js
470
575
  - spec/rails_app/app/mailers/.keep
471
576
  - spec/rails_app/app/mailers/custom_notification_mailer.rb
472
577
  - spec/rails_app/app/models/admin.rb
@@ -481,6 +586,7 @@ files:
481
586
  - spec/rails_app/app/models/dummy/dummy_target.rb
482
587
  - spec/rails_app/app/models/user.rb
483
588
  - spec/rails_app/app/views/activity_notification/mailer/dummy_subscribers/test_key.text.erb
589
+ - spec/rails_app/app/views/activity_notification/notifications/default/article/_update.html.erb
484
590
  - spec/rails_app/app/views/activity_notification/notifications/default/custom/_path_test.html.erb
485
591
  - spec/rails_app/app/views/activity_notification/notifications/default/custom/_test.html.erb
486
592
  - spec/rails_app/app/views/activity_notification/notifications/users/_custom_index.html.erb
@@ -494,10 +600,14 @@ files:
494
600
  - spec/rails_app/app/views/articles/show.html.erb
495
601
  - spec/rails_app/app/views/layouts/_header.html.erb
496
602
  - spec/rails_app/app/views/layouts/application.html.erb
603
+ - spec/rails_app/app/views/spa/index.html.erb
604
+ - spec/rails_app/babel.config.js
497
605
  - spec/rails_app/bin/bundle
498
606
  - spec/rails_app/bin/rails
499
607
  - spec/rails_app/bin/rake
500
608
  - spec/rails_app/bin/setup
609
+ - spec/rails_app/bin/webpack
610
+ - spec/rails_app/bin/webpack-dev-server
501
611
  - spec/rails_app/config.ru
502
612
  - spec/rails_app/config/application.rb
503
613
  - spec/rails_app/config/boot.rb
@@ -512,10 +622,13 @@ files:
512
622
  - spec/rails_app/config/initializers/assets.rb
513
623
  - spec/rails_app/config/initializers/backtrace_silencers.rb
514
624
  - spec/rails_app/config/initializers/cookies_serializer.rb
625
+ - spec/rails_app/config/initializers/copy_it.aws.rb.template
515
626
  - spec/rails_app/config/initializers/devise.rb
627
+ - spec/rails_app/config/initializers/devise_token_auth.rb
516
628
  - spec/rails_app/config/initializers/filter_parameter_logging.rb
517
629
  - spec/rails_app/config/initializers/inflections.rb
518
630
  - spec/rails_app/config/initializers/mime_types.rb
631
+ - spec/rails_app/config/initializers/mysql.rb
519
632
  - spec/rails_app/config/initializers/session_store.rb
520
633
  - spec/rails_app/config/initializers/wrap_parameters.rb
521
634
  - spec/rails_app/config/locales/activity_notification.en.yml
@@ -523,13 +636,23 @@ files:
523
636
  - spec/rails_app/config/mongoid.yml
524
637
  - spec/rails_app/config/routes.rb
525
638
  - spec/rails_app/config/secrets.yml
639
+ - spec/rails_app/config/webpack/development.js
640
+ - spec/rails_app/config/webpack/environment.js
641
+ - spec/rails_app/config/webpack/loaders/vue.js
642
+ - spec/rails_app/config/webpack/production.js
643
+ - spec/rails_app/config/webpack/test.js
644
+ - spec/rails_app/config/webpacker.yml
526
645
  - spec/rails_app/db/migrate/20160716000000_create_test_tables.rb
527
646
  - spec/rails_app/db/migrate/20181209000000_create_activity_notification_tables.rb
647
+ - spec/rails_app/db/migrate/20191201000000_add_tokens_to_users.rb
528
648
  - spec/rails_app/db/schema.rb
529
649
  - spec/rails_app/db/seeds.rb
530
650
  - spec/rails_app/lib/custom_optional_targets/console_output.rb
651
+ - spec/rails_app/lib/custom_optional_targets/raise_error.rb
531
652
  - spec/rails_app/lib/custom_optional_targets/wrong_target.rb
532
653
  - spec/rails_app/lib/mailer_previews/mailer_preview.rb
654
+ - spec/rails_app/package.json
655
+ - spec/rails_app/postcss.config.js
533
656
  - spec/rails_app/public/404.html
534
657
  - spec/rails_app/public/422.html
535
658
  - spec/rails_app/public/500.html
@@ -540,6 +663,7 @@ files:
540
663
  - spec/roles/acts_as_target_spec.rb
541
664
  - spec/spec_helper.rb
542
665
  - spec/support/patch_rails_42_action_controller_test_response.rb
666
+ - spec/version_spec.rb
543
667
  homepage: https://github.com/simukappu/activity_notification
544
668
  licenses:
545
669
  - MIT
@@ -564,6 +688,9 @@ signing_key:
564
688
  specification_version: 4
565
689
  summary: Integrated user activity notifications for Ruby on Rails
566
690
  test_files:
691
+ - spec/channels/notification_api_channel_shared_examples.rb
692
+ - spec/channels/notification_api_channel_spec.rb
693
+ - spec/channels/notification_api_with_devise_channel_spec.rb
567
694
  - spec/channels/notification_channel_shared_examples.rb
568
695
  - spec/channels/notification_channel_spec.rb
569
696
  - spec/channels/notification_with_devise_channel_spec.rb
@@ -578,10 +705,17 @@ test_files:
578
705
  - spec/concerns/renderable_spec.rb
579
706
  - spec/config_spec.rb
580
707
  - spec/controllers/common_controller_spec.rb
708
+ - spec/controllers/controller_spec_utility.rb
581
709
  - spec/controllers/dummy_common_controller.rb
710
+ - spec/controllers/notifications_api_controller_shared_examples.rb
711
+ - spec/controllers/notifications_api_controller_spec.rb
712
+ - spec/controllers/notifications_api_with_devise_controller_spec.rb
582
713
  - spec/controllers/notifications_controller_shared_examples.rb
583
714
  - spec/controllers/notifications_controller_spec.rb
584
715
  - spec/controllers/notifications_with_devise_controller_spec.rb
716
+ - spec/controllers/subscriptions_api_controller_shared_examples.rb
717
+ - spec/controllers/subscriptions_api_controller_spec.rb
718
+ - spec/controllers/subscriptions_api_with_devise_controller_spec.rb
585
719
  - spec/controllers/subscriptions_controller_shared_examples.rb
586
720
  - spec/controllers/subscriptions_controller_spec.rb
587
721
  - spec/controllers/subscriptions_with_devise_controller_spec.rb
@@ -614,25 +748,50 @@ test_files:
614
748
  - spec/models/dummy/dummy_target_spec.rb
615
749
  - spec/models/notification_spec.rb
616
750
  - spec/models/subscription_spec.rb
751
+ - spec/optional_targets/action_cable_api_channel_spec.rb
752
+ - spec/optional_targets/action_cable_channel_spec.rb
617
753
  - spec/optional_targets/amazon_sns_spec.rb
618
754
  - spec/optional_targets/base_spec.rb
619
755
  - spec/optional_targets/slack_spec.rb
620
756
  - spec/orm/dynamoid_spec.rb
621
757
  - spec/rails_app/Rakefile
758
+ - spec/rails_app/app/assets/config/manifest.js
759
+ - spec/rails_app/app/assets/images/.keep
622
760
  - spec/rails_app/app/assets/javascripts/application.js
623
761
  - spec/rails_app/app/assets/javascripts/cable.js
624
762
  - spec/rails_app/app/assets/stylesheets/application.css
625
763
  - spec/rails_app/app/assets/stylesheets/reset.css
626
764
  - spec/rails_app/app/assets/stylesheets/style.css
765
+ - spec/rails_app/app/controllers/admins_controller.rb
627
766
  - spec/rails_app/app/controllers/application_controller.rb
628
767
  - spec/rails_app/app/controllers/articles_controller.rb
629
768
  - spec/rails_app/app/controllers/comments_controller.rb
630
769
  - spec/rails_app/app/controllers/concerns/.keep
770
+ - spec/rails_app/app/controllers/spa_controller.rb
631
771
  - spec/rails_app/app/controllers/users/notifications_controller.rb
632
772
  - spec/rails_app/app/controllers/users/notifications_with_devise_controller.rb
633
773
  - spec/rails_app/app/controllers/users/subscriptions_controller.rb
634
774
  - spec/rails_app/app/controllers/users/subscriptions_with_devise_controller.rb
775
+ - spec/rails_app/app/controllers/users_controller.rb
635
776
  - spec/rails_app/app/helpers/application_helper.rb
777
+ - spec/rails_app/app/javascript/App.vue
778
+ - spec/rails_app/app/javascript/components/DeviseTokenAuth.vue
779
+ - spec/rails_app/app/javascript/components/Top.vue
780
+ - spec/rails_app/app/javascript/components/notifications/Index.vue
781
+ - spec/rails_app/app/javascript/components/notifications/Notification.vue
782
+ - spec/rails_app/app/javascript/components/notifications/NotificationContent.vue
783
+ - spec/rails_app/app/javascript/components/subscriptions/Index.vue
784
+ - spec/rails_app/app/javascript/components/subscriptions/NewSubscription.vue
785
+ - spec/rails_app/app/javascript/components/subscriptions/NotificationKey.vue
786
+ - spec/rails_app/app/javascript/components/subscriptions/Subscription.vue
787
+ - spec/rails_app/app/javascript/config/development.js
788
+ - spec/rails_app/app/javascript/config/environment.js
789
+ - spec/rails_app/app/javascript/config/production.js
790
+ - spec/rails_app/app/javascript/config/test.js
791
+ - spec/rails_app/app/javascript/packs/application.js
792
+ - spec/rails_app/app/javascript/packs/spa.js
793
+ - spec/rails_app/app/javascript/router/index.js
794
+ - spec/rails_app/app/javascript/store/index.js
636
795
  - spec/rails_app/app/mailers/.keep
637
796
  - spec/rails_app/app/mailers/custom_notification_mailer.rb
638
797
  - spec/rails_app/app/models/admin.rb
@@ -647,6 +806,7 @@ test_files:
647
806
  - spec/rails_app/app/models/dummy/dummy_target.rb
648
807
  - spec/rails_app/app/models/user.rb
649
808
  - spec/rails_app/app/views/activity_notification/mailer/dummy_subscribers/test_key.text.erb
809
+ - spec/rails_app/app/views/activity_notification/notifications/default/article/_update.html.erb
650
810
  - spec/rails_app/app/views/activity_notification/notifications/default/custom/_path_test.html.erb
651
811
  - spec/rails_app/app/views/activity_notification/notifications/default/custom/_test.html.erb
652
812
  - spec/rails_app/app/views/activity_notification/notifications/users/_custom_index.html.erb
@@ -660,10 +820,14 @@ test_files:
660
820
  - spec/rails_app/app/views/articles/show.html.erb
661
821
  - spec/rails_app/app/views/layouts/_header.html.erb
662
822
  - spec/rails_app/app/views/layouts/application.html.erb
823
+ - spec/rails_app/app/views/spa/index.html.erb
824
+ - spec/rails_app/babel.config.js
663
825
  - spec/rails_app/bin/bundle
664
826
  - spec/rails_app/bin/rails
665
827
  - spec/rails_app/bin/rake
666
828
  - spec/rails_app/bin/setup
829
+ - spec/rails_app/bin/webpack
830
+ - spec/rails_app/bin/webpack-dev-server
667
831
  - spec/rails_app/config.ru
668
832
  - spec/rails_app/config/application.rb
669
833
  - spec/rails_app/config/boot.rb
@@ -678,10 +842,13 @@ test_files:
678
842
  - spec/rails_app/config/initializers/assets.rb
679
843
  - spec/rails_app/config/initializers/backtrace_silencers.rb
680
844
  - spec/rails_app/config/initializers/cookies_serializer.rb
845
+ - spec/rails_app/config/initializers/copy_it.aws.rb.template
681
846
  - spec/rails_app/config/initializers/devise.rb
847
+ - spec/rails_app/config/initializers/devise_token_auth.rb
682
848
  - spec/rails_app/config/initializers/filter_parameter_logging.rb
683
849
  - spec/rails_app/config/initializers/inflections.rb
684
850
  - spec/rails_app/config/initializers/mime_types.rb
851
+ - spec/rails_app/config/initializers/mysql.rb
685
852
  - spec/rails_app/config/initializers/session_store.rb
686
853
  - spec/rails_app/config/initializers/wrap_parameters.rb
687
854
  - spec/rails_app/config/locales/activity_notification.en.yml
@@ -689,13 +856,23 @@ test_files:
689
856
  - spec/rails_app/config/mongoid.yml
690
857
  - spec/rails_app/config/routes.rb
691
858
  - spec/rails_app/config/secrets.yml
859
+ - spec/rails_app/config/webpack/development.js
860
+ - spec/rails_app/config/webpack/environment.js
861
+ - spec/rails_app/config/webpack/loaders/vue.js
862
+ - spec/rails_app/config/webpack/production.js
863
+ - spec/rails_app/config/webpack/test.js
864
+ - spec/rails_app/config/webpacker.yml
692
865
  - spec/rails_app/db/migrate/20160716000000_create_test_tables.rb
693
866
  - spec/rails_app/db/migrate/20181209000000_create_activity_notification_tables.rb
867
+ - spec/rails_app/db/migrate/20191201000000_add_tokens_to_users.rb
694
868
  - spec/rails_app/db/schema.rb
695
869
  - spec/rails_app/db/seeds.rb
696
870
  - spec/rails_app/lib/custom_optional_targets/console_output.rb
871
+ - spec/rails_app/lib/custom_optional_targets/raise_error.rb
697
872
  - spec/rails_app/lib/custom_optional_targets/wrong_target.rb
698
873
  - spec/rails_app/lib/mailer_previews/mailer_preview.rb
874
+ - spec/rails_app/package.json
875
+ - spec/rails_app/postcss.config.js
699
876
  - spec/rails_app/public/404.html
700
877
  - spec/rails_app/public/422.html
701
878
  - spec/rails_app/public/500.html
@@ -706,3 +883,4 @@ test_files:
706
883
  - spec/roles/acts_as_target_spec.rb
707
884
  - spec/spec_helper.rb
708
885
  - spec/support/patch_rails_42_action_controller_test_response.rb
886
+ - spec/version_spec.rb