notify_user 0.0.28 → 0.0.29

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.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -0
  3. data/app/mailers/notify_user/notification_mailer.rb +6 -2
  4. data/app/models/notify_user/apn_connection.rb +41 -0
  5. data/app/models/notify_user/apns.rb +18 -27
  6. data/app/models/notify_user/base_notification.rb +42 -64
  7. data/app/models/notify_user/houston.rb +98 -0
  8. data/app/models/notify_user/urban_airship.rb +33 -0
  9. data/lib/generators/notify_user/install/templates/initializer.rb +13 -0
  10. data/lib/notify_user.rb +16 -0
  11. data/lib/notify_user/channels/apns/apns_channel.rb +15 -12
  12. data/lib/notify_user/version.rb +1 -1
  13. data/spec/dummy/rails-3.2.17/Gemfile +38 -0
  14. data/spec/dummy/rails-3.2.17/README.rdoc +261 -0
  15. data/spec/dummy/rails-3.2.17/Rakefile +7 -0
  16. data/spec/dummy/rails-3.2.17/app/assets/images/rails.png +0 -0
  17. data/spec/dummy/rails-3.2.17/app/assets/javascripts/application.js +15 -0
  18. data/spec/dummy/rails-3.2.17/app/assets/stylesheets/application.css +13 -0
  19. data/spec/dummy/rails-3.2.17/app/controllers/application_controller.rb +3 -0
  20. data/spec/dummy/rails-3.2.17/app/controllers/notify_user/notifications_controller.rb +9 -0
  21. data/spec/dummy/rails-3.2.17/app/helpers/application_helper.rb +2 -0
  22. data/spec/dummy/rails-3.2.17/app/models/user.rb +3 -0
  23. data/spec/dummy/rails-3.2.17/app/notifications/new_post_notification.rb +11 -0
  24. data/spec/dummy/rails-3.2.17/app/views/layouts/application.html.erb +14 -0
  25. data/spec/dummy/rails-3.2.17/app/views/notify_user/layouts/action_mailer.html.erb +39 -0
  26. data/spec/dummy/rails-3.2.17/app/views/notify_user/new_post_notification/action_mailer/notification.html.erb +1 -0
  27. data/spec/dummy/rails-3.2.17/app/views/notify_user/new_post_notification/mobile_sdk/notification.html.erb +1 -0
  28. data/spec/dummy/rails-3.2.17/config.ru +4 -0
  29. data/spec/dummy/rails-3.2.17/config/application.rb +62 -0
  30. data/spec/dummy/rails-3.2.17/config/boot.rb +6 -0
  31. data/spec/dummy/rails-3.2.17/config/database.yml +24 -0
  32. data/spec/dummy/rails-3.2.17/config/environment.rb +5 -0
  33. data/spec/dummy/rails-3.2.17/config/environments/development.rb +37 -0
  34. data/spec/dummy/rails-3.2.17/config/environments/production.rb +67 -0
  35. data/spec/dummy/rails-3.2.17/config/environments/test.rb +37 -0
  36. data/spec/dummy/rails-3.2.17/config/initializers/backtrace_silencers.rb +7 -0
  37. data/spec/dummy/rails-3.2.17/config/initializers/inflections.rb +15 -0
  38. data/spec/dummy/rails-3.2.17/config/initializers/mime_types.rb +5 -0
  39. data/spec/dummy/rails-3.2.17/config/initializers/notify_user.rb +14 -0
  40. data/spec/dummy/rails-3.2.17/config/initializers/secret_token.rb +7 -0
  41. data/spec/dummy/rails-3.2.17/config/initializers/session_store.rb +8 -0
  42. data/spec/dummy/rails-3.2.17/config/initializers/wrap_parameters.rb +14 -0
  43. data/spec/dummy/rails-3.2.17/config/locales/en.yml +5 -0
  44. data/spec/dummy/rails-3.2.17/config/routes.rb +58 -0
  45. data/spec/dummy/rails-3.2.17/db/migrate/20150106040852_create_users.rb +9 -0
  46. data/spec/dummy/rails-3.2.17/db/migrate/20150106040854857857604000_create_notify_user_notifications.rb +13 -0
  47. data/spec/dummy/rails-3.2.17/db/migrate/20150106040854860860323000_create_notify_user_unsubscribes.rb +10 -0
  48. data/spec/dummy/rails-3.2.17/db/migrate/20150106040854862862248000_create_notify_user_user_hashes.rb +12 -0
  49. data/spec/dummy/rails-3.2.17/db/schema.rb +50 -0
  50. data/spec/dummy/rails-3.2.17/db/seeds.rb +7 -0
  51. data/spec/dummy/rails-3.2.17/doc/README_FOR_APP +2 -0
  52. data/spec/dummy/rails-3.2.17/log/test.log +933 -0
  53. data/spec/dummy/rails-3.2.17/public/404.html +26 -0
  54. data/spec/dummy/rails-3.2.17/public/422.html +26 -0
  55. data/spec/dummy/rails-3.2.17/public/500.html +25 -0
  56. data/spec/dummy/rails-3.2.17/public/favicon.ico +0 -0
  57. data/spec/dummy/rails-3.2.17/public/index.html +241 -0
  58. data/spec/dummy/rails-3.2.17/public/robots.txt +5 -0
  59. data/spec/dummy/rails-3.2.17/script/rails +6 -0
  60. data/spec/dummy/rails-3.2.17/test/fixtures/users.yml +7 -0
  61. data/spec/dummy/rails-3.2.17/test/performance/browsing_test.rb +12 -0
  62. data/spec/dummy/rails-3.2.17/test/test_helper.rb +13 -0
  63. data/spec/dummy/rails-3.2.17/test/unit/user_test.rb +7 -0
  64. data/spec/dummy/rails-4.0.4/log/test.log +38719 -0
  65. data/spec/models/notify_user/houston_spec.rb +33 -0
  66. data/spec/models/notify_user/notification_spec.rb +62 -96
  67. metadata +151 -2
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ module NotifyUser
4
+ describe Houston do
5
+
6
+ let(:user) { User.create({email: 'user@example.com' })}
7
+ let(:notification) { NewPostNotification.create({target: user}) }
8
+
9
+ before :each do
10
+ allow_any_instance_of(BaseNotification).to receive(:mobile_message).and_return('New Notification')
11
+ allow_any_instance_of(User).to receive(:devices).and_return(double('device'))
12
+ end
13
+
14
+ describe "initialisation" do
15
+ it "should initialise the correct push options" do
16
+ @houston = NotifyUser::Houston.new(notification, {})
17
+
18
+ expect(@houston.push_options[:alert]).to eq 'New Notification'
19
+ expect(@houston.push_options[:badge]).to eq 1
20
+ expect(@houston.push_options[:category]).to eq 'NewPostNotification'
21
+ expect(@houston.push_options[:custom_data]).to be_empty
22
+ expect(@houston.push_options[:sound]).to eq 'default'
23
+ end
24
+
25
+ it "should access the notification targets list of devices" do
26
+ expect(user).to receive(:devices)
27
+
28
+ @houston = NotifyUser::Houston.new(notification, {})
29
+ end
30
+ end
31
+
32
+ end
33
+ end
@@ -9,7 +9,7 @@ module NotifyUser
9
9
 
