activity_notification 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.travis.yml +5 -0
  4. data/.yardopts +3 -0
  5. data/Gemfile +5 -0
  6. data/Gemfile.lock +50 -44
  7. data/README.md +242 -81
  8. data/Rakefile +13 -13
  9. data/activity_notification.gemspec +6 -8
  10. data/app/controllers/activity_notification/notifications_controller.rb +89 -11
  11. data/app/controllers/activity_notification/notifications_with_devise_controller.rb +12 -3
  12. data/app/mailers/activity_notification/mailer.rb +3 -0
  13. data/gemfiles/Gemfile.rails-4.2 +13 -0
  14. data/gemfiles/Gemfile.rails-4.2.lock +190 -0
  15. data/gemfiles/Gemfile.rails-5.0 +14 -0
  16. data/gemfiles/Gemfile.rails-5.0.lock +201 -0
  17. data/lib/activity_notification.rb +10 -6
  18. data/lib/activity_notification/apis/notification_api.rb +137 -27
  19. data/lib/activity_notification/common.rb +48 -24
  20. data/lib/activity_notification/config.rb +68 -10
  21. data/lib/activity_notification/controllers/store_controller.rb +13 -5
  22. data/lib/activity_notification/helpers/polymorphic_helpers.rb +17 -3
  23. data/lib/activity_notification/helpers/view_helpers.rb +161 -45
  24. data/lib/activity_notification/mailers/helpers.rb +121 -83
  25. data/lib/activity_notification/models/concerns/notifiable.rb +162 -69
  26. data/lib/activity_notification/models/concerns/notifier.rb +2 -0
  27. data/lib/activity_notification/models/concerns/target.rb +124 -25
  28. data/lib/activity_notification/models/notification.rb +168 -4
  29. data/lib/activity_notification/rails/routes.rb +50 -48
  30. data/lib/activity_notification/renderable.rb +106 -26
  31. data/lib/activity_notification/roles/acts_as_notifiable.rb +99 -26
  32. data/lib/activity_notification/roles/acts_as_notifier.rb +3 -0
  33. data/lib/activity_notification/roles/acts_as_target.rb +70 -0
  34. data/lib/activity_notification/version.rb +1 -1
  35. data/lib/generators/activity_notification/active_record/migration_generator.rb +3 -1
  36. data/lib/generators/activity_notification/controllers_generator.rb +5 -0
  37. data/lib/generators/activity_notification/install_generator.rb +7 -3
  38. data/lib/generators/activity_notification/models/notification_generator.rb +4 -2
  39. data/lib/generators/activity_notification/views_generator.rb +20 -0
  40. data/spec/concerns/apis/notification_api_spec.rb +105 -36
  41. data/spec/concerns/common_spec.rb +1 -1
  42. data/spec/concerns/models/notifiable_spec.rb +2 -2
  43. data/spec/concerns/models/notifier_spec.rb +1 -1
  44. data/spec/concerns/models/target_spec.rb +9 -8
  45. data/spec/controllers/notifications_controller_shared_examples.rb +101 -28
  46. data/spec/controllers/notifications_with_devise_controller_spec.rb +14 -4
  47. data/spec/helpers/view_helpers_spec.rb +3 -3
  48. data/spec/mailers/mailer_spec.rb +1 -1
  49. data/spec/models/notification_spec.rb +57 -3
  50. data/spec/rails_app/app/models/article.rb +1 -2
  51. data/spec/rails_app/app/models/comment.rb +8 -6
  52. data/spec/rails_app/app/models/user.rb +1 -1
  53. data/spec/rails_app/app/views/layouts/_header.html.erb +2 -0
  54. data/spec/rails_app/config/application.rb +3 -1
  55. data/spec/rails_app/config/environment.rb +12 -2
  56. data/spec/rails_app/config/environments/test.rb +11 -2
  57. data/spec/roles/acts_as_notifiable_spec.rb +2 -2
  58. data/spec/roles/acts_as_notifier_spec.rb +1 -1
  59. data/spec/roles/acts_as_target_spec.rb +3 -3
  60. data/spec/spec_helper.rb +6 -0
  61. metadata +35 -40
  62. data/spec/rails_app/app/models/concerns/.keep +0 -0
