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
 
| 
         @@ -0,0 +1,87 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            class Users::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_subscription_index(options = {})
         
     | 
| 
      
 61 
     | 
    
         
            +
              #   super(options)
         
     | 
| 
      
 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
         
     | 
| 
         @@ -4,6 +4,7 @@ class Admin < ActiveRecord::Base 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
              acts_as_notification_target email: :email,
         
     | 
| 
       6 
6 
     | 
    
         
             
                email_allowed: ->(admin, key) { admin.user.confirmed_at.present? },
         
     | 
| 
      
 7 
     | 
    
         
            +
                subscription_allowed: true,
         
     | 
| 
       7 
8 
     | 
    
         
             
                devise_resource: :user,
         
     | 
| 
       8 
9 
     | 
    
         
             
                printable_name: ->(admin) { "admin (#{admin.user.name})" }
         
     | 
| 
       9 
10 
     | 
    
         
             
            end
         
     | 
| 
         @@ -4,7 +4,8 @@ class User < ActiveRecord::Base 
     | 
|
| 
       4 
4 
     | 
    
         
             
              has_many :articles, dependent: :destroy
         
     | 
| 
       5 
5 
     | 
    
         
             
              has_one :admin, dependent: :destroy
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
              acts_as_target email: :email, email_allowed: :confirmed_at, batch_email_allowed: :confirmed_at, 
     | 
| 
      
 7 
     | 
    
         
            +
              acts_as_target email: :email, email_allowed: :confirmed_at, batch_email_allowed: :confirmed_at,
         
     | 
| 
      
 8 
     | 
    
         
            +
                             subscription_allowed: true, printable_name: :name
         
     | 
| 
       8 
9 
     | 
    
         
             
              acts_as_notifier printable_name: :name
         
     | 
| 
       9 
10 
     | 
    
         | 
| 
       10 
11 
     | 
    
         
             
              def admin?
         
     | 
    
        data/spec/rails_app/app/views/activity_notification/mailer/dummy_subscribers/test_key.text.erb
    ADDED
    
    | 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Dummy subscriber's notification email template.
         
     | 
| 
         @@ -7,6 +7,9 @@ 
     | 
|
| 
       7 
7 
     | 
    
         
             
                    <p class="list_description">
         
     | 
| 
       8 
8 
     | 
    
         
             
                      <span><%= user.name %></span> · <%= user.email %><br>
         
     | 
| 
       9 
9 
     | 
    
         
             
                      <%= link_to 'Notifications', user_notifications_path(user) %>
         
     | 
| 
      
 10 
     | 
    
         
            +
                      <% if User.subscription_enabled? %>
         
     | 
| 
      
 11 
     | 
    
         
            +
                        <%= link_to 'Subscriptions', user_subscriptions_path(user) %>
         
     | 
| 
      
 12 
     | 
    
         
            +
                      <% end %>
         
     | 
| 
       10 
13 
     | 
    
         
             
                    </p>
         
     | 
| 
       11 
14 
     | 
    
         
             
                  </div>
         
     | 
| 
       12 
15 
     | 
    
         
             
                </div>
         
     | 
| 
         @@ -22,6 +25,9 @@ 
     | 
|
| 
       22 
25 
     | 
    
         
             
                    <p class="list_description">
         
     | 
| 
       23 
26 
     | 
    
         
             
                      <span><%= admin.user.name %></span> · <%= admin.user.email %><br>
         
     | 
| 
       24 
27 
     | 
    
         
             
                      <%= link_to 'Notifications', admin_notifications_path(admin) %>
         
     | 
| 
      
 28 
     | 
    
         
            +
                      <% if Admin.subscription_enabled? %>
         
     | 
| 
      
 29 
     | 
    
         
            +
                        <%= link_to 'Subscriptions', admin_subscriptions_path(admin) %>
         
     | 
| 
      
 30 
     | 
    
         
            +
                      <% end %>
         
     | 
| 
       25 
31 
     | 
    
         
             
                    </p>
         
     | 
| 
       26 
32 
     | 
    
         
             
                  </div>
         
     | 
| 
       27 
33 
     | 
    
         
             
                </div>
         
     | 
| 
         @@ -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'
         
     | 
| 
         @@ -4,6 +4,6 @@ Rails.application.routes.draw do 
     | 
|
| 
       4 
4 
     | 
    
         
             
              resources :articles
         
     | 
| 
       5 
5 
     | 
    
         
             
              resources :comments, only: [:create, :destroy]
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
              notify_to :users
         
     | 
| 
       8 
     | 
    
         
            -
              notify_to :admins, with_devise: :users
         
     | 
| 
      
 7 
     | 
    
         
            +
              notify_to :users, with_subscription: true
         
     | 
| 
      
 8 
     | 
    
         
            +
              notify_to :admins, with_devise: :users, with_subscription: true
         
     | 
| 
       9 
9 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,33 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Migration responsible for creating a table with notifications
         
     | 
| 
      
 2 
     | 
    
         
            +
            class CreateActivityNotificationTables < ActiveRecord::Migration
         
     | 
| 
      
 3 
     | 
    
         
            +
              # Create tables
         
     | 