10
10
  before :each do
11
11
  BaseNotification.any_instance.stub(:mobile_message).and_return("New Notification")
12
- BaseNotification.channel(:apns, {aggregate_per: false})
12
+ # BaseNotification.channel(:apns, {aggregate_per: false})
13
13
  end
14
14
 
15
15
  describe "notification count" do
@@ -60,136 +60,102 @@ module NotifyUser
60
60
 
61
61
  describe "#notify" do
62
62
 
63
- it "raises an exception if the notification is not valid" do
64
- notification.target = nil
65
- expect { notification.notify }.to raise_error
63
+ it "sets the state to pending" do
64
+ notification = NewPostNotification.create({target: user})
65
+ notification.notify
66
+ notification.state.should eq "pending"
66
67
  end
67
68
 
68
- describe "with aggregation enabled" do
69
- before :each do
70
- NewPostNotification.channel(:apns, {aggregate_per: false})
71
- end
69
+ describe "#deliver" do
72
70
 
73
- it "schedules a job to wait for more notifications to aggregate if there is not one already" do
74
- BaseNotification.should_receive(:delay_for)
75
- .with(notification.class.aggregate_per)
76
- .and_call_original
77
- ActionMailerChannel.should_receive(:deliver)
78
- Apns.should_receive(:push_notification)
79
- notification.notify
80
- end
71
+ describe "with aggregation enabled" do
72
+ it "schedules a job to wait for more notifications to aggregate if there is not one already" do
73
+ NewPostNotification.should_receive(:delay_for)
74
+ .with(notification.class.aggregate_per).and_call_original
81
75
 