@@ -24,7 +24,7 @@ describe ActivityNotification::ViewHelpers, type: :helper do
24
24
  end
25
25
  end
26
26
 
27
- describe '#render_notification' do
27
+ describe '.render_notification' do
28
28
  context "without fallback" do
29
29
  context "when the template is missing for the target type and key" do
30
30
  it "raises ActionView::MissingTemplate" do
@@ -98,14 +98,14 @@ describe ActivityNotification::ViewHelpers, type: :helper do
98
98
  end
99
99
  end
100
100
 
101
- describe '#render_notifications' do
101
+ describe '.render_notifications' do
102
102
  it "is an alias of render_notification" do
103
103
  expect(notification).to receive(:render).with(self, { fallback: :default })
104
104
  render_notifications notification, fallback: :default
105
105
  end
106
106
  end
107
107
 
108
- describe '#render_notification_of' do
108
+ describe '.render_notification_of' do
109
109
  context "without fallback" do
110
110
  context "when the template is missing for the target type and key" do
111
111
  it "raises ActionView::MissingTemplate" do
@@ -7,7 +7,7 @@ describe ActivityNotification::Mailer do
7
7
  expect(ActivityNotification::Mailer.deliveries.size).to eq(0)
8
8
  end
9
9
 
10
- describe "#send_notification_email" do
10
+ describe ".send_notification_email" do
11
11
  context "with deliver_now" do
12
12
  context "as default" do
13
13
  before do
@@ -169,7 +169,7 @@ describe ActivityNotification::Notification, type: :model do
169
169
  context "to filter by association" do
170
170
  before do
171
171
  ActivityNotification::Notification.delete_all
172
- @target_1, @notifiable_1, @group_1, @key_1 = create(:confirmed_user), create(:article), nil, "key.1"
172
+ @target_1, @notifiable_1, @group_1, @key_1 = create(:confirmed_user), create(:article), nil, "key.1"
173
173
  @target_2, @notifiable_2, @group_2, @key_2 = create(:confirmed_user), create(:comment), @notifiable_1, "key.2"
174
174
  @notification_1 = create(:notification, target: @target_1, notifiable: @notifiable_1, group: @group_1, key: @key_1)
175
175
  @notification_2 = create(:notification, target: @target_2, notifiable: @notifiable_2, group: @group_2, key: @key_2)
@@ -194,10 +194,10 @@ describe ActivityNotification::Notification, type: :model do
194
194
  end
195
195
 
196
196
  it "works with filtered_by_type scope" do
197
- notifications = ActivityNotification::Notification.filtered_by_type(@notifiable_1.class)
197
+ notifications = ActivityNotification::Notification.filtered_by_type(@notifiable_1.to_class_name)
198
198
  expect(notifications.size).to eq(1)
199
199
  expect(notifications.first).to eq(@notification_1)
200
- notifications = ActivityNotification::Notification.filtered_by_type(@notifiable_2.class)
200
+ notifications = ActivityNotification::Notification.filtered_by_type(@notifiable_2.to_class_name)
201
201
  expect(notifications.size).to eq(1)
202
202
  expect(notifications.first).to eq(@notification_2)
203
203
  end
@@ -219,6 +219,60 @@ describe ActivityNotification::Notification, type: :model do
219
219
  expect(notifications.size).to eq(1)
220
220
  expect(notifications.first).to eq(@notification_2)
221
221
  end
