activity_notification 1.0.2 → 1.1.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 +4 -4
- data/.codeclimate.yml +33 -0
- data/.rubocop.yml +1157 -0
- data/.yardopts +3 -0
- data/CHANGELOG.md +25 -0
- data/Gemfile.lock +15 -17
- data/README.md +154 -27
- data/activity_notification.gemspec +1 -1
- data/app/controllers/activity_notification/notifications_controller.rb +30 -104
- data/app/controllers/activity_notification/notifications_with_devise_controller.rb +1 -33
- data/app/controllers/activity_notification/subscriptions_controller.rb +184 -0
- data/app/controllers/activity_notification/subscriptions_with_devise_controller.rb +6 -0
- data/app/mailers/activity_notification/mailer.rb +3 -3
- data/app/views/activity_notification/notifications/default/_index.html.erb +3 -0
- data/app/views/activity_notification/notifications/default/index.html.erb +8 -10
- data/app/views/activity_notification/notifications/default/show.html.erb +24 -2
- data/app/views/activity_notification/subscriptions/default/_form.html.erb +52 -0
- data/app/views/activity_notification/subscriptions/default/_notification_keys.html.erb +89 -0
- data/app/views/activity_notification/subscriptions/default/_subscription.html.erb +73 -0
- data/app/views/activity_notification/subscriptions/default/_subscriptions.html.erb +13 -0
- data/app/views/activity_notification/subscriptions/default/create.js.erb +5 -0
- data/app/views/activity_notification/subscriptions/default/destroy.js.erb +5 -0
- data/app/views/activity_notification/subscriptions/default/index.html.erb +197 -0
- data/app/views/activity_notification/subscriptions/default/show.html.erb +177 -0
- data/app/views/activity_notification/subscriptions/default/subscribe.js.erb +8 -0
- data/app/views/activity_notification/subscriptions/default/subscribe_to_email.js.erb +6 -0
- data/app/views/activity_notification/subscriptions/default/unsubscribe.js.erb +8 -0
- data/app/views/activity_notification/subscriptions/default/unsubscribe_to_email.js.erb +6 -0
- data/gemfiles/Gemfile.rails-4.2.lock +18 -20
- data/gemfiles/Gemfile.rails-5.0.lock +18 -20
- data/lib/activity_notification.rb +7 -3
- data/lib/activity_notification/apis/notification_api.rb +95 -61
- data/lib/activity_notification/apis/subscription_api.rb +51 -0
- data/lib/activity_notification/common.rb +1 -1
- data/lib/activity_notification/config.rb +65 -17
- data/lib/activity_notification/controllers/common_controller.rb +118 -0
- data/lib/activity_notification/controllers/devise_authentication_controller.rb +41 -0
- data/lib/activity_notification/helpers/view_helpers.rb +131 -3
- data/lib/activity_notification/mailers/helpers.rb +6 -8
- data/lib/activity_notification/models/concerns/notifiable.rb +45 -27
- data/lib/activity_notification/models/concerns/subscriber.rb +149 -0
- data/lib/activity_notification/models/concerns/target.rb +100 -66
- data/lib/activity_notification/models/notification.rb +7 -5
- data/lib/activity_notification/models/subscription.rb +93 -0
- data/lib/activity_notification/rails/routes.rb +148 -33
- data/lib/activity_notification/renderable.rb +3 -4
- data/lib/activity_notification/roles/acts_as_notifiable.rb +14 -1
- data/lib/activity_notification/roles/acts_as_target.rb +11 -8
- data/lib/activity_notification/version.rb +1 -1
- data/lib/generators/activity_notification/controllers_generator.rb +2 -2
- data/lib/generators/activity_notification/install_generator.rb +0 -1
- data/lib/generators/activity_notification/migration/migration_generator.rb +8 -2
- data/lib/generators/activity_notification/models_generator.rb +53 -0
- data/lib/generators/activity_notification/views_generator.rb +7 -7
- data/lib/generators/templates/activity_notification.rb +17 -3
- data/lib/generators/templates/controllers/notifications_controller.rb +18 -17
- data/lib/generators/templates/controllers/notifications_with_devise_controller.rb +18 -17
- data/lib/generators/templates/controllers/subscriptions_controller.rb +79 -0
- data/lib/generators/templates/controllers/subscriptions_with_devise_controller.rb +87 -0
- data/lib/generators/templates/migrations/migration.rb +57 -0
- data/lib/generators/templates/models/README +10 -0
- data/lib/generators/templates/{notification → models}/notification.rb +1 -3
- data/lib/generators/templates/models/subscription.rb +4 -0
- data/spec/concerns/apis/notification_api_spec.rb +48 -11
- data/spec/concerns/apis/subscription_api_spec.rb +167 -0
- data/spec/concerns/models/notifiable_spec.rb +60 -0
- data/spec/concerns/models/subscriber_spec.rb +525 -0
- data/spec/concerns/models/target_spec.rb +271 -42
- data/spec/controllers/common_controller_spec.rb +25 -0
- data/spec/controllers/dummy_common_controller.rb +5 -0
- data/spec/controllers/notifications_controller_shared_examples.rb +2 -6
- data/spec/controllers/subscriptions_controller_shared_examples.rb +735 -0
- data/spec/controllers/subscriptions_controller_spec.rb +12 -0
- data/spec/controllers/subscriptions_with_devise_controller_spec.rb +91 -0
- data/spec/factories/dummy/dummy_subscriber.rb +4 -0
- data/spec/factories/subscriptions.rb +8 -0
- data/spec/generators/controllers_generator_spec.rb +25 -2
- data/spec/generators/migration/migration_generator_spec.rb +3 -3
- data/spec/generators/models_generator_spec.rb +96 -0
- data/spec/generators/views_generator_spec.rb +84 -0
- data/spec/helpers/view_helpers_spec.rb +143 -0
- data/spec/mailers/mailer_spec.rb +5 -4
- data/spec/models/dummy/dummy_subscriber_spec.rb +5 -0
- data/spec/models/notification_spec.rb +7 -7
- data/spec/models/subscription_spec.rb +158 -0
- data/spec/rails_app/app/controllers/users/notifications_controller.rb +67 -0
- data/spec/rails_app/app/controllers/users/notifications_with_devise_controller.rb +75 -0
- data/spec/rails_app/app/controllers/users/subscriptions_controller.rb +79 -0
- data/spec/rails_app/app/controllers/users/subscriptions_with_devise_controller.rb +87 -0
- data/spec/rails_app/app/models/admin.rb +1 -0
- data/spec/rails_app/app/models/dummy/dummy_subscriber.rb +4 -0
- data/spec/rails_app/app/models/user.rb +2 -1
- data/spec/rails_app/app/views/activity_notification/mailer/dummy_subscribers/test_key.text.erb +1 -0
- data/spec/rails_app/app/views/articles/index.html.erb +6 -0
- data/spec/rails_app/config/initializers/activity_notification.rb +17 -3
- data/spec/rails_app/config/routes.rb +2 -2
- data/spec/rails_app/db/migrate/20160715050420_create_activity_notification_tables.rb +33 -0
- data/spec/rails_app/db/schema.rb +18 -0
- data/spec/roles/acts_as_notifiable_spec.rb +1 -1
- data/spec/roles/acts_as_target_spec.rb +1 -1
- metadata +70 -11
- data/lib/generators/activity_notification/notification/notification_generator.rb +0 -20
- data/lib/generators/templates/active_record/migration.rb +0 -18
- data/spec/generators/notification/notification_generator_spec.rb +0 -41
- data/spec/rails_app/db/migrate/20160715050420_create_notifications.rb +0 -18
@@ -6,13 +6,19 @@ module ActivityNotification
|
|
6
6
|
# @example Run migration generator
|
7
7
|
# rails generate activity_notification:migration
|
8
8
|
class MigrationGenerator < ActiveRecord::Generators::Base
|
9
|
-
|
9
|
+
MIGRATION_TABLES = ['notifications', 'subscriptions'].freeze
|
10
10
|
|
11
|
-
|
11
|
+
source_root File.expand_path("../../../templates/migrations", __FILE__)
|
12
|
+
|
13
|
+
argument :name, type: :string, default: 'CreateActivityNotificationTables',
|
14
|
+
desc: "The migration name to create tables"
|
15
|
+
class_option :tables, aliases: "-t", type: :array,
|
16
|
+
desc: "Select specific tables to generate (#{MIGRATION_TABLES.join(', ')})"
|
12
17
|
|
13
18
|
# Create migration files in application directory
|
14
19
|
def create_migrations
|
15
20
|
@migration_name = name
|
21
|
+
@migration_tables = options[:tables] || MIGRATION_TABLES
|
16
22
|
migration_template 'migration.rb', "db/migrate/#{name.underscore}.rb"
|
17
23
|
end
|
18
24
|
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'rails/generators/base'
|
2
|
+
|
3
|
+
module ActivityNotification
|
4
|
+
module Generators
|
5
|
+
# Notification generator to create customizable notification model from templates.
|
6
|
+
# @example Run notification generator to create customizable notification model
|
7
|
+
# rails generate activity_notification:models users
|
8
|
+
class ModelsGenerator < Rails::Generators::Base
|
9
|
+
MODELS = ['notification', 'subscription'].freeze
|
10
|
+
|
11
|
+
desc <<-DESC.strip_heredoc
|
12
|
+
Create inherited ActivityNotification models in your app/models folder.
|
13
|
+
|
14
|
+
Use -m to specify which model you want to overwrite.
|
15
|
+
If you do no specify a model, all models will be created.
|
16
|
+
For example:
|
17
|
+
|
18
|
+
rails generate activity_notification:models users -m notification
|
19
|
+
|
20
|
+
This will create a model class at app/models/users/notification.rb like this:
|
21
|
+
|
22
|
+
class Users::Notification < ActivityNotification::Notification
|
23
|
+
content...
|
24
|
+
end
|
25
|
+
DESC
|
26
|
+
|
27
|
+
source_root File.expand_path("../../templates/models", __FILE__)
|
28
|
+
argument :target, required: true,
|
29
|
+
desc: "The target to create models in, e.g. users, admins"
|
30
|
+
class_option :models, aliases: "-m", type: :array,
|
31
|
+
desc: "Select specific models to generate (#{MODELS.join(', ')})"
|
32
|
+
class_option :names, aliases: "-n", type: :array,
|
33
|
+
desc: "Select model names to generate (#{MODELS.join(', ')})"
|
34
|
+
|
35
|
+
# Create notification model in application directory
|
36
|
+
def create_models
|
37
|
+
@target_prefix = target.blank? ? '' : (target.camelize + '::')
|
38
|
+
models = options[:models] || MODELS
|
39
|
+
model_names = options[:names] || MODELS
|
40
|
+
models.zip(model_names).each do |original_name, new_name|
|
41
|
+
@model_name = new_name.camelize
|
42
|
+
template "#{original_name}.rb",
|
43
|
+
"app/models/#{target}/#{@model_name.underscore}.rb"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# Shows readme to console
|
48
|
+
def show_readme
|
49
|
+
readme "README" if behavior == :invoke
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -14,7 +14,7 @@ module ActivityNotification
|
|
14
14
|
# @example Run view generator to create only notification email views
|
15
15
|
# rails generate activity_notification:views -v mailer
|
16
16
|
class ViewsGenerator < Rails::Generators::Base
|
17
|
-
VIEWS = [:notifications, :mailer].freeze
|
17
|
+
VIEWS = [:notifications, :mailer, :subscriptions].freeze
|
18
18
|
|
19
19
|
source_root File.expand_path("../../../../app/views/activity_notification", __FILE__)
|
20
20
|
desc "Copies default ActivityNotification views to your application."
|
@@ -22,7 +22,7 @@ module ActivityNotification
|
|
22
22
|
argument :target, required: false, default: nil,
|
23
23
|
desc: "The target to copy views to"
|
24
24
|
class_option :views, aliases: "-v", type: :array,
|
25
|
-
desc: "Select specific view directories to generate (notifications, mailer)"
|
25
|
+
desc: "Select specific view directories to generate (notifications, mailer, subscriptions)"
|
26
26
|
public_task :copy_views
|
27
27
|
|
28
28
|
# Copies view files in application directory
|
@@ -37,15 +37,15 @@ module ActivityNotification
|
|
37
37
|
|
38
38
|
# Copies view files to target directory
|
39
39
|
# @api protected
|
40
|
-
# @param [String] name
|
41
|
-
# @param [String]
|
42
|
-
def view_directory(name,
|
43
|
-
directory "#{name
|
40
|
+
# @param [String] name Set name of views (notifications or mailer)
|
41
|
+
# @param [String] view_target_path Target path to create views
|
42
|
+
def view_directory(name, view_target_path = nil)
|
43
|
+
directory "#{name}/default", view_target_path || "#{target_path}/#{name}/#{plural_target || :default}"
|
44
44
|
end
|
45
45
|
|
46
46
|
# Gets target_path from an argument or default value
|
47
47
|
# @api protected
|
48
|
-
# @return [String
|
48
|
+
# @return [String] target_path from an argument or default value
|
49
49
|
def target_path
|
50
50
|
@target_path ||= "app/views/activity_notification"
|
51
51
|
end
|
@@ -5,13 +5,27 @@ ActivityNotification.configure do |config|
|
|
5
5
|
config.enabled = true
|
6
6
|
|
7
7
|
# Configure table name to store notification data
|
8
|
-
config.
|
8
|
+
config.notification_table_name = "notifications"
|
9
9
|
|
10
|
-
# Configure
|
10
|
+
# Configure table name to store subscription data
|
11
|
+
config.subscription_table_name = "subscriptions"
|
12
|
+
|
13
|
+
# Configure if email notification is enabled as default.
|
11
14
|
# Note that you can configure them for each model by acts_as roles.
|
12
|
-
# Set true when you want to turn on email notifications as default
|
15
|
+
# Set true when you want to turn on email notifications as default.
|
13
16
|
config.email_enabled = false
|
14
17
|
|
18
|
+
# Configure if subscription is managed.
|
19
|
+
# Note that this parameter must be true when you want use subscription management.
|
20
|
+
# However, you can also configure them for each model by acts_as roles.
|
21
|
+
# Set true when you want to turn on subscription management as default.
|
22
|
+
config.subscription_enabled = false
|
23
|
+
|
24
|
+
# Configure default subscription value to use when the subscription record does not configured.
|
25
|
+
# Note that you can configure them for each method calling as default argument.
|
26
|
+
# Set false when you want to unsubscribe to any notifications as default.
|
27
|
+
config.subscribe_as_default = true
|
28
|
+
|
15
29
|
# Configure the e-mail address which will be shown in ActivityNotification::Mailer,
|
16
30
|
# note that it will be overwritten if you use your own mailer class with default "from" parameter.
|
17
31
|
config.mailer_sender = 'please-change-me-at-config-initializers-activity_notification@example.com'
|
@@ -1,41 +1,34 @@
|
|
1
1
|
class <%= @target_prefix %>NotificationsController < ActivityNotification::NotificationsController
|
2
|
-
# GET /:target_type/:target_id/
|
2
|
+
# GET /:target_type/:target_id/notifications
|
3
3
|
# def index
|
4
4
|
# super
|
5
5
|
# end
|
6
6
|
|
7
|
-
# POST /:target_type/:target_id/
|
7
|
+
# POST /:target_type/:target_id/notifications/open_all
|
8
8
|
# def open_all
|
9
9
|
# super
|
10
10
|
# end
|
11
11
|
|
12
|
-
# GET /:target_type/:target_id/
|
12
|
+
# GET /:target_type/:target_id/notifications/:id
|
13
13
|
# def show
|
14
14
|
# super
|
15
15
|
# end
|
16
16
|
|
17
|
-
# DELETE /:target_type/:target_id/
|
17
|
+
# DELETE /:target_type/:target_id/notifications/:id
|
18
18
|
# def destroy
|
19
19
|
# super
|
20
20
|
# end
|
21
21
|
|
22
|
-
# POST /:target_type/:target_id/
|
22
|
+
# POST /:target_type/:target_id/notifications/:id/open
|
23
23
|
# def open
|
24
24
|
# super
|
25
25
|
# end
|
26
26
|
|
27
|
-
# GET /:target_type/:target_id/
|
27
|
+
# GET /:target_type/:target_id/notifications/:id/move
|
28
28
|
# def move
|
29
29
|
# super
|
30
30
|
# end
|
31
31
|
|
32
|
-
# No action routing
|
33
|
-
# This method is called from target_view_path method
|
34
|
-
# This method can be overriden
|
35
|
-
# def controller_path
|
36
|
-
# super
|
37
|
-
# end
|
38
|
-
|
39
32
|
# No action routing
|
40
33
|
# This method needs to be public since it is called from view helper
|
41
34
|
# def target_view_path
|
@@ -52,15 +45,23 @@ class <%= @target_prefix %>NotificationsController < ActivityNotification::Notif
|
|
52
45
|
# super
|
53
46
|
# end
|
54
47
|
|
55
|
-
# def
|
56
|
-
# super
|
48
|
+
# def set_index_options
|
49
|
+
# super
|
50
|
+
# end
|
51
|
+
|
52
|
+
# def load_index
|
53
|
+
# super
|
54
|
+
# end
|
55
|
+
|
56
|
+
# def controller_path
|
57
|
+
# super
|
57
58
|
# end
|
58
59
|
|
59
60
|
# def set_view_prefixes
|
60
61
|
# super
|
61
62
|
# end
|
62
63
|
|
63
|
-
# def return_back_or_ajax
|
64
|
-
# super
|
64
|
+
# def return_back_or_ajax
|
65
|
+
# super
|
65
66
|
# end
|
66
67
|
end
|
@@ -1,41 +1,34 @@
|
|
1
1
|
class <%= @target_prefix %>NotificationsWithDeviseController < ActivityNotification::NotificationsWithDeviseController
|
2
|
-
# GET /:target_type/:target_id/
|
2
|
+
# GET /:target_type/:target_id/notifications
|
3
3
|
# def index
|
4
4
|
# super
|
5
5
|
# end
|
6
6
|
|
7
|
-
# POST /:target_type/:target_id/
|
7
|
+
# POST /:target_type/:target_id/notifications/open_all
|
8
8
|
# def open_all
|
9
9
|
# super
|
10
10
|
# end
|
11
11
|
|
12
|
-
# GET /:target_type/:target_id/
|
12
|
+
# GET /:target_type/:target_id/notifications/:id
|
13
13
|
# def show
|
14
14
|
# super
|
15
15
|
# end
|
16
16
|
|
17
|
-
# DELETE /:target_type/:target_id/
|
17
|
+
# DELETE /:target_type/:target_id/notifications/:id
|
18
18
|
# def destroy
|
19
19
|
# super
|
20
20
|
# end
|
21
21
|
|
22
|
-
# POST /:target_type/:target_id/
|
22
|
+
# POST /:target_type/:target_id/notifications/:id/open
|
23
23
|
# def open
|
24
24
|
# super
|
25
25
|
# end
|
26
26
|
|
27
|
-
# GET /:target_type/:target_id/
|
27
|
+
# GET /:target_type/:target_id/notifications/:id/move
|
28
28
|
# def move
|
29
29
|
# super
|
30
30
|
# end
|
31
31
|
|
32
|
-
# No action routing
|
33
|
-
# This method is called from target_view_path method
|
34
|
-
# This method can be overriden
|
35
|
-
# def controller_path
|
36
|
-
# super
|
37
|
-
# end
|
38
|
-
|
39
32
|
# No action routing
|
40
33
|
# This method needs to be public since it is called from view helper
|
41
34
|
# def target_view_path
|
@@ -52,16 +45,24 @@ class <%= @target_prefix %>NotificationsWithDeviseController < ActivityNotificat
|
|
52
45
|
# super
|
53
46
|
# end
|
54
47
|
|
55
|
-
# def
|
56
|
-
# super
|
48
|
+
# def set_index_options
|
49
|
+
# super
|
50
|
+
# end
|
51
|
+
|
52
|
+
# def load_index
|
53
|
+
# super
|
54
|
+
# end
|
55
|
+
|
56
|
+
# def controller_path
|
57
|
+
# super
|
57
58
|
# end
|
58
59
|
|
59
60
|
# def set_view_prefixes
|
60
61
|
# super
|
61
62
|
# end
|
62
63
|
|
63
|
-
# def return_back_or_ajax
|
64
|
-
# super
|
64
|
+
# def return_back_or_ajax
|
65
|
+
# super
|
65
66
|
# end
|
66
67
|
|
67
68
|
# def authenticate_devise_resource!
|
@@ -0,0 +1,79 @@
|
|
1
|
+
class <%= @target_prefix %>SubscriptionsController < ActivityNotification::SubscriptionsController
|
2
|
+
# GET /:target_type/:target_id/subscriptions
|
3
|
+
# def index
|
4
|
+
# super
|
5
|
+
# end
|
6
|
+
|
7
|
+
# POST /:target_type/:target_id/subscriptions
|
8
|
+
# def create
|
9
|
+
# super
|
10
|
+
# end
|
11
|
+
|
12
|
+
# GET /:target_type/:target_id/subscriptions/:id
|
13
|
+
# def show
|
14
|
+
# super
|
15
|
+
# end
|
16
|
+
|
17
|
+
# DELETE /:target_type/:target_id/subscriptions/:id
|
18
|
+
# def destroy
|
19
|
+
# super
|
20
|
+
# end
|
21
|
+
|
22
|
+
# POST /:target_type/:target_id/subscriptions/:id/subscribe
|
23
|
+
# def subscribe
|
24
|
+
# super
|
25
|
+
# end
|
26
|
+
|
27
|
+
# POST /:target_type/:target_id/subscriptions/:id/unsubscribe
|
28
|
+
# def unsubscribe
|
29
|
+
# super
|
30
|
+
# end
|
31
|
+
|
32
|
+
# POST /:target_type/:target_id/subscriptions/:id/subscribe_to_email
|
33
|
+
# def subscribe_to_email
|
34
|
+
# super
|
35
|
+
# end
|
36
|
+
|
37
|
+
# POST /:target_type/:target_id/subscriptions/:id/unsubscribe_to_email
|
38
|
+
# def unsubscribe_to_email
|
39
|
+
# super
|
40
|
+
# end
|
41
|
+
|
42
|
+
# protected
|
43
|
+
|
44
|
+
# def set_target
|
45
|
+
# super
|
46
|
+
# end
|
47
|
+
|
48
|
+
# def set_subscription
|
49
|
+
# super
|
50
|
+
# end
|
51
|
+
|
52
|
+
# def subscription_params
|
53
|
+
# super
|
54
|
+
# end
|
55
|
+
|
56
|
+
# def set_index_options
|
57
|
+
# super
|
58
|
+
# end
|
59
|
+
|
60
|
+
# def load_index
|
61
|
+
# super
|
62
|
+
# end
|
63
|
+
|
64
|
+
# def controller_path
|
65
|
+
# super
|
66
|
+
# end
|
67
|
+
|
68
|
+
# def target_view_path
|
69
|
+
# super
|
70
|
+
# end
|
71
|
+
|
72
|
+
# def set_view_prefixes
|
73
|
+
# super
|
74
|
+
# end
|
75
|
+
|
76
|
+
# def return_back_or_ajax
|
77
|
+
# super
|
78
|
+
# end
|
79
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
class <%= @target_prefix %>SubscriptionsWithDeviseController < ActivityNotification::SubscriptionsWithDeviseController
|
2
|
+
# GET /:target_type/:target_id/subscriptions
|
3
|
+
# def index
|
4
|
+
# super
|
5
|
+
# end
|
6
|
+
|
7
|
+
# POST /:target_type/:target_id/subscriptions
|
8
|
+
# def create
|
9
|
+
# super
|
10
|
+
# end
|
11
|
+
|
12
|
+
# GET /:target_type/:target_id/subscriptions/:id
|
13
|
+
# def show
|
14
|
+
# super
|
15
|
+
# end
|
16
|
+
|
17
|
+
# DELETE /:target_type/:target_id/subscriptions/:id
|
18
|
+
# def destroy
|
19
|
+
# super
|
20
|
+
# end
|
21
|
+
|
22
|
+
# POST /:target_type/:target_id/subscriptions/:id/subscribe
|
23
|
+
# def subscribe
|
24
|
+
# super
|
25
|
+
# end
|
26
|
+
|
27
|
+
# POST /:target_type/:target_id/subscriptions/:id/unsubscribe
|
28
|
+
# def unsubscribe
|
29
|
+
# super
|
30
|
+
# end
|
31
|
+
|
32
|
+
# POST /:target_type/:target_id/subscriptions/:id/subscribe_to_email
|
33
|
+
# def subscribe_to_email
|
34
|
+
# super
|
35
|
+
# end
|
36
|
+
|
37
|
+
# POST /:target_type/:target_id/subscriptions/:id/unsubscribe_to_email
|
38
|
+
# def unsubscribe_to_email
|
39
|
+
# super
|
40
|
+
# end
|
41
|
+
|
42
|
+
# protected
|
43
|
+
|
44
|
+
# def set_target
|
45
|
+
# super
|
46
|
+
# end
|
47
|
+
|
48
|
+
# def set_subscription
|
49
|
+
# super
|
50
|
+
# end
|
51
|
+
|
52
|
+
# def subscription_params
|
53
|
+
# super
|
54
|
+
# end
|
55
|
+
|
56
|
+
# def set_index_options
|
57
|
+
# super
|
58
|
+
# end
|
59
|
+
|
60
|
+
# def load_index
|
61
|
+
# super
|
62
|
+
# end
|
63
|
+
|
64
|
+
# def controller_path
|
65
|
+
# super
|
66
|
+
# end
|
67
|
+
|
68
|
+
# def target_view_path
|
69
|
+
# super
|
70
|
+
# end
|
71
|
+
|
72
|
+
# def set_view_prefixes
|
73
|
+
# super
|
74
|
+
# end
|
75
|
+
|
76
|
+
# def return_back_or_ajax
|
77
|
+
# super
|
78
|
+
# end
|
79
|
+
|
80
|
+
# def authenticate_devise_resource!
|
81
|
+
# super
|
82
|
+
# end
|
83
|
+
|
84
|
+
# def authenticate_target!
|
85
|
+
# super
|
86
|
+
# end
|
87
|
+
end
|