| 
      
 4 
     | 
    
         
            +
              def change
         
     | 
| 
      
 5 
     | 
    
         
            +
                create_table :notifications do |t|
         
     | 
| 
      
 6 
     | 
    
         
            +
                  t.belongs_to :target,     polymorphic: true, index: true, null: false
         
     | 
| 
      
 7 
     | 
    
         
            +
                  t.belongs_to :notifiable, polymorphic: true, index: true, null: false
         
     | 
| 
      
 8 
     | 
    
         
            +
                  t.string     :key,                                        null: false
         
     | 
| 
      
 9 
     | 
    
         
            +
                  t.belongs_to :group,      polymorphic: true, index: true
         
     | 
| 
      
 10 
     | 
    
         
            +
                  t.integer    :group_owner_id,                index: true
         
     | 
| 
      
 11 
     | 
    
         
            +
                  t.belongs_to :notifier,   polymorphic: true, index: true
         
     | 
| 
      
 12 
     | 
    
         
            +
                  t.text       :parameters
         
     | 
| 
      
 13 
     | 
    
         
            +
                  t.datetime   :opened_at
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                  t.timestamps
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                create_table :subscriptions do |t|
         
     | 
| 
      
 19 
     | 
    
         
            +
                  t.belongs_to :target,     polymorphic: true, index: true, null: false
         
     | 
| 
      
 20 
     | 
    
         
            +
                  t.string     :key,                           index: true, null: false
         
     | 
| 
      
 21 
     | 
    
         
            +
                  t.boolean    :subscribing,                                null: false, default: true
         
     | 
| 
      
 22 
     | 
    
         
            +
                  t.boolean    :subscribing_to_email,                       null: false, default: true
         
     | 
| 
      
 23 
     | 
    
         
            +
                  t.datetime   :subscribed_at
         
     | 
| 
      
 24 
     | 
    
         
            +
                  t.datetime   :unsubscribed_at
         
     | 
| 
      
 25 
     | 
    
         
            +
                  t.datetime   :subscribed_to_email_at
         
     | 
| 
      
 26 
     | 
    
         
            +
                  t.datetime   :unsubscribed_to_email_at
         
     | 
| 
      
 27 
     | 
    
         
            +
                  t.text       :parameters
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                  t.timestamps
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
                add_index :subscriptions, [:target_type, :target_id, :key], unique: true
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
      
 33 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/rails_app/db/schema.rb
    CHANGED
    
    | 
         @@ -60,6 +60,24 @@ ActiveRecord::Schema.define(version: 20160715050433) do 
     | 
|
| 
       60 
60 
     | 
    
         
             
                t.index ["target_type", "target_id"], name: "index_notifications_on_target_type_and_target_id"
         
     | 
| 
       61 
61 
     | 
    
         
             
              end
         
     | 
| 
       62 
62 
     | 
    
         | 
| 
      
 63 
     | 
    
         
            +
              create_table "subscriptions", force: :cascade do |t|
         
     | 
| 
      
 64 
     | 
    
         
            +
                t.string   "target_type",                             null: false
         
     | 
| 
      
 65 
     | 
    
         
            +
                t.integer  "target_id",                               null: false
         
     | 
| 
      
 66 
     | 
    
         
            +
                t.string   "key",                                     null: false
         
     | 
| 
      
 67 
     | 
    
         
            +
                t.boolean  "subscribing",              default: true, null: false
         
     | 
| 
      
 68 
     | 
    
         
            +
                t.boolean  "subscribing_to_email",     default: true, null: false
         
     | 
| 
      
 69 
     | 
    
         
            +
                t.datetime "subscribed_at"
         
     | 
| 
      
 70 
     | 
    
         
            +
                t.datetime "unsubscribed_at"
         
     | 
| 
      
 71 
     | 
    
         
            +
                t.datetime "subscribed_to_email_at"
         
     | 
| 
      
 72 
     | 
    
         
            +
                t.datetime "unsubscribed_to_email_at"
         
     | 
| 
      
 73 
     | 
    
         
            +
                t.text     "parameters"
         
     | 
| 
      
 74 
     | 
    
         
            +
                t.datetime "created_at"
         
     | 
| 
      
 75 
     | 
    
         
            +
                t.datetime "updated_at"
         
     | 
| 
      
 76 
     | 
    
         
            +
                t.index ["key"], name: "index_subscriptions_on_key"
         
     | 
| 
      
 77 
     | 
    
         
            +
                t.index ["target_type", "target_id", "key"], name: "index_subscriptions_on_target_type_and_target_id_and_key", unique: true
         
     | 
| 
      
 78 
     | 
    
         
            +
                t.index ["target_type", "target_id"], name: "index_subscriptions_on_target_type_and_target_id"
         
     | 
| 
      
 79 
     | 
    
         
            +
              end
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
       63 
81 
     | 
    
         
             
              create_table "users", force: :cascade do |t|
         
     | 
| 
       64 
82 
     | 
    
         
             
                t.string   "email",                default: "", null: false
         
     | 
| 
       65 
83 
     | 
    
         
             
                t.string   "encrypted_password",   default: "", null: false
         
     | 