222
+
223
+ describe 'filtered_by_options scope' do
224
+ context 'with filtered_by_type options' do
225
+ it "works with filtered_by_options scope" do
226
+ notifications = ActivityNotification::Notification.filtered_by_options({ filtered_by_type: @notifiable_1.to_class_name })
227
+ expect(notifications.size).to eq(1)
228
+ expect(notifications.first).to eq(@notification_1)
229
+ notifications = ActivityNotification::Notification.filtered_by_options({ filtered_by_type: @notifiable_2.to_class_name })
230
+ expect(notifications.size).to eq(1)
231
+ expect(notifications.first).to eq(@notification_2)
232
+ end
233
+ end
234
+
235
+ context 'with filtered_by_group options' do
236
+ it "works with filtered_by_options scope" do
237
+ notifications = ActivityNotification::Notification.filtered_by_options({ filtered_by_group: @group_1 })
238
+ expect(notifications.size).to eq(1)
239
+ expect(notifications.first).to eq(@notification_1)
240
+ notifications = ActivityNotification::Notification.filtered_by_options({ filtered_by_group: @group_2 })
241
+ expect(notifications.size).to eq(1)
242
+ expect(notifications.first).to eq(@notification_2)
243
+ end
244
+ end
245
+
246
+ context 'with filtered_by_group_type and :filtered_by_group_id options' do
247
+ it "works with filtered_by_options scope" do
248
+ notifications = ActivityNotification::Notification.filtered_by_options({ filtered_by_group_type: 'Article', filtered_by_group_id: @group_2.id.to_s })
249
+ expect(notifications.size).to eq(1)
250
+ expect(notifications.first).to eq(@notification_2)
251
+ notifications = ActivityNotification::Notification.filtered_by_options({ filtered_by_group_type: 'Article' })
252
+ expect(notifications.size).to eq(2)
253
+ notifications = ActivityNotification::Notification.filtered_by_options({ filtered_by_group_id: @group_2.id.to_s })
254
+ expect(notifications.size).to eq(2)
255
+ end
256
+ end
257
+
258
+ context 'with filtered_by_key options' do
259
+ it "works with filtered_by_options scope" do
260
+ notifications = ActivityNotification::Notification.filtered_by_options({ filtered_by_key: @key_1 })
261
+ expect(notifications.size).to eq(1)
262
+ expect(notifications.first).to eq(@notification_1)
263
+ notifications = ActivityNotification::Notification.filtered_by_options({ filtered_by_key: @key_2 })
264
+ expect(notifications.size).to eq(1)
265
+ expect(notifications.first).to eq(@notification_2)
266
+ end
267
+ end
268
+
269
+ context 'with no options' do
270
+ it "works with filtered_by_options scope" do
271
+ notifications = ActivityNotification::Notification.filtered_by_options
272
+ expect(notifications.size).to eq(2)
273
+ end
274
+ end
275
+ end
222
276
  end
223
277
 
224
278
  context "to make order by created_at" do
@@ -7,6 +7,5 @@ class Article < ActiveRecord::Base
7
7
  acts_as_notifiable :users,
8
8
  targets: ->(article, key) { User.all.to_a - [article.user] },
9
9
  notifier: :user,
10
- email_allowed: true#,
11
- #notifiable_path: ->(article) { concept_issue_path(issue.concept, issue) }
10
+ email_allowed: true
12
11
  end
@@ -5,14 +5,16 @@ class Comment < ActiveRecord::Base
5
5
  validates :user, presence: true
6
6
 
7
7
  acts_as_notifiable :users,
8
- targets: ->(comment, key) { (comment.article.commented_users.to_a - [comment.user] + [comment.article.user]).uniq },
8
+ targets: ->(comment, key) {
9
+ (comment.article.commented_users.to_a - [comment.user] + [comment.article.user]).uniq
10
+ },
9
11
  group: :article,
10
12
  notifier: :user,
11
- email_allowed: :custom_notification_email_to_users_allowed?,
12
- parameters: {test_default_param: '1'}#,
13
- #notifiable_path: :custom_notifiable_path
13
+ email_allowed: true,
14
+ parameters: { test_default_param: '1' },
15
+ notifiable_path: :article_notifiable_path
14
16
 
15
- def custom_notification_email_to_users_allowed?(user, key)
16
- true
17
+ def article_notifiable_path
18
+ article_path(article)
17
19
  end
18
20
  end
@@ -4,5 +4,5 @@ class User < ActiveRecord::Base
4
4
  has_many :articles, dependent: :delete_all
5
5
  has_many :comments, through: :articles, dependent: :delete_all
6
6
 
