activity_notification 1.7.1 → 2.0.0
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 +5 -5
- data/.gitignore +3 -0
- data/.travis.yml +16 -2
- data/CHANGELOG.md +22 -2
- data/Gemfile +7 -0
- data/Procfile +2 -0
- data/README.md +366 -32
- data/Rakefile +19 -10
- data/activity_notification.gemspec +5 -3
- data/app/channels/activity_notification/notification_channel.rb +37 -0
- data/app/channels/activity_notification/notification_with_devise_channel.rb +51 -0
- data/app/controllers/activity_notification/notifications_controller.rb +1 -1
- data/app/controllers/activity_notification/subscriptions_controller.rb +1 -1
- data/app/jobs/activity_notification/notify_all_job.rb +16 -0
- data/app/jobs/activity_notification/notify_job.rb +17 -0
- data/app/jobs/activity_notification/notify_to_job.rb +16 -0
- data/app/views/activity_notification/notifications/default/_default_without_grouping.html.erb +1 -1
- data/app/views/activity_notification/notifications/default/index.html.erb +55 -2
- data/bin/_dynamodblocal +4 -0
- data/{scripts → bin}/bundle_update.sh +1 -0
- data/bin/deploy_on_heroku.sh +14 -0
- data/bin/install_dynamodblocal.sh +5 -0
- data/bin/start_dynamodblocal.sh +47 -0
- data/bin/stop_dynamodblocal.sh +34 -0
- data/gemfiles/Gemfile.rails-4.2 +1 -0
- data/gemfiles/Gemfile.rails-5.0 +2 -0
- data/gemfiles/Gemfile.rails-5.1 +1 -0
- data/gemfiles/Gemfile.rails-5.2 +1 -0
- data/gemfiles/Gemfile.rails-6.0.rc +21 -0
- data/lib/activity_notification.rb +1 -0
- data/lib/activity_notification/apis/notification_api.rb +289 -136
- data/lib/activity_notification/apis/subscription_api.rb +80 -53
- data/lib/activity_notification/common.rb +3 -3
- data/lib/activity_notification/config.rb +89 -33
- data/lib/activity_notification/controllers/common_controller.rb +19 -7
- data/lib/activity_notification/helpers/errors.rb +4 -0
- data/lib/activity_notification/helpers/view_helpers.rb +1 -1
- data/lib/activity_notification/models/concerns/notifiable.rb +61 -53
- data/lib/activity_notification/models/concerns/subscriber.rb +7 -6
- data/lib/activity_notification/models/concerns/target.rb +73 -28
- data/lib/activity_notification/optional_targets/base.rb +2 -2
- data/lib/activity_notification/orm/active_record/notification.rb +4 -23
- data/lib/activity_notification/orm/dynamoid.rb +495 -0
- data/lib/activity_notification/orm/dynamoid/extension.rb +184 -0
- data/lib/activity_notification/orm/dynamoid/notification.rb +189 -0
- data/lib/activity_notification/orm/dynamoid/subscription.rb +82 -0
- data/lib/activity_notification/orm/mongoid.rb +4 -1
- data/lib/activity_notification/orm/mongoid/notification.rb +8 -25
- data/lib/activity_notification/orm/mongoid/subscription.rb +1 -1
- data/lib/activity_notification/roles/acts_as_notifiable.rb +33 -5
- data/lib/activity_notification/roles/acts_as_target.rb +62 -9
- data/lib/activity_notification/version.rb +1 -1
- data/lib/generators/templates/activity_notification.rb +30 -7
- data/lib/tasks/activity_notification_tasks.rake +14 -4
- data/spec/channels/notification_channel_shared_examples.rb +59 -0
- data/spec/channels/notification_channel_spec.rb +50 -0
- data/spec/channels/notification_with_devise_channel_spec.rb +99 -0
- data/spec/concerns/apis/notification_api_spec.rb +2 -2
- data/spec/concerns/apis/subscription_api_spec.rb +2 -2
- data/spec/concerns/models/notifiable_spec.rb +72 -7
- data/spec/concerns/models/subscriber_spec.rb +53 -49
- data/spec/concerns/models/target_spec.rb +135 -13
- data/spec/config_spec.rb +41 -1
- data/spec/controllers/notifications_controller_shared_examples.rb +7 -3
- data/spec/controllers/subscriptions_controller_shared_examples.rb +7 -3
- data/spec/helpers/view_helpers_spec.rb +12 -10
- data/spec/models/dummy/dummy_group_spec.rb +4 -0
- data/spec/models/dummy/dummy_notifiable_spec.rb +4 -0
- data/spec/models/dummy/dummy_notifier_spec.rb +4 -0
- data/spec/models/dummy/dummy_subscriber_spec.rb +3 -0
- data/spec/models/dummy/dummy_target_spec.rb +4 -0
- data/spec/models/notification_spec.rb +164 -45
- data/spec/models/subscription_spec.rb +69 -14
- data/spec/orm/dynamoid_spec.rb +115 -0
- data/spec/rails_app/app/assets/javascripts/application.js +2 -1
- data/spec/rails_app/app/assets/javascripts/cable.js +12 -0
- data/spec/rails_app/app/controllers/comments_controller.rb +3 -4
- data/spec/rails_app/app/models/admin.rb +6 -4
- data/spec/rails_app/app/models/article.rb +2 -2
- data/spec/rails_app/app/models/comment.rb +17 -5
- data/spec/rails_app/app/models/user.rb +5 -3
- data/spec/rails_app/app/views/activity_notification/notifications/users/overridden/custom/_test.html.erb +1 -0
- data/spec/rails_app/config/application.rb +6 -1
- data/spec/rails_app/config/cable.yml +8 -0
- data/spec/rails_app/config/dynamoid.rb +5 -0
- data/spec/rails_app/config/environment.rb +4 -1
- data/spec/rails_app/config/environments/production.rb +1 -1
- data/spec/rails_app/config/initializers/activity_notification.rb +30 -7
- data/spec/rails_app/config/locales/activity_notification.en.yml +2 -0
- data/spec/rails_app/db/seeds.rb +21 -5
- data/spec/rails_app/lib/mailer_previews/mailer_preview.rb +12 -4
- data/spec/roles/acts_as_notifiable_spec.rb +2 -2
- data/spec/roles/acts_as_target_spec.rb +1 -1
- data/spec/spec_helper.rb +15 -8
- metadata +67 -20
- data/spec/rails_app/app/models/.keep +0 -0
- data/spec/rails_app/app/views/activity_notification/notifications/users/overriden/custom/_test.html.erb +0 -1
|
@@ -25,7 +25,7 @@ Rails.application.configure do
|
|
|
25
25
|
config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
|
|
26
26
|
|
|
27
27
|
# Compress JavaScripts and CSS.
|
|
28
|
-
config.assets.js_compressor = :uglifier
|
|
28
|
+
# config.assets.js_compressor = :uglifier
|
|
29
29
|
# config.assets.css_compressor = :sass
|
|
30
30
|
|
|
31
31
|
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
ActivityNotification.configure do |config|
|
|
2
2
|
|
|
3
|
-
# Configure ORM name for ActivityNotification.
|
|
4
|
-
# Set :active_record or :mongoid.
|
|
5
|
-
ENV['AN_ORM'] = 'active_record' unless ENV['AN_ORM'] == 'mongoid'
|
|
6
|
-
config.orm = ENV['AN_ORM']
|
|
7
|
-
|
|
8
3
|
# Configure if all activity notifications are enabled
|
|
9
4
|
# Set false when you want to turn off activity notifications
|
|
10
5
|
config.enabled = true
|
|
11
6
|
|
|
12
|
-
# Configure
|
|
7
|
+
# Configure ORM name for ActivityNotification.
|
|
8
|
+
# Set :active_record, :mongoid or :dynamoid.
|
|
9
|
+
ENV['AN_ORM'] = 'active_record' if ['mongoid', 'dynamoid'].exclude?(ENV['AN_ORM'])
|
|
10
|
+
config.orm = ENV['AN_ORM'].to_sym
|
|
11
|
+
|
|
12
|
+
# Configure table name to store notification data.
|
|
13
13
|
config.notification_table_name = "notifications"
|
|
14
14
|
|
|
15
|
-
# Configure table name to store subscription data
|
|
15
|
+
# Configure table name to store subscription data.
|
|
16
16
|
config.subscription_table_name = "subscriptions"
|
|
17
17
|
|
|
18
18
|
# Configure if email notification is enabled as default.
|
|
@@ -47,6 +47,9 @@ ActivityNotification.configure do |config|
|
|
|
47
47
|
# Configure the parent class for activity_notification controllers.
|
|
48
48
|
# config.parent_controller = 'ApplicationController'
|
|
49
49
|
|
|
50
|
+
# Configure the parent class for activity_notification channels.
|
|
51
|
+
# config.parent_channel = 'ActionCable::Channel::Base'
|
|
52
|
+
|
|
50
53
|
# Configure the custom mailer templates directory
|
|
51
54
|
# config.mailer_templates_dir = 'activity_notification/mailer'
|
|
52
55
|
|
|
@@ -56,4 +59,24 @@ ActivityNotification.configure do |config|
|
|
|
56
59
|
# Configure ActiveJob queue name for delayed notifications.
|
|
57
60
|
config.active_job_queue = :activity_notification
|
|
58
61
|
|
|
62
|
+
# Configure delimiter of composite key for DynamoDB.
|
|
63
|
+
# config.composite_key_delimiter = '#'
|
|
64
|
+
|
|
65
|
+
# Configure if activity_notification stores notificaion records including associated records like target and notifiable..
|
|
66
|
+
# This store_with_associated_records option can be set true only when you use mongoid or dynamoid ORM.
|
|
67
|
+
config.store_with_associated_records = false
|
|
68
|
+
|
|
69
|
+
# Configure if WebSocket subscription using ActionCable is enabled.
|
|
70
|
+
# Note that you can configure them for each model by acts_as roles.
|
|
71
|
+
# Set true when you want to turn on WebSocket subscription using ActionCable as default.
|
|
72
|
+
config.action_cable_enabled = false
|
|
73
|
+
|
|
74
|
+
# Configure if ctivity_notification publishes WebSocket notifications using ActionCable only to authenticated target with Devise.
|
|
75
|
+
# Note that you can configure them for each model by acts_as roles.
|
|
76
|
+
# Set true when you want to use Device integration with WebSocket subscription using ActionCable as default.
|
|
77
|
+
config.action_cable_with_devise = false
|
|
78
|
+
|
|
79
|
+
# Configure notification channel prefix for ActionCable.
|
|
80
|
+
config.notification_channel_prefix = 'activity_notification_channel'
|
|
81
|
+
|
|
59
82
|
end
|
|
@@ -11,6 +11,8 @@ en:
|
|
|
11
11
|
destroy:
|
|
12
12
|
text: 'Some user removed an article!'
|
|
13
13
|
comment:
|
|
14
|
+
create:
|
|
15
|
+
text: '%{notifier_name} posted a comment on the article "%{article_title}"'
|
|
14
16
|
post:
|
|
15
17
|
text:
|
|
16
18
|
one: "<p>%{notifier_name} posted a comment on your article %{article_title}</p>"
|
data/spec/rails_app/db/seeds.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
# This file is seed file for test data on development environment.
|
|
3
3
|
|
|
4
|
-
def
|
|
5
|
-
[ActivityNotification::Notification, ActivityNotification::Subscription, Comment, Article, Admin, User].each do |
|
|
6
|
-
|
|
4
|
+
def clean_database
|
|
5
|
+
[ActivityNotification::Notification, ActivityNotification::Subscription, Comment, Article, Admin, User].each do |model_class|
|
|
6
|
+
model_class.delete_all
|
|
7
7
|
end
|
|
8
8
|
end
|
|
9
9
|
|
|
@@ -29,8 +29,11 @@ def reset_pk_sequence
|
|
|
29
29
|
end
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
clean_database
|
|
33
|
+
puts "* Cleaned database"
|
|
34
|
+
|
|
33
35
|
reset_pk_sequence
|
|
36
|
+
puts "* Reset sequences for primary keys"
|
|
34
37
|
|
|
35
38
|
['Ichiro', 'Stephen', 'Klay', 'Kevin'].each do |name|
|
|
36
39
|
user = User.new(
|
|
@@ -42,6 +45,7 @@ reset_pk_sequence
|
|
|
42
45
|
user.skip_confirmation!
|
|
43
46
|
user.save!
|
|
44
47
|
end
|
|
48
|
+
puts "* Created #{User.count} user records"
|
|
45
49
|
|
|
46
50
|
['Ichiro'].each do |name|
|
|
47
51
|
user = User.find_by(name: name)
|
|
@@ -51,6 +55,7 @@ end
|
|
|
51
55
|
slack_username: ENV['OPTIONAL_TARGET_SLACK_USERNAME']
|
|
52
56
|
)
|
|
53
57
|
end
|
|
58
|
+
puts "* Created #{Admin.count} admin records"
|
|
54
59
|
|
|
55
60
|
User.all.each do |user|
|
|
56
61
|
article = user.articles.create(
|
|
@@ -59,6 +64,10 @@ User.all.each do |user|
|
|
|
59
64
|
)
|
|
60
65
|
article.notify :users, send_email: false
|
|
61
66
|
end
|
|
67
|
+
puts "* Created #{Article.count} article records"
|
|
68
|
+
notifications = ActivityNotification::Notification.filtered_by_type("Article")
|
|
69
|
+
puts "** Generated #{ActivityNotification::Notification.filtered_by_type("Article").count} notification records for new articles"
|
|
70
|
+
puts "*** #{ActivityNotification::Notification.filtered_by_type("Article").filtered_by_target_type("User").count} notifications as #{ActivityNotification::Notification.filtered_by_type("Article").filtered_by_target_type("User").group_owners_only.count} groups to users"
|
|
62
71
|
|
|
63
72
|
Article.all.each do |article|
|
|
64
73
|
User.all.each do |user|
|
|
@@ -68,4 +77,11 @@ Article.all.each do |article|
|
|
|
68
77
|
)
|
|
69
78
|
comment.notify :users, send_email: false
|
|
70
79
|
end
|
|
71
|
-
end
|
|
80
|
+
end
|
|
81
|
+
puts "* Created #{Comment.count} comment records"
|
|
82
|
+
notifications = ActivityNotification::Notification.filtered_by_type("Comment")
|
|
83
|
+
puts "** Generated #{ActivityNotification::Notification.filtered_by_type("Comment").count} notification records for new comments"
|
|
84
|
+
puts "*** #{ActivityNotification::Notification.filtered_by_type("Comment").filtered_by_target_type("User").count} notifications as #{ActivityNotification::Notification.filtered_by_type("Comment").filtered_by_target_type("User").group_owners_only.count} groups to users"
|
|
85
|
+
puts "*** #{ActivityNotification::Notification.filtered_by_type("Comment").filtered_by_target_type("Admin").count} notifications as #{ActivityNotification::Notification.filtered_by_type("Comment").filtered_by_target_type("Admin").group_owners_only.count} groups to admins"
|
|
86
|
+
|
|
87
|
+
puts "Created ActivityNotification test records!"
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
class ActivityNotification::MailerPreview < ActionMailer::Preview
|
|
2
2
|
|
|
3
3
|
def send_notification_email_single
|
|
4
|
-
target_notification =
|
|
4
|
+
target_notification =
|
|
5
|
+
case ActivityNotification.config.orm
|
|
6
|
+
when :active_record then ActivityNotification::Notification.where(group: nil).first
|
|
7
|
+
when :mongoid then ActivityNotification::Notification.where(group: nil).first
|
|
8
|
+
when :dynamoid then ActivityNotification::Notification.where('group_key.null': true).first
|
|
9
|
+
end
|
|
5
10
|
ActivityNotification::Mailer.send_notification_email(target_notification)
|
|
6
11
|
end
|
|
7
12
|
|
|
8
13
|
def send_notification_email_with_group
|
|
9
|
-
target_notification =
|
|
10
|
-
ActivityNotification
|
|
11
|
-
ActivityNotification::Notification.where(:
|
|
14
|
+
target_notification =
|
|
15
|
+
case ActivityNotification.config.orm
|
|
16
|
+
when :active_record then ActivityNotification::Notification.where.not(group: nil).first
|
|
17
|
+
when :mongoid then ActivityNotification::Notification.where(:group_id.nin => ["", nil]).first
|
|
18
|
+
when :dynamoid then ActivityNotification::Notification.where('group_key.not_null': true).first
|
|
19
|
+
end
|
|
12
20
|
ActivityNotification::Mailer.send_notification_email(target_notification)
|
|
13
21
|
end
|
|
14
22
|
|
|
@@ -312,7 +312,7 @@ describe ActivityNotification::ActsAsNotifiable do
|
|
|
312
312
|
if ActivityNotification.config.orm == :active_record
|
|
313
313
|
expect { @notifiable_1.destroy }.to raise_error(ActiveRecord::DeleteRestrictionError)
|
|
314
314
|
else
|
|
315
|
-
expect { @notifiable_1.destroy }.to raise_error(
|
|
315
|
+
expect { @notifiable_1.destroy }.to raise_error(ActivityNotification::DeleteRestrictionError)
|
|
316
316
|
end
|
|
317
317
|
end
|
|
318
318
|
end
|
|
@@ -427,7 +427,7 @@ describe ActivityNotification::ActsAsNotifiable do
|
|
|
427
427
|
describe ".available_notifiable_options" do
|
|
428
428
|
it "returns list of available options in acts_as_notifiable" do
|
|
429
429
|
expect(dummy_model_class.available_notifiable_options)
|
|
430
|
-
.to eq([:targets, :group, :group_expiry_delay, :notifier, :parameters, :email_allowed, :notifiable_path, :printable_notifiable_name, :printable_name, :dependent_notifications, :optional_targets])
|
|
430
|
+
.to eq([:targets, :group, :group_expiry_delay, :notifier, :parameters, :email_allowed, :action_cable_allowed, :notifiable_path, :printable_notifiable_name, :printable_name, :dependent_notifications, :optional_targets])
|
|
431
431
|
end
|
|
432
432
|
end
|
|
433
433
|
end
|
|
@@ -33,7 +33,7 @@ describe ActivityNotification::ActsAsTarget do
|
|
|
33
33
|
describe ".available_target_options" do
|
|
34
34
|
it "returns list of available options in acts_as_target" do
|
|
35
35
|
expect(dummy_model_class.available_target_options)
|
|
36
|
-
.to eq([:email, :email_allowed, :batch_email_allowed, :subscription_allowed, :devise_resource, :printable_notification_target_name, :printable_name])
|
|
36
|
+
.to eq([:email, :email_allowed, :batch_email_allowed, :subscription_allowed, :action_cable_enabled, :action_cable_with_devise, :devise_resource, :printable_notification_target_name, :printable_name])
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
39
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -16,35 +16,42 @@ SimpleCov.start('rails') do
|
|
|
16
16
|
add_filter '/lib/generators/templates/'
|
|
17
17
|
add_filter '/lib/activity_notification/version.rb'
|
|
18
18
|
if Rails::VERSION::MAJOR >= 5
|
|
19
|
-
|
|
19
|
+
skip_token_tag = 'except-rails5-plus'
|
|
20
20
|
else
|
|
21
|
-
|
|
21
|
+
skip_token_tag = 'only-rails5-plus'
|
|
22
|
+
add_filter '/app/channels/activity_notification/'
|
|
22
23
|
end
|
|
23
24
|
if Gem::Version.new("5.1.6") <= Rails.gem_version && Rails.gem_version < Gem::Version.new("5.2.2")
|
|
24
|
-
|
|
25
|
+
skip_token_tag += '#only-rails-without-callback-issue'
|
|
25
26
|
else
|
|
26
|
-
|
|
27
|
+
skip_token_tag += '#only-rails-with-callback-issue'
|
|
27
28
|
end
|
|
28
29
|
if ENV['AN_ORM'] == 'mongoid'
|
|
29
30
|
add_filter '/lib/activity_notification/orm/active_record'
|
|
31
|
+
add_filter '/lib/activity_notification/orm/dynamoid'
|
|
32
|
+
elsif ENV['AN_ORM'] == 'dynamoid'
|
|
33
|
+
add_filter '/lib/activity_notification/orm/active_record'
|
|
34
|
+
add_filter '/lib/activity_notification/orm/mongoid'
|
|
35
|
+
skip_token_tag += '#except-dynamoid'
|
|
30
36
|
else
|
|
31
37
|
add_filter '/lib/activity_notification/orm/mongoid'
|
|
38
|
+
add_filter '/lib/activity_notification/orm/dynamoid'
|
|
32
39
|
end
|
|
40
|
+
skip_token skip_token_tag
|
|
33
41
|
end
|
|
34
42
|
|
|
35
|
-
# Testing with Devise
|
|
36
|
-
require 'devise'
|
|
37
43
|
# Dummy application
|
|
38
44
|
require 'rails_app/config/environment'
|
|
39
45
|
|
|
40
46
|
require 'rspec/rails'
|
|
41
47
|
require 'ammeter/init'
|
|
48
|
+
require "action_cable/testing/rspec" if Rails::VERSION::MAJOR == 5
|
|
42
49
|
require 'factory_bot_rails'
|
|
43
50
|
require 'activity_notification'
|
|
44
51
|
|
|
45
52
|
Dir[Rails.root.join("../../spec/support/**/*.rb")].each { |file| require file }
|
|
46
53
|
|
|
47
|
-
def
|
|
54
|
+
def clean_database
|
|
48
55
|
[ActivityNotification::Notification, ActivityNotification::Subscription, Comment, Article, Admin, User].each do |model_class|
|
|
49
56
|
model_class.delete_all
|
|
50
57
|
end
|
|
@@ -54,7 +61,7 @@ RSpec.configure do |config|
|
|
|
54
61
|
config.include FactoryBot::Syntax::Methods
|
|
55
62
|
config.before(:all) do
|
|
56
63
|
FactoryBot.reload
|
|
57
|
-
|
|
64
|
+
clean_database
|
|
58
65
|
end
|
|
59
66
|
config.include Devise::Test::ControllerHelpers, type: :controller
|
|
60
67
|
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:
|
|
4
|
+
version: 2.0.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: 2019-
|
|
11
|
+
date: 2019-08-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: railties
|
|
@@ -19,7 +19,7 @@ dependencies:
|
|
|
19
19
|
version: 4.2.0
|
|
20
20
|
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '
|
|
22
|
+
version: '6.1'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -29,7 +29,7 @@ dependencies:
|
|
|
29
29
|
version: 4.2.0
|
|
30
30
|
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
32
|
+
version: '6.1'
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: i18n
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -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: puma
|
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - ">="
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: 3.12.0
|
|
68
|
+
type: :development
|
|
69
|
+
prerelease: false
|
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - ">="
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: 3.12.0
|
|
61
75
|
- !ruby/object:Gem::Dependency
|
|
62
76
|
name: sqlite3
|
|
63
77
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -65,9 +79,6 @@ dependencies:
|
|
|
65
79
|
- - ">="
|
|
66
80
|
- !ruby/object:Gem::Version
|
|
67
81
|
version: 1.3.13
|
|
68
|
-
- - "<"
|
|
69
|
-
- !ruby/object:Gem::Version
|
|
70
|
-
version: 1.4.0
|
|
71
82
|
type: :development
|
|
72
83
|
prerelease: false
|
|
73
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -75,9 +86,6 @@ dependencies:
|
|
|
75
86
|
- - ">="
|
|
76
87
|
- !ruby/object:Gem::Version
|
|
77
88
|
version: 1.3.13
|
|
78
|
-
- - "<"
|
|
79
|
-
- !ruby/object:Gem::Version
|
|
80
|
-
version: 1.4.0
|
|
81
89
|
- !ruby/object:Gem::Dependency
|
|
82
90
|
name: mysql2
|
|
83
91
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -113,19 +121,33 @@ dependencies:
|
|
|
113
121
|
- - ">="
|
|
114
122
|
- !ruby/object:Gem::Version
|
|
115
123
|
version: 4.0.0
|
|
124
|
+
type: :development
|
|
125
|
+
prerelease: false
|
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
127
|
+
requirements:
|
|
128
|
+
- - ">="
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: 4.0.0
|
|
131
|
+
- !ruby/object:Gem::Dependency
|
|
132
|
+
name: dynamoid
|
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
|
134
|
+
requirements:
|
|
135
|
+
- - ">="
|
|
136
|
+
- !ruby/object:Gem::Version
|
|
137
|
+
version: 3.0.0
|
|
116
138
|
- - "<"
|
|
117
139
|
- !ruby/object:Gem::Version
|
|
118
|
-
version:
|
|
140
|
+
version: 3.2.0
|
|
119
141
|
type: :development
|
|
120
142
|
prerelease: false
|
|
121
143
|
version_requirements: !ruby/object:Gem::Requirement
|
|
122
144
|
requirements:
|
|
123
145
|
- - ">="
|
|
124
146
|
- !ruby/object:Gem::Version
|
|
125
|
-
version:
|
|
147
|
+
version: 3.0.0
|
|
126
148
|
- - "<"
|
|
127
149
|
- !ruby/object:Gem::Version
|
|
128
|
-
version:
|
|
150
|
+
version: 3.2.0
|
|
129
151
|
- !ruby/object:Gem::Dependency
|
|
130
152
|
name: rspec-rails
|
|
131
153
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -263,9 +285,12 @@ files:
|
|
|
263
285
|
- CHANGELOG.md
|
|
264
286
|
- Gemfile
|
|
265
287
|
- MIT-LICENSE
|
|
288
|
+
- Procfile
|
|
266
289
|
- README.md
|
|
267
290
|
- Rakefile
|
|
268
291
|
- activity_notification.gemspec
|
|
292
|
+
- app/channels/activity_notification/notification_channel.rb
|
|
293
|
+
- app/channels/activity_notification/notification_with_devise_channel.rb
|
|
269
294
|
- app/controllers/activity_notification/notifications_controller.rb
|
|
270
295
|
- app/controllers/activity_notification/notifications_with_devise_controller.rb
|
|
271
296
|
- app/controllers/activity_notification/subscriptions_controller.rb
|
|
@@ -302,10 +327,17 @@ files:
|
|
|
302
327
|
- app/views/activity_notification/subscriptions/default/unsubscribe.js.erb
|
|
303
328
|
- app/views/activity_notification/subscriptions/default/unsubscribe_to_email.js.erb
|
|
304
329
|
- app/views/activity_notification/subscriptions/default/unsubscribe_to_optional_target.js.erb
|
|
330
|
+
- bin/_dynamodblocal
|
|
331
|
+
- bin/bundle_update.sh
|
|
332
|
+
- bin/deploy_on_heroku.sh
|
|
333
|
+
- bin/install_dynamodblocal.sh
|
|
334
|
+
- bin/start_dynamodblocal.sh
|
|
335
|
+
- bin/stop_dynamodblocal.sh
|
|
305
336
|
- gemfiles/Gemfile.rails-4.2
|
|
306
337
|
- gemfiles/Gemfile.rails-5.0
|
|
307
338
|
- gemfiles/Gemfile.rails-5.1
|
|
308
339
|
- gemfiles/Gemfile.rails-5.2
|
|
340
|
+
- gemfiles/Gemfile.rails-6.0.rc
|
|
309
341
|
- lib/activity_notification.rb
|
|
310
342
|
- lib/activity_notification/apis/notification_api.rb
|
|
311
343
|
- lib/activity_notification/apis/subscription_api.rb
|
|
@@ -314,6 +346,7 @@ files:
|
|
|
314
346
|
- lib/activity_notification/controllers/common_controller.rb
|
|
315
347
|
- lib/activity_notification/controllers/devise_authentication_controller.rb
|
|
316
348
|
- lib/activity_notification/controllers/store_controller.rb
|
|
349
|
+
- lib/activity_notification/helpers/errors.rb
|
|
317
350
|
- lib/activity_notification/helpers/polymorphic_helpers.rb
|
|
318
351
|
- lib/activity_notification/helpers/view_helpers.rb
|
|
319
352
|
- lib/activity_notification/mailers/helpers.rb
|
|
@@ -331,6 +364,10 @@ files:
|
|
|
331
364
|
- lib/activity_notification/orm/active_record.rb
|
|
332
365
|
- lib/activity_notification/orm/active_record/notification.rb
|
|
333
366
|
- lib/activity_notification/orm/active_record/subscription.rb
|
|
367
|
+
- lib/activity_notification/orm/dynamoid.rb
|
|
368
|
+
- lib/activity_notification/orm/dynamoid/extension.rb
|
|
369
|
+
- lib/activity_notification/orm/dynamoid/notification.rb
|
|
370
|
+
- lib/activity_notification/orm/dynamoid/subscription.rb
|
|
334
371
|
- lib/activity_notification/orm/mongoid.rb
|
|
335
372
|
- lib/activity_notification/orm/mongoid/notification.rb
|
|
336
373
|
- lib/activity_notification/orm/mongoid/subscription.rb
|
|
@@ -361,7 +398,9 @@ files:
|
|
|
361
398
|
- lib/generators/templates/models/notification.rb
|
|
362
399
|
- lib/generators/templates/models/subscription.rb
|
|
363
400
|
- lib/tasks/activity_notification_tasks.rake
|
|
364
|
-
-
|
|
401
|
+
- spec/channels/notification_channel_shared_examples.rb
|
|
402
|
+
- spec/channels/notification_channel_spec.rb
|
|
403
|
+
- spec/channels/notification_with_devise_channel_spec.rb
|
|
365
404
|
- spec/concerns/apis/notification_api_spec.rb
|
|
366
405
|
- spec/concerns/apis/subscription_api_spec.rb
|
|
367
406
|
- spec/concerns/common_spec.rb
|
|
@@ -412,8 +451,10 @@ files:
|
|
|
412
451
|
- spec/optional_targets/amazon_sns_spec.rb
|
|
413
452
|
- spec/optional_targets/base_spec.rb
|
|
414
453
|
- spec/optional_targets/slack_spec.rb
|
|
454
|
+
- spec/orm/dynamoid_spec.rb
|
|
415
455
|
- spec/rails_app/Rakefile
|
|
416
456
|
- spec/rails_app/app/assets/javascripts/application.js
|
|
457
|
+
- spec/rails_app/app/assets/javascripts/cable.js
|
|
417
458
|
- spec/rails_app/app/assets/stylesheets/application.css
|
|
418
459
|
- spec/rails_app/app/assets/stylesheets/reset.css
|
|
419
460
|
- spec/rails_app/app/assets/stylesheets/style.css
|
|
@@ -428,7 +469,6 @@ files:
|
|
|
428
469
|
- spec/rails_app/app/helpers/application_helper.rb
|
|
429
470
|
- spec/rails_app/app/mailers/.keep
|
|
430
471
|
- spec/rails_app/app/mailers/custom_notification_mailer.rb
|
|
431
|
-
- spec/rails_app/app/models/.keep
|
|
432
472
|
- spec/rails_app/app/models/admin.rb
|
|
433
473
|
- spec/rails_app/app/models/article.rb
|
|
434
474
|
- spec/rails_app/app/models/comment.rb
|
|
@@ -445,7 +485,7 @@ files:
|
|
|
445
485
|
- spec/rails_app/app/views/activity_notification/notifications/default/custom/_test.html.erb
|
|
446
486
|
- spec/rails_app/app/views/activity_notification/notifications/users/_custom_index.html.erb
|
|
447
487
|
- spec/rails_app/app/views/activity_notification/notifications/users/custom/_test.html.erb
|
|
448
|
-
- spec/rails_app/app/views/activity_notification/notifications/users/
|
|
488
|
+
- spec/rails_app/app/views/activity_notification/notifications/users/overridden/custom/_test.html.erb
|
|
449
489
|
- spec/rails_app/app/views/activity_notification/optional_targets/admins/amazon_sns/comment/_default.text.erb
|
|
450
490
|
- spec/rails_app/app/views/articles/_form.html.erb
|
|
451
491
|
- spec/rails_app/app/views/articles/edit.html.erb
|
|
@@ -461,7 +501,9 @@ files:
|
|
|
461
501
|
- spec/rails_app/config.ru
|
|
462
502
|
- spec/rails_app/config/application.rb
|
|
463
503
|
- spec/rails_app/config/boot.rb
|
|
504
|
+
- spec/rails_app/config/cable.yml
|
|
464
505
|
- spec/rails_app/config/database.yml
|
|
506
|
+
- spec/rails_app/config/dynamoid.rb
|
|
465
507
|
- spec/rails_app/config/environment.rb
|
|
466
508
|
- spec/rails_app/config/environments/development.rb
|
|
467
509
|
- spec/rails_app/config/environments/production.rb
|
|
@@ -517,12 +559,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
517
559
|
- !ruby/object:Gem::Version
|
|
518
560
|
version: '0'
|
|
519
561
|
requirements: []
|
|
520
|
-
|
|
521
|
-
rubygems_version: 2.6.11
|
|
562
|
+
rubygems_version: 3.0.3
|
|
522
563
|
signing_key:
|
|
523
564
|
specification_version: 4
|
|
524
565
|
summary: Integrated user activity notifications for Ruby on Rails
|
|
525
566
|
test_files:
|
|
567
|
+
- spec/channels/notification_channel_shared_examples.rb
|
|
568
|
+
- spec/channels/notification_channel_spec.rb
|
|
569
|
+
- spec/channels/notification_with_devise_channel_spec.rb
|
|
526
570
|
- spec/concerns/apis/notification_api_spec.rb
|
|
527
571
|
- spec/concerns/apis/subscription_api_spec.rb
|
|
528
572
|
- spec/concerns/common_spec.rb
|
|
@@ -573,8 +617,10 @@ test_files:
|
|
|
573
617
|
- spec/optional_targets/amazon_sns_spec.rb
|
|
574
618
|
- spec/optional_targets/base_spec.rb
|
|
575
619
|
- spec/optional_targets/slack_spec.rb
|
|
620
|
+
- spec/orm/dynamoid_spec.rb
|
|
576
621
|
- spec/rails_app/Rakefile
|
|
577
622
|
- spec/rails_app/app/assets/javascripts/application.js
|
|
623
|
+
- spec/rails_app/app/assets/javascripts/cable.js
|
|
578
624
|
- spec/rails_app/app/assets/stylesheets/application.css
|
|
579
625
|
- spec/rails_app/app/assets/stylesheets/reset.css
|
|
580
626
|
- spec/rails_app/app/assets/stylesheets/style.css
|
|
@@ -589,7 +635,6 @@ test_files:
|
|
|
589
635
|
- spec/rails_app/app/helpers/application_helper.rb
|
|
590
636
|
- spec/rails_app/app/mailers/.keep
|
|
591
637
|
- spec/rails_app/app/mailers/custom_notification_mailer.rb
|
|
592
|
-
- spec/rails_app/app/models/.keep
|
|
593
638
|
- spec/rails_app/app/models/admin.rb
|
|
594
639
|
- spec/rails_app/app/models/article.rb
|
|
595
640
|
- spec/rails_app/app/models/comment.rb
|
|
@@ -606,7 +651,7 @@ test_files:
|
|
|
606
651
|
- spec/rails_app/app/views/activity_notification/notifications/default/custom/_test.html.erb
|
|
607
652
|
- spec/rails_app/app/views/activity_notification/notifications/users/_custom_index.html.erb
|
|
608
653
|
- spec/rails_app/app/views/activity_notification/notifications/users/custom/_test.html.erb
|
|
609
|
-
- spec/rails_app/app/views/activity_notification/notifications/users/
|
|
654
|
+
- spec/rails_app/app/views/activity_notification/notifications/users/overridden/custom/_test.html.erb
|
|
610
655
|
- spec/rails_app/app/views/activity_notification/optional_targets/admins/amazon_sns/comment/_default.text.erb
|
|
611
656
|
- spec/rails_app/app/views/articles/_form.html.erb
|
|
612
657
|
- spec/rails_app/app/views/articles/edit.html.erb
|
|
@@ -622,7 +667,9 @@ test_files:
|
|
|
622
667
|
- spec/rails_app/config.ru
|
|
623
668
|
- spec/rails_app/config/application.rb
|
|
624
669
|
- spec/rails_app/config/boot.rb
|
|
670
|
+
- spec/rails_app/config/cable.yml
|
|
625
671
|
- spec/rails_app/config/database.yml
|
|
672
|
+
- spec/rails_app/config/dynamoid.rb
|
|
626
673
|
- spec/rails_app/config/environment.rb
|
|
627
674
|
- spec/rails_app/config/environments/development.rb
|
|
628
675
|
- spec/rails_app/config/environments/production.rb
|