activity_notification 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.rubocop.yml +1 -1
  4. data/CHANGELOG.md +23 -11
  5. data/Gemfile.lock +52 -40
  6. data/README.md +177 -14
  7. data/activity_notification.gemspec +3 -1
  8. data/app/controllers/activity_notification/subscriptions_controller.rb +48 -2
  9. data/app/views/activity_notification/optional_targets/default/base/_default.text.erb +10 -0
  10. data/app/views/activity_notification/optional_targets/default/slack/_default.text.erb +6 -0
  11. data/app/views/activity_notification/subscriptions/default/_notification_keys.html.erb +19 -0
  12. data/app/views/activity_notification/subscriptions/default/_subscription.html.erb +32 -3
  13. data/app/views/activity_notification/subscriptions/default/index.html.erb +4 -0
  14. data/app/views/activity_notification/subscriptions/default/show.html.erb +5 -0
  15. data/app/views/activity_notification/subscriptions/default/subscribe_to_optional_target.js.erb +6 -0
  16. data/app/views/activity_notification/subscriptions/default/unsubscribe_to_optional_target.js.erb +6 -0
  17. data/gemfiles/Gemfile.rails-4.2.lock +15 -3
  18. data/gemfiles/Gemfile.rails-5.0.lock +47 -35
  19. data/lib/activity_notification.rb +1 -0
  20. data/lib/activity_notification/apis/notification_api.rb +83 -26
  21. data/lib/activity_notification/apis/subscription_api.rb +93 -8
  22. data/lib/activity_notification/common.rb +6 -2
  23. data/lib/activity_notification/helpers/view_helpers.rb +43 -0
  24. data/lib/activity_notification/models/concerns/notifiable.rb +73 -28
  25. data/lib/activity_notification/models/concerns/subscriber.rb +34 -7
  26. data/lib/activity_notification/models/concerns/target.rb +25 -13
  27. data/lib/activity_notification/models/subscription.rb +13 -2
  28. data/lib/activity_notification/optional_targets/amazon_sns.rb +42 -0
  29. data/lib/activity_notification/optional_targets/base.rb +79 -0
  30. data/lib/activity_notification/optional_targets/slack.rb +33 -0
  31. data/lib/activity_notification/rails/routes.rb +30 -20
  32. data/lib/activity_notification/roles/acts_as_notifiable.rb +70 -11
  33. data/lib/activity_notification/version.rb +1 -1
  34. data/lib/generators/activity_notification/views_generator.rb +2 -2
  35. data/lib/generators/templates/migrations/migration.rb +2 -2
  36. data/spec/concerns/apis/notification_api_spec.rb +97 -0
  37. data/spec/concerns/apis/subscription_api_spec.rb +206 -41
  38. data/spec/concerns/common_spec.rb +7 -2
  39. data/spec/concerns/models/notifiable_spec.rb +88 -2
  40. data/spec/concerns/models/subscriber_spec.rb +114 -13
  41. data/spec/concerns/models/target_spec.rb +17 -0
  42. data/spec/controllers/subscriptions_controller_shared_examples.rb +251 -28
  43. data/spec/helpers/view_helpers_spec.rb +56 -0
  44. data/spec/optional_targets/amazon_sns_spec.rb +46 -0
  45. data/spec/optional_targets/base_spec.rb +43 -0
  46. data/spec/optional_targets/slack_spec.rb +46 -0
  47. data/spec/rails_app/app/controllers/comments_controller.rb +1 -0
  48. data/spec/rails_app/app/models/admin.rb +1 -2
  49. data/spec/rails_app/app/models/article.rb +2 -3
  50. data/spec/rails_app/app/models/comment.rb +19 -7
  51. data/spec/rails_app/app/views/activity_notification/optional_targets/admins/amazon_sns/comment/_default.text.erb +8 -0
  52. data/spec/rails_app/db/migrate/20160715050420_create_activity_notification_tables.rb +1 -1
  53. data/spec/rails_app/db/migrate/20160715050433_create_test_tables.rb +2 -0
  54. data/spec/rails_app/db/schema.rb +3 -1
  55. data/spec/rails_app/db/seeds.rb +1 -1
  56. data/spec/rails_app/lib/custom_optional_targets/console_output.rb +13 -0
  57. data/spec/rails_app/lib/custom_optional_targets/wrong_target.rb +10 -0
  58. data/spec/roles/acts_as_notifiable_spec.rb +124 -2
  59. metadata +49 -4
  60. data/spec/rails_app/app/models/notification.rb +0 -6
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: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shota Yamazaki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-18 00:00:00.000000000 Z
11
+ date: 2017-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -170,6 +170,34 @@ dependencies:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
172
  version: 4.2.0