7
- acts_as_notification_target email: :email, email_allowed: :confirmed_at
7
+ acts_as_target email: :email, email_allowed: :confirmed_at
8
8
  end
@@ -2,7 +2,9 @@
2
2
  <% if user_signed_in? %>
3
3
  <%= "Login as #{current_user.name}" %>
4
4
  <%= link_to 'Logout', destroy_user_session_path, method: :delete %>
5
+ <%#= render_notifications_of current_user, fallback: :default, index_content: :simple %>
5
6
  <%= render_notifications_of current_user, fallback: :default, index_content: :with_attributes %>
7
+ <%#= render_notifications_of current_user, fallback: :default, index_content: :none %>
6
8
  <% else %>
7
9
  <%= link_to 'Login', new_user_session_path %>
8
10
  <% end %>
@@ -14,7 +14,9 @@ require "activity_notification"
14
14
  module Dummy
15
15
  class Application < Rails::Application
16
16
  # Do not swallow errors in after_commit/after_rollback callbacks.
17
- config.active_record.raise_in_transactional_callbacks = true
17
+ if Rails::VERSION::MAJOR == 4 && Rails::VERSION::MINOR >= 2
18
+ config.active_record.raise_in_transactional_callbacks = true
19
+ end
18
20
  end
19
21
  end
20
22
 
@@ -4,9 +4,19 @@ require File.expand_path('../application', __FILE__)
4
4
  # Initialize the Rails application.
5
5
  Rails.application.initialize!
6
6
 
7
+ def silent_stdout(&block)
8
+ original_stdout = $stdout
9
+ $stdout = fake = StringIO.new
10
+ begin
11
+ yield
12
+ ensure
13
+ $stdout = original_stdout
14
+ end
15
+ end
16
+
7
17
  # Load database schema
8
18
  if Rails.env.test?
9
- silence_stream(STDOUT) do
19
+ silent_stdout do
10
20
  load "#{Rails.root}/db/schema.rb"
11
21
  end
12
- end
22
+ end
@@ -13,8 +13,17 @@ Rails.application.configure do
13
13
  config.eager_load = false
14
14
 
15
15
  # Configure static file server for tests with Cache-Control for performance.
16
- config.serve_static_files = true
17
- config.static_cache_control = 'public, max-age=3600'
16
+ if Rails::VERSION::MAJOR >= 5
17
+ config.public_file_server.enabled = true
18
+ else
19
+ config.serve_static_files = true
20
+ end
21
+
22
+ if Rails::VERSION::MAJOR >= 5
23
+ config.public_file_server.headers = {'Cache-Control' => 'public, max-age=3600'}
24
+ else
25
+ config.static_cache_control = "public, max-age=3600"
26
+ end
18
27
 
19
28
  # Show full error reports and disable caching.
20
29
  config.consider_all_requests_local = true
@@ -2,7 +2,7 @@ describe ActivityNotification::ActsAsNotifiable do
2
2
  let(:dummy_model_class) { Dummy::DummyBase }
3
3
 
4
4
  describe "as public class methods" do
5
- describe "acts_as_notifiable" do
5
+ describe ".acts_as_notifiable" do
6
6
  it "have not included Notifiable before calling" do
7
7
  expect(dummy_model_class.respond_to?(:available_as_notifiable?)).to be_falsey
8
8
  end
@@ -22,7 +22,7 @@ describe ActivityNotification::ActsAsNotifiable do
22
22
  #TODO test other options
23
23
  end
24
24
 
25
- describe "available_notifiable_options" do
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
28
  .to eq([:targets, :group, :notifier, :parameters, :email_allowed, :notifiable_path])
@@ -2,7 +2,7 @@ describe ActivityNotification::ActsAsNotifier do
2
2
  let(:dummy_model_class) { Dummy::DummyBase }
3
3
 
4
4
  describe "as public class methods" do
5
- describe "acts_as_notifier" do
5
+ describe ".acts_as_notifier" do
6
6
  it "have not included Notifier before calling" do
7
7
  expect(dummy_model_class.respond_to?(:available_as_notifier?)).to be_falsey
8
8
  end