| 
         @@ -25,7 +25,7 @@ describe ActivityNotification::ActsAsNotifiable do 
     | 
|
| 
       25 
25 
     | 
    
         
             
                describe ".available_notifiable_options" do
         
     | 
| 
       26 
26 
     | 
    
         
             
                  it "returns list of available options in acts_as_notifiable" do
         
     | 
| 
       27 
27 
     | 
    
         
             
                    expect(dummy_model_class.available_notifiable_options)
         
     | 
| 
       28 
     | 
    
         
            -
                      .to eq([:targets, :group, :notifier, :parameters, :email_allowed, :notifiable_path, :printable_notifiable_name, :printable_name, :dependent_notifications])
         
     | 
| 
      
 28 
     | 
    
         
            +
                      .to eq([:targets, :group, :group_expiry_delay, :notifier, :parameters, :email_allowed, :notifiable_path, :printable_notifiable_name, :printable_name, :dependent_notifications])
         
     | 
| 
       29 
29 
     | 
    
         
             
                  end
         
     | 
| 
       30 
30 
     | 
    
         
             
                end
         
     | 
| 
       31 
31 
     | 
    
         
             
              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, :devise_resource, :printable_notification_target_name, :printable_name])
         
     | 
| 
      
 36 
     | 
    
         
            +
                      .to eq([:email, :email_allowed, :batch_email_allowed, :subscription_allowed, :devise_resource, :printable_notification_target_name, :printable_name])
         
     | 
| 
       37 
37 
     | 
    
         
             
                  end
         
     | 
| 
       38 
38 
     | 
    
         
             
                end
         
     | 
| 
       39 
39 
     | 
    
         
             
              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: 1.0 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.1.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- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-12-18 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: railties
         
     | 
| 
         @@ -106,14 +106,14 @@ dependencies: 
     | 
|
| 
       106 
106 
     | 
    
         
             
                requirements:
         
     | 
| 
       107 
107 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       108 
108 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       109 
     | 
    
         
            -
                    version: 4. 
     | 
| 
      
 109 
     | 
    
         
            +
                    version: 4.8.0
         
     | 
| 
       110 
110 
     | 
    
         
             
              type: :development
         
     | 
| 
       111 
111 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       112 
112 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       113 
113 
     | 
    
         
             
                requirements:
         
     | 
| 
       114 
114 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       115 
115 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       116 
     | 
    
         
            -
                    version: 4. 
     | 
| 
      
 116 
     | 
    
         
            +
                    version: 4.8.0
         
     | 
| 
       117 
117 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       118 
118 
     | 
    
         
             
              name: simplecov
         
     | 
| 
       119 
119 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -179,9 +179,11 @@ executables: [] 
     | 
|
| 
       179 
179 
     | 
    
         
             
            extensions: []
         
     | 
| 
       180 
180 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       181 
181 
     | 
    
         
             
            files:
         
     | 
| 
      
 182 
     | 
    
         
            +
            - ".codeclimate.yml"
         
     | 
| 
       182 
183 
     | 
    
         
             
            - ".coveralls.yml"
         
     | 
| 
       183 
184 
     | 
    
         
             
            - ".gitignore"
         
     | 
| 
       184 
185 
     | 
    
         
             
            - ".rspec"
         
     | 
| 
      
 186 
     | 
    
         
            +
            - ".rubocop.yml"
         
     | 
| 
       185 
187 
     | 
    
         
             
            - ".travis.yml"
         
     | 
| 
       186 
188 
     | 
    
         
             
            - ".yardopts"
         
     | 
| 
       187 
189 
     | 
    
         
             
            - CHANGELOG.md
         
     | 
| 
         @@ -193,6 +195,8 @@ files: 
     | 
|
| 
       193 
195 
     | 
    
         
             
            - activity_notification.gemspec
         
     | 
| 
       194 
196 
     | 
    
         
             
            - app/controllers/activity_notification/notifications_controller.rb
         
     | 
| 
       195 
197 
     | 
    
         
             
            - app/controllers/activity_notification/notifications_with_devise_controller.rb
         
     | 
| 
      
 198 
     | 
    
         
            +
            - app/controllers/activity_notification/subscriptions_controller.rb
         
     | 
| 
      
 199 
     | 
    
         
            +
            - app/controllers/activity_notification/subscriptions_with_devise_controller.rb
         
     | 
| 
       196 
200 
     | 
    
         
             
            - app/mailers/activity_notification/mailer.rb
         
     | 
| 
       197 
201 
     | 
    
         
             
            - app/views/activity_notification/mailer/default/batch_default.html.erb
         
     | 
| 
       198 
202 
     | 
    
         
             
            - app/views/activity_notification/mailer/default/batch_default.text.erb
         
     | 
| 
         @@ -206,14 +210,29 @@ files: 
     | 
|
| 
       206 
210 
     | 
    
         
             
            - app/views/activity_notification/notifications/default/open.js.erb
         
     | 
| 
       207 
211 
     | 
    
         
             
            - app/views/activity_notification/notifications/default/open_all.js.erb
         
     | 
| 
       208 
212 
     | 
    
         
             
            - app/views/activity_notification/notifications/default/show.html.erb
         
     | 