173
+ - !ruby/object:Gem::Dependency
174
+ name: aws-sdk
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '2'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '2'
187
+ - !ruby/object:Gem::Dependency
188
+ name: slack-notifier
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: 1.5.1
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: 1.5.1
173
201
  description: Integrated user activity notifications for Ruby on Rails. Provides functions
174
202
  to configure multiple notification targets and make activity notifications with
175
203
  notifiable models, like adding comments, responding etc.
@@ -210,6 +238,8 @@ files:
210
238
  - app/views/activity_notification/notifications/default/open.js.erb
211
239
  - app/views/activity_notification/notifications/default/open_all.js.erb
212
240
  - app/views/activity_notification/notifications/default/show.html.erb
241
+ - app/views/activity_notification/optional_targets/default/base/_default.text.erb
242
+ - app/views/activity_notification/optional_targets/default/slack/_default.text.erb
213
243
  - app/views/activity_notification/subscriptions/default/_form.html.erb
214
244
  - app/views/activity_notification/subscriptions/default/_notification_keys.html.erb
215
245
  - app/views/activity_notification/subscriptions/default/_subscription.html.erb
@@ -220,8 +250,10 @@ files:
220
250
  - app/views/activity_notification/subscriptions/default/show.html.erb
221
251
  - app/views/activity_notification/subscriptions/default/subscribe.js.erb
222
252
  - app/views/activity_notification/subscriptions/default/subscribe_to_email.js.erb
253
+ - app/views/activity_notification/subscriptions/default/subscribe_to_optional_target.js.erb
223
254
  - app/views/activity_notification/subscriptions/default/unsubscribe.js.erb
224
255
  - app/views/activity_notification/subscriptions/default/unsubscribe_to_email.js.erb
256
+ - app/views/activity_notification/subscriptions/default/unsubscribe_to_optional_target.js.erb
225
257
  - gemfiles/Gemfile.rails-4.2
226
258
  - gemfiles/Gemfile.rails-4.2.lock
227
259
  - gemfiles/Gemfile.rails-5.0
@@ -245,6 +277,9 @@ files:
245
277
  - lib/activity_notification/models/concerns/target.rb
246
278
  - lib/activity_notification/models/notification.rb
247
279
  - lib/activity_notification/models/subscription.rb
280
+ - lib/activity_notification/optional_targets/amazon_sns.rb
281
+ - lib/activity_notification/optional_targets/base.rb
282
+ - lib/activity_notification/optional_targets/slack.rb
248
283
  - lib/activity_notification/rails.rb
249
284
  - lib/activity_notification/rails/routes.rb
250
285
  - lib/activity_notification/renderable.rb
@@ -315,6 +350,9 @@ files:
315
350
  - spec/models/dummy/dummy_target_spec.rb
316
351
  - spec/models/notification_spec.rb
317
352
  - spec/models/subscription_spec.rb
353
+ - spec/optional_targets/amazon_sns_spec.rb
354
+ - spec/optional_targets/base_spec.rb
355
+ - spec/optional_targets/slack_spec.rb
318
356
  - spec/rails_app/Rakefile
319
357
  - spec/rails_app/app/assets/javascripts/application.js
320
358
  - spec/rails_app/app/assets/stylesheets/application.css
@@ -340,13 +378,13 @@ files:
340
378
  - spec/rails_app/app/models/dummy/dummy_notifier.rb
341
379
  - spec/rails_app/app/models/dummy/dummy_subscriber.rb
342
380
  - spec/rails_app/app/models/dummy/dummy_target.rb
343
- - spec/rails_app/app/models/notification.rb
344
381
  - spec/rails_app/app/models/user.rb