@@ -2,7 +2,7 @@ describe ActivityNotification::ActsAsTarget do
2
2
  let(:dummy_model_class) { Dummy::DummyBase }
3
3
 
4
4
  describe "as public class methods" do
5
- describe "acts_as_target" do
5
+ describe ".acts_as_target" do
6
6
  it "have not included Target before calling" do
7
7
  expect(dummy_model_class.respond_to?(:available_as_target?)).to be_falsey
8
8
  end
@@ -22,7 +22,7 @@ describe ActivityNotification::ActsAsTarget do
22
22
  #TODO test other options
23
23
  end
24
24
 
25
- describe "acts_as_notification_target" do
25
+ describe ".acts_as_notification_target" do
26
26
  it "is an alias of acts_as_target" do
27
27
  #TODO make better way to test alias
28
28
  #expect(dummy_model_class.acts_as_notification_target).to receive(:acts_as_target)
@@ -30,7 +30,7 @@ describe ActivityNotification::ActsAsTarget do
30
30
  end
31
31
  end
32
32
 
33
- describe "available_target_options" do
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
36
  .to eq([:email, :email_allowed, :devise_resource])
data/spec/spec_helper.rb CHANGED
@@ -5,6 +5,7 @@ Bundler.setup
5
5
 
6
6
  require 'simplecov'
7
7
  require 'coveralls'
8
+ require 'rails'
8
9
  Coveralls.wear!