| 
      
 213 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/_form.html.erb
         
     | 
| 
      
 214 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/_notification_keys.html.erb
         
     | 
| 
      
 215 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/_subscription.html.erb
         
     | 
| 
      
 216 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/_subscriptions.html.erb
         
     | 
| 
      
 217 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/create.js.erb
         
     | 
| 
      
 218 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/destroy.js.erb
         
     | 
| 
      
 219 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/index.html.erb
         
     | 
| 
      
 220 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/show.html.erb
         
     | 
| 
      
 221 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/subscribe.js.erb
         
     | 
| 
      
 222 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/subscribe_to_email.js.erb
         
     | 
| 
      
 223 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/unsubscribe.js.erb
         
     | 
| 
      
 224 
     | 
    
         
            +
            - app/views/activity_notification/subscriptions/default/unsubscribe_to_email.js.erb
         
     | 
| 
       209 
225 
     | 
    
         
             
            - gemfiles/Gemfile.rails-4.2
         
     | 
| 
       210 
226 
     | 
    
         
             
            - gemfiles/Gemfile.rails-4.2.lock
         
     | 
| 
       211 
227 
     | 
    
         
             
            - gemfiles/Gemfile.rails-5.0
         
     | 
| 
       212 
228 
     | 
    
         
             
            - gemfiles/Gemfile.rails-5.0.lock
         
     | 
| 
       213 
229 
     | 
    
         
             
            - lib/activity_notification.rb
         
     | 
| 
       214 
230 
     | 
    
         
             
            - lib/activity_notification/apis/notification_api.rb
         
     | 
| 
      
 231 
     | 
    
         
            +
            - lib/activity_notification/apis/subscription_api.rb
         
     | 
| 
       215 
232 
     | 
    
         
             
            - lib/activity_notification/common.rb
         
     | 
| 
       216 
233 
     | 
    
         
             
            - lib/activity_notification/config.rb
         
     | 
| 
      
 234 
     | 
    
         
            +
            - lib/activity_notification/controllers/common_controller.rb
         
     | 
| 
      
 235 
     | 
    
         
            +
            - lib/activity_notification/controllers/devise_authentication_controller.rb
         
     | 
| 
       217 
236 
     | 
    
         
             
            - lib/activity_notification/controllers/store_controller.rb
         
     | 
| 
       218 
237 
     | 
    
         
             
            - lib/activity_notification/helpers/polymorphic_helpers.rb
         
     | 
| 
       219 
238 
     | 
    
         
             
            - lib/activity_notification/helpers/view_helpers.rb
         
     | 
| 
         @@ -222,8 +241,10 @@ files: 
     | 
|
| 
       222 
241 
     | 
    
         
             
            - lib/activity_notification/models/concerns/group.rb
         
     | 
| 
       223 
242 
     | 
    
         
             
            - lib/activity_notification/models/concerns/notifiable.rb
         
     | 
| 
       224 
243 
     | 
    
         
             
            - lib/activity_notification/models/concerns/notifier.rb
         
     | 
| 
      
 244 
     | 
    
         
            +
            - lib/activity_notification/models/concerns/subscriber.rb
         
     | 
| 
       225 
245 
     | 
    
         
             
            - lib/activity_notification/models/concerns/target.rb
         
     | 
| 
       226 
246 
     | 
    
         
             
            - lib/activity_notification/models/notification.rb
         
     | 
| 
      
 247 
     | 
    
         
            +
            - lib/activity_notification/models/subscription.rb
         
     | 
| 
       227 
248 
     | 
    
         
             
            - lib/activity_notification/rails.rb
         
     | 
| 
       228 
249 
     | 
    
         
             
            - lib/activity_notification/rails/routes.rb
         
     | 
| 
       229 
250 
     | 
    
         
             
            - lib/activity_notification/renderable.rb
         
     | 
| 
         @@ -236,40 +257,53 @@ files: 
     | 
|
| 
       236 
257 
     | 
    
         
             
            - lib/generators/activity_notification/controllers_generator.rb
         
     | 
| 
       237 
258 
     | 
    
         
             
            - lib/generators/activity_notification/install_generator.rb
         
     | 
| 
       238 
259 
     | 
    
         
             
            - lib/generators/activity_notification/migration/migration_generator.rb
         
     | 
| 
       239 
     | 
    
         
            -
            - lib/generators/activity_notification/ 
     | 
| 
      
 260 
     | 
    
         
            +
            - lib/generators/activity_notification/models_generator.rb
         
     | 
| 
       240 
261 
     | 
    
         
             
            - lib/generators/activity_notification/views_generator.rb
         
     | 
| 
       241 
262 
     | 
    
         
             
            - lib/generators/templates/README
         
     | 
| 
       242 
     | 
    
         
            -
            - lib/generators/templates/active_record/migration.rb
         
     | 
| 
       243 
263 
     | 
    
         
             
            - lib/generators/templates/activity_notification.rb
         
     | 
| 
       244 
264 
     | 
    
         
             
            - lib/generators/templates/controllers/README
         
     | 
| 
       245 
265 
     | 
    
         
             
            - lib/generators/templates/controllers/notifications_controller.rb
         
     | 