82
- it "if dev urbanairship keys detected send notifications both to production and dev keys" do
83
- BaseNotification.should_receive(:delay_for)
84
- .with(notification.class.aggregate_per)
85
- .and_call_original
86
- ActionMailerChannel.should_receive(:deliver)
87
- Apns.should_receive(:push_notification).twice
76
+ notification.deliver
77
+ end
88
78
 
89
- ENV['DEV_UA_APPLICATION_KEY'] = 'sdfsdf'
90
- ENV['DEV_UA_APPLICATION_SECRET'] = 'dsfsdf'
91
- ENV['DEV_UA_MASTER_SECRET'] = 'sdfsdf'
79
+ it "doesn't schedule a job if a pending notification awaiting aggregation already exists" do
80
+ another_notification = NewPostNotification.create({target: user})
81
+ NewPostNotification.should_not_receive(:delay_for)
82
+ .with(notification.class.aggregate_per).and_call_original
92
83
 
93
- notification.notify
84
+ notification.deliver
85
+ end
94
86
  end
95
87
 
96
- it "does not schedule an aggregation job if there is one already" do
97
- Sidekiq::Testing.fake!
98
-
99
- notification.notify
100
-
101
- another_notification = NewPostNotification.new({target: user})
88
+ describe "with aggregation disabled" do
89
+ before :each do
90
+ NewPostNotification.channel(:action_mailer, {aggregate_per: false})
91
+ end
102
92
 
103
- BaseNotification.should_not_receive(:delay_for)
104
- another_notification.notify
93
+ it "schedules notification to be sent through channels" do
94
+ NewPostNotification.should_receive(:delay).and_call_original
95
+ notification.deliver
96
+ end
105
97
  end
98
+ end
99
+ end
106
100
 
107
- describe ".notify_aggregated" do
101
+ describe "notify!" do
108
102
 
109
- it "sends an aggregated email if more than one notification queued up" do
110
- Sidekiq::Testing.inline!
111
-
112
- NewPostNotification.create({target: user})
103
+ it "sets the state to pending_no_aggregation" do
104
+ notification = NewPostNotification.create({target: user})
105
+ notification.notify!
106
+ notification.state.should eq "pending_no_aggregation"
107
+ end
113
108
 
114
- NotificationMailer.should_receive(:aggregate_notifications_email).with(NewPostNotification.pending_aggregation_with(notification), anything).and_call_original
115
- NewPostNotification.notify_aggregated(notification.id)
116
- end
109
+ describe ".deliver_notification_channel" do
117
110
 
118
- it "sends a singular email if no more notifications were queued since the original was delayed" do
119
- Sidekiq::Testing.inline!
120
- Apns.should_receive(:push_notification).at_least(1).times
121
- NotificationMailer.should_receive(:notification_email).with(notification, anything).and_call_original
122
- NewPostNotification.notify_aggregated(notification.id)
111
+ before :each do
112
+ @notification = NewPostNotification.create({target: user})
123
113
  end
124
114
 
125
- end
126
-
127
- describe ".delovery_notification_channel" do
128
-
129
115
  it "doesn't send if unsubscribed from channel" do
