notify_user 0.0.28 → 0.0.29

Sign up to get free protection for your applications and to get access to all the features.
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