| 
       246 
266 
     | 
    
         
             
            - lib/generators/templates/controllers/notifications_with_devise_controller.rb
         
     | 
| 
      
 267 
     | 
    
         
            +
            - lib/generators/templates/controllers/subscriptions_controller.rb
         
     | 
| 
      
 268 
     | 
    
         
            +
            - lib/generators/templates/controllers/subscriptions_with_devise_controller.rb
         
     | 
| 
       247 
269 
     | 
    
         
             
            - lib/generators/templates/locales/en.yml
         
     | 
| 
       248 
     | 
    
         
            -
            - lib/generators/templates/ 
     | 
| 
      
 270 
     | 
    
         
            +
            - lib/generators/templates/migrations/migration.rb
         
     | 
| 
      
 271 
     | 
    
         
            +
            - lib/generators/templates/models/README
         
     | 
| 
      
 272 
     | 
    
         
            +
            - lib/generators/templates/models/notification.rb
         
     | 
| 
      
 273 
     | 
    
         
            +
            - lib/generators/templates/models/subscription.rb
         
     | 
| 
       249 
274 
     | 
    
         
             
            - lib/tasks/activity_notification_tasks.rake
         
     | 
| 
       250 
275 
     | 
    
         
             
            - spec/concerns/apis/notification_api_spec.rb
         
     | 
| 
      
 276 
     | 
    
         
            +
            - spec/concerns/apis/subscription_api_spec.rb
         
     | 
| 
       251 
277 
     | 
    
         
             
            - spec/concerns/common_spec.rb
         
     | 
| 
       252 
278 
     | 
    
         
             
            - spec/concerns/models/group_spec.rb
         
     | 
| 
       253 
279 
     | 
    
         
             
            - spec/concerns/models/notifiable_spec.rb
         
     | 
| 
       254 
280 
     | 
    
         
             
            - spec/concerns/models/notifier_spec.rb
         
     | 
| 
      
 281 
     | 
    
         
            +
            - spec/concerns/models/subscriber_spec.rb
         
     | 
| 
       255 
282 
     | 
    
         
             
            - spec/concerns/models/target_spec.rb
         
     | 
| 
       256 
283 
     | 
    
         
             
            - spec/concerns/renderable_spec.rb
         
     | 
| 
      
 284 
     | 
    
         
            +
            - spec/controllers/common_controller_spec.rb
         
     | 
| 
      
 285 
     | 
    
         
            +
            - spec/controllers/dummy_common_controller.rb
         
     | 
| 
       257 
286 
     | 
    
         
             
            - spec/controllers/notifications_controller_shared_examples.rb
         
     | 
| 
       258 
287 
     | 
    
         
             
            - spec/controllers/notifications_controller_spec.rb
         
     | 
| 
       259 
288 
     | 
    
         
             
            - spec/controllers/notifications_with_devise_controller_spec.rb
         
     | 
| 
      
 289 
     | 
    
         
            +
            - spec/controllers/subscriptions_controller_shared_examples.rb
         
     | 
| 
      
 290 
     | 
    
         
            +
            - spec/controllers/subscriptions_controller_spec.rb
         
     | 
| 
      
 291 
     | 
    
         
            +
            - spec/controllers/subscriptions_with_devise_controller_spec.rb
         
     | 
| 
       260 
292 
     | 
    
         
             
            - spec/factories/admins.rb
         
     | 
| 
       261 
293 
     | 
    
         
             
            - spec/factories/articles.rb
         
     | 
| 
       262 
294 
     | 
    
         
             
            - spec/factories/comments.rb
         
     | 
| 
       263 
295 
     | 
    
         
             
            - spec/factories/dummy/dummy_group.rb
         
     | 
| 
       264 
296 
     | 
    
         
             
            - spec/factories/dummy/dummy_notifiable.rb
         
     | 
| 
       265 
297 
     | 
    
         
             
            - spec/factories/dummy/dummy_notifier.rb
         
     | 
| 
      
 298 
     | 
    
         
            +
            - spec/factories/dummy/dummy_subscriber.rb
         
     | 
| 
       266 
299 
     | 
    
         
             
            - spec/factories/dummy/dummy_target.rb
         
     | 
| 
       267 
300 
     | 
    
         
             
            - spec/factories/notifications.rb
         
     | 
| 
      
 301 
     | 
    
         
            +
            - spec/factories/subscriptions.rb
         
     | 
| 
       268 
302 
     | 
    
         
             
            - spec/factories/users.rb
         
     | 
| 
       269 
303 
     | 
    
         
             
            - spec/generators/controllers_generator_spec.rb
         
     | 
| 
       270 
304 
     | 
    
         
             
            - spec/generators/install_generator_spec.rb
         
     | 
| 
       271 
305 
     | 
    
         
             
            - spec/generators/migration/migration_generator_spec.rb
         
     | 
| 
       272 
     | 
    
         
            -
            - spec/generators/ 
     | 
| 
      
 306 
     | 
    
         
            +
            - spec/generators/models_generator_spec.rb
         
     | 
| 
       273 
307 
     | 
    
         
             
            - spec/generators/views_generator_spec.rb
         
     | 