9
10
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new [
10
11
  SimpleCov::Formatter::HTMLFormatter,
@@ -14,6 +15,11 @@ SimpleCov.start('rails') do
14
15
  add_filter '/spec/'
15
16
  add_filter '/lib/generators/templates/'
16
17
  add_filter '/lib/activity_notification/version.rb'
18
+ if Rails::VERSION::MAJOR == 5
19
+ nocov_token 'skip-rails5'
20
+ elsif Rails::VERSION::MAJOR == 4
21
+ nocov_token 'skip-rails4'
22
+ end
17
23
  end
18
24
 
19
25
  # Testing with Devise
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activity_notification
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
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-08-19 00:00:00.000000000 Z
11
+ date: 2016-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: railties
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.2'
19
+ version: 4.2.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.1'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 4.2.0
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '4.2'
32
+ version: '5.1'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: i18n
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -44,98 +50,84 @@ dependencies:
44
50
  requirements:
45
51
  - - ">="
46
52
  - !ruby/object:Gem::Version
47
- version: '3.0'
53
+ version: 4.2.0
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
58
  - - ">="
53
59
  - !ruby/object:Gem::Version
54
- version: '3.0'
55
- - !ruby/object:Gem::Dependency
56
- name: sqlite3
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 1.3.11
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 1.3.11
60
+ version: 4.2.0
69
61
  - !ruby/object:Gem::Dependency
70
- name: jquery-rails
62
+ name: rspec-rails
71
63
  requirement: !ruby/object:Gem::Requirement
72
64
  requirements:
73
65
  - - "~>"
74
66
  - !ruby/object:Gem::Version
75
- version: 4.1.1
67
+ version: 3.5.1
76
68
  type: :development
77
69
  prerelease: false
78
70
  version_requirements: !ruby/object:Gem::Requirement
79
71
  requirements:
80
72
  - - "~>"
81
73
  - !ruby/object:Gem::Version
82
- version: 4.1.1
74
+ version: 3.5.1
83
75
  - !ruby/object:Gem::Dependency
84
- name: rspec-rails
76
+ name: factory_girl_rails
85
77
  requirement: !ruby/object:Gem::Requirement
86
78
  requirements:
87
79
  - - "~>"
88
80
  - !ruby/object:Gem::Version
89
- version: 3.5.1
81
+ version: 4.7.0
90
82
  type: :development
91
83
  prerelease: false
92
84
  version_requirements: !ruby/object:Gem::Requirement
93
85
  requirements:
94
86
  - - "~>"
95
87
  - !ruby/object:Gem::Version
96
- version: 3.5.1
88
+ version: 4.7.0
97
89
  - !ruby/object:Gem::Dependency
98
- name: factory_girl_rails
90
+ name: simplecov
99
91
  requirement: !ruby/object:Gem::Requirement
100
92
  requirements:
101
93
  - - "~>"
102
94
  - !ruby/object:Gem::Version
103
- version: 4.7.0
95
+ version: 0.12.0
104
96
  type: :development
105
97
  prerelease: false
106
98
  version_requirements: !ruby/object:Gem::Requirement
107
99
  requirements:
108
100
  - - "~>"
109
101
  - !ruby/object:Gem::Version
110
- version: 4.7.0
102
+ version: 0.12.0
111
103
  - !ruby/object:Gem::Dependency
112
- name: simplecov
104
+ name: yard
113
105
  requirement: !ruby/object:Gem::Requirement
114
106
  requirements:
115
107
  - - "~>"
116
108
  - !ruby/object:Gem::Version
117
- version: 0.12.0
109
+ version: 0.9.5
118
110
  type: :development
119
111
  prerelease: false
120
112
  version_requirements: !ruby/object:Gem::Requirement
121
113
  requirements:
122
114
  - - "~>"
123
115
  - !ruby/object:Gem::Version
124
- version: 0.12.0
116
+ version: 0.9.5
125
117
  - !ruby/object:Gem::Dependency
126
- name: ammeter
118
+ name: yard-activesupport-concern
127
119
  requirement: !ruby/object:Gem::Requirement
128
120
  requirements:
129
121
  - - "~>"
130
122
  - !ruby/object:Gem::Version
131
- version: 1.1.3
123
+ version: 0.0.1
132
124
  type: :development
133
125
  prerelease: false
134
126
  version_requirements: !ruby/object:Gem::Requirement
135
127
  requirements:
136
128
  - - "~>"
137
129
  - !ruby/object:Gem::Version
138
- version: 1.1.3
130
+ version: 0.0.1
139
131
  - !ruby/object:Gem::Dependency
140
132
  name: devise
141
133
  requirement: !ruby/object:Gem::Requirement
@@ -163,6 +155,7 @@ files:
163
155
  - ".gitignore"
164
156
  - ".rspec"
165
157
  - ".travis.yml"
158
+ - ".yardopts"
166
159
  - Gemfile
167
160
  - Gemfile.lock
168
161
  - MIT-LICENSE
@@ -180,6 +173,10 @@ files:
180
173
  - app/views/activity_notification/notifications/default/open.js.erb
181
174
  - app/views/activity_notification/notifications/default/open_all.js.erb
182
175
  - app/views/activity_notification/notifications/default/show.html.erb
176
+ - gemfiles/Gemfile.rails-4.2
177
+ - gemfiles/Gemfile.rails-4.2.lock
178
+ - gemfiles/Gemfile.rails-5.0
179
+ - gemfiles/Gemfile.rails-5.0.lock
183
180
  - lib/activity_notification.rb
184
181
  - lib/activity_notification/apis/notification_api.rb
185
182
  - lib/activity_notification/common.rb
@@ -255,7 +252,6 @@ files:
255
252
  - spec/rails_app/app/models/admin.rb
256
253
  - spec/rails_app/app/models/article.rb
257
254
  - spec/rails_app/app/models/comment.rb
258
- - spec/rails_app/app/models/concerns/.keep
259
255
  - spec/rails_app/app/models/dummy/dummy_base.rb
260
256
  - spec/rails_app/app/models/dummy/dummy_notifiable.rb
261
257
  - spec/rails_app/app/models/dummy/dummy_notifier.rb
@@ -376,7 +372,6 @@ test_files:
376
372
  - spec/rails_app/app/models/admin.rb
377
373
  - spec/rails_app/app/models/article.rb
378
374
  - spec/rails_app/app/models/comment.rb
379
- - spec/rails_app/app/models/concerns/.keep
380
375
  - spec/rails_app/app/models/dummy/dummy_base.rb
381
376
  - spec/rails_app/app/models/dummy/dummy_notifiable.rb
382
377
  - spec/rails_app/app/models/dummy/dummy_notifier.rb