130
- unsubscribe = NotifyUser::Unsubscribe.create({target: user, type: "NewPostNotification"})
116
+ unsubscribe = NotifyUser::Unsubscribe.create({target: user, type: "action_mailer"})
131
117
  ActionMailerChannel.should_not_receive(:deliver)
132
- BaseNotification.deliver_notification_channel(notification.id, "action_mailer")
118
+ BaseNotification.deliver_notification_channel(@notification.id, "action_mailer")
133
119
  end
134
120
 
135
121
  it "does send if subscribed to channel" do
136
122
  ActionMailerChannel.should_receive(:deliver)
137
- BaseNotification.deliver_notification_channel(notification.id, "action_mailer")
123
+ BaseNotification.deliver_notification_channel(@notification.id, "action_mailer")
138
124
  end
125
+ end
139
126
 
127
+ describe "#deliver!" do
128
+ it "schedules to be delivered to channels" do
129
+ notification.dont_aggregate
130
+ NewPostNotification.should_receive(:deliver_channels)
131
+ .with(notification.id)
132
+ .and_call_original
133
+ notification.deliver!
140
134
  end
135
+ end
141
136
 
142
- describe " .notify_aggregated_channel" do
143
-
144
- it "sends an aggregated email if more than one notification queued up" do
145
- Sidekiq::Testing.inline!
146
-
147
- NewPostNotification.create({target: user, type: 'NewPostNotification'})
148
-
149
- NewPostNotification.should_receive(:deliver_notifications_channel).and_call_original
150
- NewPostNotification.notify_aggregated_channel(notification.id, 'action_mailer')
151
- end
152
-
153
- it "sends a single email if more not pending notifications" do
154
- Sidekiq::Testing.inline!
155
-
156
- NewPostNotification.should_receive(:deliver_notification_channel).and_call_original
157
- NewPostNotification.notify_aggregated_channel(notification.id, 'action_mailer')
158
- end
137
+ describe "#deliver_channels" do
138
+
139
+ it "delivers notification to channels" do
140
+ ActionMailerChannel.should_receive(:deliver).once
141
+ NewPostNotification.deliver_channels(notification.id)
159
142
  end
160
143
 
161
144
  end
162
-
163
145
  end
164
146
 
165
- describe "#notify!" do
166
- before :each do
167
- NewPostNotification.channel(:apns, {aggregate_per: false})
168
- end
169
-
170
- it "sends immediately, ignoring aggregation" do
171
- Apns.should_receive(:push_notification).at_least(1).times
172
- BaseNotification.should_not_receive(:delay_for)
173
- ActionMailerChannel.should_receive(:deliver)
174
- notification.notify!
175
- end
176
-
177
- it "doesn't send if unsubscribed from type" do
178
- unsubscribe = NotifyUser::Unsubscribe.create({target: user, type: "NewPostNotification"})
179
- ActionMailerChannel.should_not_receive(:deliver)
180
- ApnsChannel.should_not_receive(:deliver)
181
-
182
- notification.notify!
147
+ describe "#notify_aggregated_channel" do
183
148
 
149
+ it "if only one notification to aggregate hit deliver_notification_channel" do
150
+ NewPostNotification.should_receive(:deliver_notification_channel).with(notification.id, :action_mailer).once
151
+ NewPostNotification.notify_aggregated_channel(notification.id, :action_mailer)
184
152
  end
185
153
 
186
- it "doesn't send if unsubscribed from mailer channel" do
187
- unsubscribe = NotifyUser::Unsubscribe.create({target: user, type: "action_mailer"})
188
- unsubscribe.save!
189
- ActionMailerChannel.should_not_receive(:deliver)
154
+ it "if many notifications to aggregate hit deliver_notifications_channel" do
155
+ another_notification = NewPostNotification.create({target: user})
190
156
 
191
- ApnsChannel.should_receive(:deliver)
192
- notification.notify!
157
+ NewPostNotification.should_receive(:deliver_notifications_channel).once
158
+ NewPostNotification.notify_aggregated_channel(notification.id, :action_mailer)
193
159
  end
194
160
 