| 
       274 
308 
     | 
    
         
             
            - spec/helpers/polymorphic_helpers_spec.rb
         
     | 
| 
       275 
309 
     | 
    
         
             
            - spec/helpers/view_helpers_spec.rb
         
     | 
| 
         @@ -277,8 +311,10 @@ files: 
     | 
|
| 
       277 
311 
     | 
    
         
             
            - spec/models/dummy/dummy_group_spec.rb
         
     | 
| 
       278 
312 
     | 
    
         
             
            - spec/models/dummy/dummy_notifiable_spec.rb
         
     | 
| 
       279 
313 
     | 
    
         
             
            - spec/models/dummy/dummy_notifier_spec.rb
         
     | 
| 
      
 314 
     | 
    
         
            +
            - spec/models/dummy/dummy_subscriber_spec.rb
         
     | 
| 
       280 
315 
     | 
    
         
             
            - spec/models/dummy/dummy_target_spec.rb
         
     | 
| 
       281 
316 
     | 
    
         
             
            - spec/models/notification_spec.rb
         
     | 
| 
      
 317 
     | 
    
         
            +
            - spec/models/subscription_spec.rb
         
     | 
| 
       282 
318 
     | 
    
         
             
            - spec/rails_app/Rakefile
         
     | 
| 
       283 
319 
     | 
    
         
             
            - spec/rails_app/app/assets/javascripts/application.js
         
     | 
| 
       284 
320 
     | 
    
         
             
            - spec/rails_app/app/assets/stylesheets/application.css
         
     | 
| 
         @@ -288,6 +324,10 @@ files: 
     | 
|
| 
       288 
324 
     | 
    
         
             
            - spec/rails_app/app/controllers/articles_controller.rb
         
     | 
| 
       289 
325 
     | 
    
         
             
            - spec/rails_app/app/controllers/comments_controller.rb
         
     | 
| 
       290 
326 
     | 
    
         
             
            - spec/rails_app/app/controllers/concerns/.keep
         
     | 
| 
      
 327 
     | 
    
         
            +
            - spec/rails_app/app/controllers/users/notifications_controller.rb
         
     | 
| 
      
 328 
     | 
    
         
            +
            - spec/rails_app/app/controllers/users/notifications_with_devise_controller.rb
         
     | 
| 
      
 329 
     | 
    
         
            +
            - spec/rails_app/app/controllers/users/subscriptions_controller.rb
         
     | 
| 
      
 330 
     | 
    
         
            +
            - spec/rails_app/app/controllers/users/subscriptions_with_devise_controller.rb
         
     | 
| 
       291 
331 
     | 
    
         
             
            - spec/rails_app/app/helpers/application_helper.rb
         
     | 
| 
       292 
332 
     | 
    
         
             
            - spec/rails_app/app/mailers/.keep
         
     | 
| 
       293 
333 
     | 
    
         
             
            - spec/rails_app/app/models/.keep
         
     | 
| 
         @@ -298,9 +338,11 @@ files: 
     | 
|
| 
       298 
338 
     | 
    
         
             
            - spec/rails_app/app/models/dummy/dummy_group.rb
         
     | 
| 
       299 
339 
     | 
    
         
             
            - spec/rails_app/app/models/dummy/dummy_notifiable.rb
         
     | 
| 
       300 
340 
     | 
    
         
             
            - spec/rails_app/app/models/dummy/dummy_notifier.rb
         
     | 
| 
      
 341 
     | 
    
         
            +
            - spec/rails_app/app/models/dummy/dummy_subscriber.rb
         
     | 
| 
       301 
342 
     | 
    
         
             
            - spec/rails_app/app/models/dummy/dummy_target.rb
         
     | 
| 
       302 
343 
     | 
    
         
             
            - spec/rails_app/app/models/notification.rb
         
     | 
| 
       303 
344 
     | 
    
         
             
            - spec/rails_app/app/models/user.rb
         
     | 
| 
      
 345 
     | 
    
         
            +
            - spec/rails_app/app/views/activity_notification/mailer/dummy_subscribers/test_key.text.erb
         
     | 
| 
       304 
346 
     | 
    
         
             
            - spec/rails_app/app/views/activity_notification/notifications/default/custom/_path_test.html.erb
         
     | 
| 
       305 
347 
     | 
    
         
             
            - spec/rails_app/app/views/activity_notification/notifications/default/custom/_test.html.erb
         
     | 
| 
       306 
348 
     | 
    
         
             
            - spec/rails_app/app/views/activity_notification/notifications/users/_custom_index.html.erb
         
     | 
| 
         @@ -338,7 +380,7 @@ files: 
     | 
|
| 
       338 
380 
     | 
    
         
             
            - spec/rails_app/config/locales/devise.en.yml
         
     | 
| 
       339 
381 
     | 
    
         
             
            - spec/rails_app/config/routes.rb
         
     | 
| 
       340 
382 
     | 
    
         
             
            - spec/rails_app/config/secrets.yml
         
     | 
| 
       341 
     | 
    
         
            -
            - spec/rails_app/db/migrate/ 
     | 