345
382
  - spec/rails_app/app/views/activity_notification/mailer/dummy_subscribers/test_key.text.erb
346
383
  - spec/rails_app/app/views/activity_notification/notifications/default/custom/_path_test.html.erb
347
384
  - spec/rails_app/app/views/activity_notification/notifications/default/custom/_test.html.erb
348
385
  - spec/rails_app/app/views/activity_notification/notifications/users/_custom_index.html.erb
349
386
  - spec/rails_app/app/views/activity_notification/notifications/users/custom/_test.html.erb
387
+ - spec/rails_app/app/views/activity_notification/optional_targets/admins/amazon_sns/comment/_default.text.erb
350
388
  - spec/rails_app/app/views/articles/_form.html.erb
351
389
  - spec/rails_app/app/views/articles/edit.html.erb
352
390
  - spec/rails_app/app/views/articles/index.html.erb
@@ -384,6 +422,8 @@ files:
384
422
  - spec/rails_app/db/migrate/20160715050433_create_test_tables.rb
385
423
  - spec/rails_app/db/schema.rb
386
424
  - spec/rails_app/db/seeds.rb
425
+ - spec/rails_app/lib/custom_optional_targets/console_output.rb
426
+ - spec/rails_app/lib/custom_optional_targets/wrong_target.rb
387
427
  - spec/rails_app/lib/mailer_previews/mailer_preview.rb
388
428
  - spec/rails_app/public/404.html
389
429
  - spec/rails_app/public/422.html
@@ -462,6 +502,9 @@ test_files:
462
502
  - spec/models/dummy/dummy_target_spec.rb
463
503
  - spec/models/notification_spec.rb
464
504
  - spec/models/subscription_spec.rb
505
+ - spec/optional_targets/amazon_sns_spec.rb
506
+ - spec/optional_targets/base_spec.rb
507
+ - spec/optional_targets/slack_spec.rb
465
508
  - spec/rails_app/Rakefile
466
509
  - spec/rails_app/app/assets/javascripts/application.js
467
510
  - spec/rails_app/app/assets/stylesheets/application.css
@@ -487,13 +530,13 @@ test_files:
487
530
  - spec/rails_app/app/models/dummy/dummy_notifier.rb
488
531
  - spec/rails_app/app/models/dummy/dummy_subscriber.rb
489
532
  - spec/rails_app/app/models/dummy/dummy_target.rb
490
- - spec/rails_app/app/models/notification.rb
491
533
  - spec/rails_app/app/models/user.rb
492
534
  - spec/rails_app/app/views/activity_notification/mailer/dummy_subscribers/test_key.text.erb
493
535
  - spec/rails_app/app/views/activity_notification/notifications/default/custom/_path_test.html.erb
494
536
  - spec/rails_app/app/views/activity_notification/notifications/default/custom/_test.html.erb
495
537
  - spec/rails_app/app/views/activity_notification/notifications/users/_custom_index.html.erb
496
538
  - spec/rails_app/app/views/activity_notification/notifications/users/custom/_test.html.erb
539
+ - spec/rails_app/app/views/activity_notification/optional_targets/admins/amazon_sns/comment/_default.text.erb
497
540
  - spec/rails_app/app/views/articles/_form.html.erb
498
541
  - spec/rails_app/app/views/articles/edit.html.erb
499
542
  - spec/rails_app/app/views/articles/index.html.erb
@@ -531,6 +574,8 @@ test_files:
531
574
  - spec/rails_app/db/migrate/20160715050433_create_test_tables.rb
532
575
  - spec/rails_app/db/schema.rb
533
576
  - spec/rails_app/db/seeds.rb
577
+ - spec/rails_app/lib/custom_optional_targets/console_output.rb
578
+ - spec/rails_app/lib/custom_optional_targets/wrong_target.rb
534
579
  - spec/rails_app/lib/mailer_previews/mailer_preview.rb
535
580
  - spec/rails_app/public/404.html
536
581
  - spec/rails_app/public/422.html
@@ -1,6 +0,0 @@
1
- # Notification model for customisation & custom methods
2
- class Notification < ActivityNotification::Notification
3
-
4
- # Write custom methods or override methods here
5
-
6
- end