195
161
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: notify_user
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.28
4
+ version: 0.0.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Spacek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-19 00:00:00.000000000 Z
11
+ date: 2015-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -108,6 +108,34 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: houston
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: connection_pool
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: pg
113
141
  requirement: !ruby/object:Gem::Requirement
@@ -192,6 +220,20 @@ dependencies:
192
220
  - - ">="
193
221
  - !ruby/object:Gem::Version
194
222
  version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: test_after_commit
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
195
237
  description: Drop-in solution for user notifications. Handles notifying by email,
196
238
  SMS and APNS, plus per-user notification frequency settings and views for checking
197
239
  new notifications.
@@ -211,10 +253,13 @@ files:
211
253
  - app/controllers/notify_user/notifications_controller.rb
212
254
  - app/helpers/notify_user/application_helper.rb
213
255
  - app/mailers/notify_user/notification_mailer.rb
256
+ - app/models/notify_user/apn_connection.rb
214
257
  - app/models/notify_user/apns.rb
215
258
  - app/models/notify_user/base_notification.rb
259
+ - app/models/notify_user/houston.rb
216
260
  - app/models/notify_user/pub_nub.rb
217
261
  - app/models/notify_user/unsubscribe.rb
262
+ - app/models/notify_user/urban_airship.rb
218
263
  - app/models/notify_user/user_hash.rb
219
264
  - app/serializers/notify_user/notification_serializer.rb
220
265
  - app/views/layouts/notify_user/application.html.erb
@@ -249,6 +294,57 @@ files:
249
294
  - lib/notify_user/version.rb
250
295
  - lib/tasks/notify_user.rake
251
296
  - spec/controllers/notify_user/notifications_controller_spec.rb
297
+ - spec/dummy/rails-3.2.17/Gemfile
298
+ - spec/dummy/rails-3.2.17/README.rdoc
299
+ - spec/dummy/rails-3.2.17/Rakefile
300
+ - spec/dummy/rails-3.2.17/app/assets/images/rails.png
301
+ - spec/dummy/rails-3.2.17/app/assets/javascripts/application.js
302
+ - spec/dummy/rails-3.2.17/app/assets/stylesheets/application.css
303
+ - spec/dummy/rails-3.2.17/app/controllers/application_controller.rb
304
+ - spec/dummy/rails-3.2.17/app/controllers/notify_user/notifications_controller.rb
305
+ - spec/dummy/rails-3.2.17/app/helpers/application_helper.rb
306
+ - spec/dummy/rails-3.2.17/app/models/user.rb
307
+ - spec/dummy/rails-3.2.17/app/notifications/new_post_notification.rb
308
+ - spec/dummy/rails-3.2.17/app/views/layouts/application.html.erb
309
+ - spec/dummy/rails-3.2.17/app/views/notify_user/layouts/action_mailer.html.erb
310
+ - spec/dummy/rails-3.2.17/app/views/notify_user/new_post_notification/action_mailer/notification.html.erb
311
+ - spec/dummy/rails-3.2.17/app/views/notify_user/new_post_notification/mobile_sdk/notification.html.erb
312
+ - spec/dummy/rails-3.2.17/config.ru
313
+ - spec/dummy/rails-3.2.17/config/application.rb
314
+ - spec/dummy/rails-3.2.17/config/boot.rb
315
+ - spec/dummy/rails-3.2.17/config/database.yml
316
+ - spec/dummy/rails-3.2.17/config/environment.rb
317
+ - spec/dummy/rails-3.2.17/config/environments/development.rb
318
+ - spec/dummy/rails-3.2.17/config/environments/production.rb
319
+ - spec/dummy/rails-3.2.17/config/environments/test.rb
320
+ - spec/dummy/rails-3.2.17/config/initializers/backtrace_silencers.rb
321
+ - spec/dummy/rails-3.2.17/config/initializers/inflections.rb
322
+ - spec/dummy/rails-3.2.17/config/initializers/mime_types.rb
323
+ - spec/dummy/rails-3.2.17/config/initializers/notify_user.rb
324
+ - spec/dummy/rails-3.2.17/config/initializers/secret_token.rb
325
+ - spec/dummy/rails-3.2.17/config/initializers/session_store.rb
326
+ - spec/dummy/rails-3.2.17/config/initializers/wrap_parameters.rb
327
+ - spec/dummy/rails-3.2.17/config/locales/en.yml
328
+ - spec/dummy/rails-3.2.17/config/routes.rb
329
+ - spec/dummy/rails-3.2.17/db/migrate/20150106040852_create_users.rb
330
+ - spec/dummy/rails-3.2.17/db/migrate/20150106040854857857604000_create_notify_user_notifications.rb
331
+ - spec/dummy/rails-3.2.17/db/migrate/20150106040854860860323000_create_notify_user_unsubscribes.rb
332
+ - spec/dummy/rails-3.2.17/db/migrate/20150106040854862862248000_create_notify_user_user_hashes.rb
333
+ - spec/dummy/rails-3.2.17/db/schema.rb
334
+ - spec/dummy/rails-3.2.17/db/seeds.rb
335
+ - spec/dummy/rails-3.2.17/doc/README_FOR_APP
336
+ - spec/dummy/rails-3.2.17/log/test.log
337
+ - spec/dummy/rails-3.2.17/public/404.html
338
+ - spec/dummy/rails-3.2.17/public/422.html
339
+ - spec/dummy/rails-3.2.17/public/500.html
340
+ - spec/dummy/rails-3.2.17/public/favicon.ico
341
+ - spec/dummy/rails-3.2.17/public/index.html
342
+ - spec/dummy/rails-3.2.17/public/robots.txt
343
+ - spec/dummy/rails-3.2.17/script/rails
344
+ - spec/dummy/rails-3.2.17/test/fixtures/users.yml
345
+ - spec/dummy/rails-3.2.17/test/performance/browsing_test.rb
346
+ - spec/dummy/rails-3.2.17/test/test_helper.rb
347
+ - spec/dummy/rails-3.2.17/test/unit/user_test.rb
252
348
  - spec/dummy/rails-4.0.4/Gemfile