| 
      
 383 
     | 
    
         
            +
            - spec/rails_app/db/migrate/20160715050420_create_activity_notification_tables.rb
         
     | 
| 
       342 
384 
     | 
    
         
             
            - spec/rails_app/db/migrate/20160715050433_create_test_tables.rb
         
     | 
| 
       343 
385 
     | 
    
         
             
            - spec/rails_app/db/schema.rb
         
     | 
| 
       344 
386 
     | 
    
         
             
            - spec/rails_app/db/seeds.rb
         
     | 
| 
         @@ -378,28 +420,37 @@ specification_version: 4 
     | 
|
| 
       378 
420 
     | 
    
         
             
            summary: Integrated user activity notifications for Ruby on Rails
         
     | 
| 
       379 
421 
     | 
    
         
             
            test_files:
         
     | 
| 
       380 
422 
     | 
    
         
             
            - spec/concerns/apis/notification_api_spec.rb
         
     | 
| 
      
 423 
     | 
    
         
            +
            - spec/concerns/apis/subscription_api_spec.rb
         
     | 
| 
       381 
424 
     | 
    
         
             
            - spec/concerns/common_spec.rb
         
     | 
| 
       382 
425 
     | 
    
         
             
            - spec/concerns/models/group_spec.rb
         
     | 
| 
       383 
426 
     | 
    
         
             
            - spec/concerns/models/notifiable_spec.rb
         
     | 
| 
       384 
427 
     | 
    
         
             
            - spec/concerns/models/notifier_spec.rb
         
     | 
| 
      
 428 
     | 
    
         
            +
            - spec/concerns/models/subscriber_spec.rb
         
     | 
| 
       385 
429 
     | 
    
         
             
            - spec/concerns/models/target_spec.rb
         
     | 
| 
       386 
430 
     | 
    
         
             
            - spec/concerns/renderable_spec.rb
         
     | 
| 
      
 431 
     | 
    
         
            +
            - spec/controllers/common_controller_spec.rb
         
     | 
| 
      
 432 
     | 
    
         
            +
            - spec/controllers/dummy_common_controller.rb
         
     | 
| 
       387 
433 
     | 
    
         
             
            - spec/controllers/notifications_controller_shared_examples.rb
         
     | 
| 
       388 
434 
     | 
    
         
             
            - spec/controllers/notifications_controller_spec.rb
         
     | 
| 
       389 
435 
     | 
    
         
             
            - spec/controllers/notifications_with_devise_controller_spec.rb
         
     | 
| 
      
 436 
     | 
    
         
            +
            - spec/controllers/subscriptions_controller_shared_examples.rb
         
     | 
| 
      
 437 
     | 
    
         
            +
            - spec/controllers/subscriptions_controller_spec.rb
         
     | 
| 
      
 438 
     | 
    
         
            +
            - spec/controllers/subscriptions_with_devise_controller_spec.rb
         
     | 
| 
       390 
439 
     | 
    
         
             
            - spec/factories/admins.rb
         
     | 
| 
       391 
440 
     | 
    
         
             
            - spec/factories/articles.rb
         
     | 
| 
       392 
441 
     | 
    
         
             
            - spec/factories/comments.rb
         
     | 
| 
       393 
442 
     | 
    
         
             
            - spec/factories/dummy/dummy_group.rb
         
     | 
| 
       394 
443 
     | 
    
         
             
            - spec/factories/dummy/dummy_notifiable.rb
         
     | 
| 
       395 
444 
     | 
    
         
             
            - spec/factories/dummy/dummy_notifier.rb
         
     | 
| 
      
 445 
     | 
    
         
            +
            - spec/factories/dummy/dummy_subscriber.rb
         
     | 
| 
       396 
446 
     | 
    
         
             
            - spec/factories/dummy/dummy_target.rb
         
     | 
| 
       397 
447 
     | 
    
         
             
            - spec/factories/notifications.rb
         
     | 
| 
      
 448 
     | 
    
         
            +
            - spec/factories/subscriptions.rb
         
     | 
| 
       398 
449 
     | 
    
         
             
            - spec/factories/users.rb
         
     | 
| 
       399 
450 
     | 
    
         
             
            - spec/generators/controllers_generator_spec.rb
         
     | 
| 
       400 
451 
     | 
    
         
             
            - spec/generators/install_generator_spec.rb
         
     | 
| 
       401 
452 
     | 
    
         
             
            - spec/generators/migration/migration_generator_spec.rb
         
     | 
| 
       402 
     | 
    
         
            -
            - spec/generators/ 
     | 
| 
      
 453 
     | 
    
         
            +
            - spec/generators/models_generator_spec.rb
         
     | 
| 
       403 
454 
     | 
    
         
             
            - spec/generators/views_generator_spec.rb
         
     | 
| 
       404 
455 
     | 
    
         
             
            - spec/helpers/polymorphic_helpers_spec.rb
         
     | 
| 
       405 
456 
     | 
    
         
             
            - spec/helpers/view_helpers_spec.rb
         
     | 
| 
         @@ -407,8 +458,10 @@ test_files: 
     | 
|
| 
       407 
458 
     | 
    
         
             
            - spec/models/dummy/dummy_group_spec.rb
         
     | 
| 
       408 
459 
     | 
    
         
             
            - spec/models/dummy/dummy_notifiable_spec.rb
         
     | 
| 
       409 
460 
     | 
    
         
             
            - spec/models/dummy/dummy_notifier_spec.rb
         
     | 
| 
      
 461 
     | 
    
         
            +
            - spec/models/dummy/dummy_subscriber_spec.rb
         
     | 
| 
       410 
462 
     | 
    
         
             
            - spec/models/dummy/dummy_target_spec.rb
         
     | 
| 
       411 
463 
     | 
    
         
             
            - spec/models/notification_spec.rb
         
     | 
| 
      
 464 
     | 
    
         
            +
            - spec/models/subscription_spec.rb
         
     | 
| 
       412 
465 
     | 
    
         
             
            - spec/rails_app/Rakefile
         
     | 
| 
       413 
466 
     | 
    
         
             
            - spec/rails_app/app/assets/javascripts/application.js
         
     | 
| 
       414 
467 
     | 
    
         
             
            - spec/rails_app/app/assets/stylesheets/application.css
         
     | 
| 
         @@ -418,6 +471,10 @@ test_files: 
     | 
|
| 
       418 
471 
     | 
    
         
             
            - spec/rails_app/app/controllers/articles_controller.rb
         
     | 
| 
       419 
472 
     | 
    
         
             
            - spec/rails_app/app/controllers/comments_controller.rb
         
     | 
| 
       420 
473 
     | 
    
         
             
            - spec/rails_app/app/controllers/concerns/.keep
         
     | 
| 
      
 474 
     | 
    
         
            +
            - spec/rails_app/app/controllers/users/notifications_controller.rb
         
     | 
| 
      
 475 
     | 
    
         
            +
            - spec/rails_app/app/controllers/users/notifications_with_devise_controller.rb
         
     | 
| 
      
 476 
     | 
    
         
            +
            - spec/rails_app/app/controllers/users/subscriptions_controller.rb
         
     | 
| 
      
 477 
     | 
    
         
            +
            - spec/rails_app/app/controllers/users/subscriptions_with_devise_controller.rb
         
     | 
| 
       421 
478 
     | 
    
         
             
            - spec/rails_app/app/helpers/application_helper.rb
         
     | 
| 
       422 
479 
     | 
    
         
             
            - spec/rails_app/app/mailers/.keep
         
     | 
| 
       423 
480 
     | 
    
         
             
            - spec/rails_app/app/models/.keep
         
     | 
| 
         @@ -428,9 +485,11 @@ test_files: 
     | 
|
| 
       428 
485 
     | 
    
         
             
            - spec/rails_app/app/models/dummy/dummy_group.rb
         
     | 
| 
       429 
486 
     | 
    
         
             
            - spec/rails_app/app/models/dummy/dummy_notifiable.rb
         
     | 
| 
       430 
487 
     | 
    
         
             
            - spec/rails_app/app/models/dummy/dummy_notifier.rb
         
     | 
| 
      
 488 
     | 
    
         
            +
            - spec/rails_app/app/models/dummy/dummy_subscriber.rb
         
     | 
| 
       431 
489 
     | 
    
         
             
            - spec/rails_app/app/models/dummy/dummy_target.rb
         
     | 
| 
       432 
490 
     | 
    
         
             
            - spec/rails_app/app/models/notification.rb
         
     | 
| 
       433 
491 
     | 
    
         
             
            - spec/rails_app/app/models/user.rb
         
     | 
| 
      
 492 
     | 
    
         
            +
            - spec/rails_app/app/views/activity_notification/mailer/dummy_subscribers/test_key.text.erb
         
     | 
| 
       434 
493 
     | 
    
         
             
            - spec/rails_app/app/views/activity_notification/notifications/default/custom/_path_test.html.erb
         
     | 
| 
       435 
494 
     | 
    
         
             
            - spec/rails_app/app/views/activity_notification/notifications/default/custom/_test.html.erb
         
     | 
| 
       436 
495 
     | 
    
         
             
            - spec/rails_app/app/views/activity_notification/notifications/users/_custom_index.html.erb
         
     | 
| 
         @@ -468,7 +527,7 @@ test_files: 
     | 
|
| 
       468 
527 
     | 
    
         
             
            - spec/rails_app/config/locales/devise.en.yml
         
     | 
| 
       469 
528 
     | 
    
         
             
            - spec/rails_app/config/routes.rb
         
     | 
| 
       470 
529 
     | 
    
         
             
            - spec/rails_app/config/secrets.yml
         
     | 
| 
       471 
     | 
    
         
            -
            - spec/rails_app/db/migrate/ 
     | 
| 
      
 530 
     | 
    
         
            +
            - spec/rails_app/db/migrate/20160715050420_create_activity_notification_tables.rb
         
     | 
| 
       472 
531 
     | 
    
         
             
            - spec/rails_app/db/migrate/20160715050433_create_test_tables.rb
         
     | 
| 
       473 
532 
     | 
    
         
             
            - spec/rails_app/db/schema.rb
         
     | 
| 
       474 
533 
     | 
    
         
             
            - spec/rails_app/db/seeds.rb
         
     |