253
349
  - spec/dummy/rails-4.0.4/README.rdoc
254
350
  - spec/dummy/rails-4.0.4/Rakefile
@@ -326,6 +422,7 @@ files:
326
422
  - spec/factories/notify_user_notifications.rb
327
423
  - spec/fixtures/notify_user/notification_mailer/notification_email
328
424
  - spec/mailers/notify_user/notification_mailer_spec.rb
425
+ - spec/models/notify_user/houston_spec.rb
329
426
  - spec/models/notify_user/notification_spec.rb
330
427
  - spec/models/notify_user/unsubscribe_spec.rb
331
428
  - spec/models/notify_user/user_hash_spec.rb
@@ -359,6 +456,57 @@ specification_version: 4
359
456
  summary: A Rails engine for user notifications.
360
457
  test_files:
361
458
  - spec/controllers/notify_user/notifications_controller_spec.rb
459
+ - spec/dummy/rails-3.2.17/app/assets/images/rails.png
460
+ - spec/dummy/rails-3.2.17/app/assets/javascripts/application.js
461
+ - spec/dummy/rails-3.2.17/app/assets/stylesheets/application.css
462
+ - spec/dummy/rails-3.2.17/app/controllers/application_controller.rb
463
+ - spec/dummy/rails-3.2.17/app/controllers/notify_user/notifications_controller.rb
464
+ - spec/dummy/rails-3.2.17/app/helpers/application_helper.rb
465
+ - spec/dummy/rails-3.2.17/app/models/user.rb
466
+ - spec/dummy/rails-3.2.17/app/notifications/new_post_notification.rb
467
+ - spec/dummy/rails-3.2.17/app/views/layouts/application.html.erb
468
+ - spec/dummy/rails-3.2.17/app/views/notify_user/layouts/action_mailer.html.erb
469
+ - spec/dummy/rails-3.2.17/app/views/notify_user/new_post_notification/action_mailer/notification.html.erb
470
+ - spec/dummy/rails-3.2.17/app/views/notify_user/new_post_notification/mobile_sdk/notification.html.erb
471
+ - spec/dummy/rails-3.2.17/config/application.rb
472
+ - spec/dummy/rails-3.2.17/config/boot.rb
473
+ - spec/dummy/rails-3.2.17/config/database.yml
474
+ - spec/dummy/rails-3.2.17/config/environment.rb
475
+ - spec/dummy/rails-3.2.17/config/environments/development.rb
476
+ - spec/dummy/rails-3.2.17/config/environments/production.rb
477
+ - spec/dummy/rails-3.2.17/config/environments/test.rb
478
+ - spec/dummy/rails-3.2.17/config/initializers/backtrace_silencers.rb
479
+ - spec/dummy/rails-3.2.17/config/initializers/inflections.rb
480
+ - spec/dummy/rails-3.2.17/config/initializers/mime_types.rb
481
+ - spec/dummy/rails-3.2.17/config/initializers/notify_user.rb
482
+ - spec/dummy/rails-3.2.17/config/initializers/secret_token.rb
483
+ - spec/dummy/rails-3.2.17/config/initializers/session_store.rb
484
+ - spec/dummy/rails-3.2.17/config/initializers/wrap_parameters.rb
485
+ - spec/dummy/rails-3.2.17/config/locales/en.yml
486
+ - spec/dummy/rails-3.2.17/config/routes.rb
487
+ - spec/dummy/rails-3.2.17/config.ru
488
+ - spec/dummy/rails-3.2.17/db/migrate/20150106040852_create_users.rb
489
+ - spec/dummy/rails-3.2.17/db/migrate/20150106040854857857604000_create_notify_user_notifications.rb
490
+ - spec/dummy/rails-3.2.17/db/migrate/20150106040854860860323000_create_notify_user_unsubscribes.rb
491
+ - spec/dummy/rails-3.2.17/db/migrate/20150106040854862862248000_create_notify_user_user_hashes.rb
492
+ - spec/dummy/rails-3.2.17/db/schema.rb
493
+ - spec/dummy/rails-3.2.17/db/seeds.rb
494
+ - spec/dummy/rails-3.2.17/doc/README_FOR_APP
495
+ - spec/dummy/rails-3.2.17/Gemfile
496
+ - spec/dummy/rails-3.2.17/log/test.log
497
+ - spec/dummy/rails-3.2.17/public/404.html
498
+ - spec/dummy/rails-3.2.17/public/422.html
499
+ - spec/dummy/rails-3.2.17/public/500.html
500
+ - spec/dummy/rails-3.2.17/public/favicon.ico
501
+ - spec/dummy/rails-3.2.17/public/index.html
502
+ - spec/dummy/rails-3.2.17/public/robots.txt
503
+ - spec/dummy/rails-3.2.17/Rakefile
504
+ - spec/dummy/rails-3.2.17/README.rdoc
505
+ - spec/dummy/rails-3.2.17/script/rails
506
+ - spec/dummy/rails-3.2.17/test/fixtures/users.yml
507
+ - spec/dummy/rails-3.2.17/test/performance/browsing_test.rb
508
+ - spec/dummy/rails-3.2.17/test/test_helper.rb
509
+ - spec/dummy/rails-3.2.17/test/unit/user_test.rb
362
510
  - spec/dummy/rails-4.0.4/app/assets/javascripts/application.js
363
511
  - spec/dummy/rails-4.0.4/app/assets/stylesheets/application.css
364
512
  - spec/dummy/rails-4.0.4/app/controllers/application_controller.rb
@@ -436,6 +584,7 @@ test_files:
436
584
  - spec/factories/notify_user_notifications.rb
437
585
  - spec/fixtures/notify_user/notification_mailer/notification_email
438
586
  - spec/mailers/notify_user/notification_mailer_spec.rb
587
+ - spec/models/notify_user/houston_spec.rb
439
588
  - spec/models/notify_user/notification_spec.rb
440
589
  - spec/models/notify_user/unsubscribe_spec.rb
441
590
  - spec/models/notify_user/user_hash_spec.rb