notify_user 0.1.4 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (238) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +16 -0
  3. data/Rakefile +7 -1
  4. data/app/controllers/notify_user/base_notifications_controller.rb +36 -35
  5. data/app/mailers/notify_user/notification_mailer.rb +1 -1
  6. data/app/models/notify_user/apn_connection.rb +35 -17
  7. data/app/models/notify_user/apns.rb +124 -14
  8. data/app/models/notify_user/base_notification.rb +172 -35
  9. data/app/models/notify_user/gcm.rb +58 -0
  10. data/app/models/notify_user/push.rb +37 -0
  11. data/app/models/notify_user/unsubscribe.rb +26 -9
  12. data/app/models/notify_user/urban_airship.rb +1 -1
  13. data/app/serializers/notify_user/notification_serializer.rb +1 -4
  14. data/config/routes.rb +2 -2
  15. data/lib/generators/notify_user/aggr_interval_update/USAGE +5 -0
  16. data/lib/generators/notify_user/aggr_interval_update/aggr_interval_update_generator.rb +36 -0
  17. data/lib/generators/notify_user/aggr_interval_update/templates/add_sent_time_to_notifications.rb +10 -0
  18. data/lib/generators/notify_user/aggr_interval_update/templates/update_unsubscribe.rb +6 -0
  19. data/lib/generators/notify_user/install/install_generator.rb +2 -5
  20. data/lib/generators/notify_user/install/templates/create_notify_user_notifications.rb +8 -0
  21. data/lib/generators/notify_user/install/templates/create_notify_user_unsubscribes.rb +5 -0
  22. data/lib/generators/notify_user/notification/notification_generator.rb +1 -0
  23. data/lib/notify_user/channels/action_mailer/action_mailer_channel.rb +1 -1
  24. data/lib/notify_user/channels/apns/apns_channel.rb +23 -23
  25. data/lib/notify_user/engine.rb +0 -1
  26. data/lib/notify_user/version.rb +1 -1
  27. data/spec/controllers/notify_user/notifications_controller_spec.rb +130 -108
  28. data/spec/dummy/rails-4.1.0/Gemfile +1 -1
  29. data/spec/dummy/rails-4.1.0/app/notifications/new_post_notification.rb +2 -6
  30. data/spec/dummy/{rails-4.0.4/app/views/notify_user/new_post_notification/mobile_sdk/notification.html.erb → rails-4.1.0/app/views/notify_user/new_post_notification/mobile_sdk/aggregate_notifications.html.erb} +0 -0
  31. data/spec/dummy/rails-4.1.0/app/views/notify_user/new_post_notification/mobile_sdk/notification.html.erb +1 -0
  32. data/spec/dummy/rails-4.1.0/config/environments/production.rb +1 -6
  33. data/spec/dummy/rails-4.1.0/config/initializers/assets.rb +8 -0
  34. data/spec/dummy/rails-4.1.0/config/initializers/notify_user.rb +10 -0
  35. data/spec/dummy/rails-4.1.0/config/secrets.yml +2 -2
  36. data/spec/dummy/{rails-3.2.17/db/migrate/20141102231350_create_users.rb → rails-4.1.0/db/migrate/20150907004705_create_users.rb} +0 -0
  37. data/spec/dummy/{rails-4.0.4/db/migrate/20141102231413669669843000_create_notify_user_notifications.rb → rails-4.1.0/db/migrate/20150907004707_create_notify_user_notifications.rb} +8 -0
  38. data/spec/dummy/rails-4.1.0/db/migrate/{20141102231434013013078000_create_notify_user_unsubscribes.rb → 20150907004708_create_notify_user_unsubscribes.rb} +5 -0
  39. data/spec/dummy/{rails-3.2.17/db/migrate/20141102231353651651843000_create_notify_user_user_hashes.rb → rails-4.1.0/db/migrate/20150907004709_create_notify_user_user_hashes.rb} +0 -0
  40. data/spec/dummy/rails-4.1.0/db/schema.rb +12 -1
  41. data/spec/dummy/rails-4.1.0/log/test.log +55083 -8099
  42. data/spec/dummy/rails-4.1.0/test/test_helper.rb +0 -3
  43. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/2iFf6DF21eHswaXamThRpysQhZa4HHhfXSwW0I26I_Q.cache +3 -0
  44. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/56gcPUZsFk_z-NC4BqxyzJ2fHeG-wa2DVNUK5iFQico.cache +0 -0
  45. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/8DepzOh5SIwaxC825zft8xeBhAi84AFjIkQLBafpfcI.cache +1 -0
  46. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/DFBSCnNmEyoM8roYdJ4CwzgAxnyRtTG3S2qD1ryqXxw.cache +1 -0
  47. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/DcdyyraxoBKSYh1m6Spmfn5Qtn0V2X2t8aO3dmAi0Po.cache +3 -0
  48. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/IO46kchRzb_wUQ8H3D25_DHv7lZK4CxthkOj6ZKp8mQ.cache +1 -0
  49. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/JTg9Khb4iQ4MkGt2OoYdfz6rYD9ccxMNxCOnVK92fJA.cache +1 -0
  50. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/O8akbUwAbmIKY-AhITimq-JDQ6IgsO3Hvq2v5etufFw.cache +2 -0
  51. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/RJrFPSmoXCFaapGXw1bP4Lg0NLmr9qG2RMuN56UrR7U.cache +0 -0
  52. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/TWJMA4bg5d25falxiw_TLK0GtSXWpfl0vFaFLRpkYKI.cache +1 -0
  53. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/XjnNasrgRd0l5xx4UR4IeE-Tz1EtjiPKwmizcf59P9U.cache +0 -0
  54. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/Y829B5qbE0t7idbBscHZCJxlb-D9S6G_8P6HwwMe7J4.cache +2 -0
  55. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/aXGU_8_bWOQw87gl5m_8fgEUtethSIj95P57d5YuW5k.cache +0 -0
  56. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/cjXxcrFHyMpHUOqA38Yaft85pmxR7gZ4__TFcgJQyKA.cache +1 -0
  57. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/cpoXvFR-s_2VM6kFm4ixeZKjW6en5HiD8B-ttj-iUSI.cache +0 -0
  58. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/hAsOx0KPt1yL2Nh2sDOmOIWrAfoEZo1RxZQkNop9FOU.cache +0 -0
  59. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/j52KuMJNJLJcKPVLf8rk8USLswZAmy6Hi1OW35JjVTo.cache +1 -0
  60. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/mwsAf4xggfO0hGKNns79uKcXG7B5rk8a4Zav3vXyr6M.cache +2 -0
  61. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/tPF6H9NRpGO3whu2y5_e_R_1EACKdCwu5437D83qJT0.cache +3 -0
  62. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/x5V5ICXz753PW9A8l6gpNAh_utfwyXyixuUxtMgJ2Pg.cache +1 -0
  63. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/y8AwtETeMIB25XCoxQDwn3DmMpUFLblIFK4yb18zN4c.cache +1 -0
  64. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/yWa5z3IIFR71QlDOGDwO5IpC9vsVUGFNfficVy0q3zo.cache +1 -0
  65. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/zDCAil6tD1zhO-gqs7OG9_zEEdMVEZo_aUkZjLHP53M.cache +0 -0
  66. data/spec/factories/notify_user_notifications.rb +4 -7
  67. data/spec/factories/users.rb +7 -0
  68. data/spec/lib/notify_user/channels/apns_channel_spec.rb +65 -0
  69. data/spec/mailers/notify_user/notification_mailer_spec.rb +24 -24
  70. data/spec/models/notify_user/apn_connection_spec.rb +29 -0
  71. data/spec/models/notify_user/apns_spec.rb +96 -0
  72. data/spec/models/notify_user/gcm_spec.rb +70 -0
  73. data/spec/models/notify_user/notification_spec.rb +456 -64
  74. data/spec/models/notify_user/unsubscribe_spec.rb +59 -16
  75. data/spec/models/notify_user/user_hash_spec.rb +11 -14
  76. data/spec/serializers/notify_user/notification_serializer_spec.rb +24 -6
  77. data/spec/setup_spec.rb +3 -4
  78. data/spec/spec_helper.rb +20 -12
  79. data/spec/support/test_apn_connection.rb +8 -0
  80. data/spec/support/test_gcm_connection.rb +5 -0
  81. metadata +131 -332
  82. data/app/models/notify_user/houston.rb +0 -101
  83. data/spec/dummy/rails-3.2.17/Gemfile +0 -38
  84. data/spec/dummy/rails-3.2.17/README.rdoc +0 -261
  85. data/spec/dummy/rails-3.2.17/Rakefile +0 -7
  86. data/spec/dummy/rails-3.2.17/app/assets/images/rails.png +0 -0
  87. data/spec/dummy/rails-3.2.17/app/assets/javascripts/application.js +0 -15
  88. data/spec/dummy/rails-3.2.17/app/assets/stylesheets/application.css +0 -13
  89. data/spec/dummy/rails-3.2.17/app/controllers/application_controller.rb +0 -3
  90. data/spec/dummy/rails-3.2.17/app/controllers/notify_user/notifications_controller.rb +0 -9
  91. data/spec/dummy/rails-3.2.17/app/helpers/application_helper.rb +0 -2
  92. data/spec/dummy/rails-3.2.17/app/models/user.rb +0 -3
  93. data/spec/dummy/rails-3.2.17/app/notifications/new_post_notification.rb +0 -15
  94. data/spec/dummy/rails-3.2.17/app/views/layouts/application.html.erb +0 -14
  95. data/spec/dummy/rails-3.2.17/app/views/notify_user/layouts/action_mailer.html.erb +0 -39
  96. data/spec/dummy/rails-3.2.17/app/views/notify_user/new_post_notification/action_mailer/notification.html.erb +0 -1
  97. data/spec/dummy/rails-3.2.17/config.ru +0 -4
  98. data/spec/dummy/rails-3.2.17/config/application.rb +0 -62
  99. data/spec/dummy/rails-3.2.17/config/boot.rb +0 -6
  100. data/spec/dummy/rails-3.2.17/config/database.yml +0 -24
  101. data/spec/dummy/rails-3.2.17/config/environment.rb +0 -5
  102. data/spec/dummy/rails-3.2.17/config/environments/development.rb +0 -37
  103. data/spec/dummy/rails-3.2.17/config/environments/production.rb +0 -67
  104. data/spec/dummy/rails-3.2.17/config/environments/test.rb +0 -37
  105. data/spec/dummy/rails-3.2.17/config/initializers/backtrace_silencers.rb +0 -7
  106. data/spec/dummy/rails-3.2.17/config/initializers/inflections.rb +0 -15
  107. data/spec/dummy/rails-3.2.17/config/initializers/mime_types.rb +0 -5
  108. data/spec/dummy/rails-3.2.17/config/initializers/notify_user.rb +0 -14
  109. data/spec/dummy/rails-3.2.17/config/initializers/secret_token.rb +0 -7
  110. data/spec/dummy/rails-3.2.17/config/initializers/session_store.rb +0 -8
  111. data/spec/dummy/rails-3.2.17/config/initializers/wrap_parameters.rb +0 -14
  112. data/spec/dummy/rails-3.2.17/config/keys/development_push.pem +0 -0
  113. data/spec/dummy/rails-3.2.17/config/locales/en.yml +0 -5
  114. data/spec/dummy/rails-3.2.17/config/routes.rb +0 -58
  115. data/spec/dummy/rails-3.2.17/db/migrate/20141102231353649649586000_create_notify_user_notifications.rb +0 -13
  116. data/spec/dummy/rails-3.2.17/db/migrate/20141102231353650650817000_create_notify_user_unsubscribes.rb +0 -10
  117. data/spec/dummy/rails-3.2.17/db/schema.rb +0 -50
  118. data/spec/dummy/rails-3.2.17/db/seeds.rb +0 -7
  119. data/spec/dummy/rails-3.2.17/doc/README_FOR_APP +0 -2
  120. data/spec/dummy/rails-3.2.17/log/test.log +0 -9574
  121. data/spec/dummy/rails-3.2.17/public/404.html +0 -26
  122. data/spec/dummy/rails-3.2.17/public/422.html +0 -26
  123. data/spec/dummy/rails-3.2.17/public/500.html +0 -25
  124. data/spec/dummy/rails-3.2.17/public/favicon.ico +0 -0
  125. data/spec/dummy/rails-3.2.17/public/index.html +0 -241
  126. data/spec/dummy/rails-3.2.17/public/robots.txt +0 -5
  127. data/spec/dummy/rails-3.2.17/script/rails +0 -6
  128. data/spec/dummy/rails-3.2.17/test/fixtures/users.yml +0 -7
  129. data/spec/dummy/rails-3.2.17/test/performance/browsing_test.rb +0 -12
  130. data/spec/dummy/rails-3.2.17/test/test_helper.rb +0 -13
  131. data/spec/dummy/rails-3.2.17/test/unit/user_test.rb +0 -7
  132. data/spec/dummy/rails-4.0.4/Gemfile +0 -45
  133. data/spec/dummy/rails-4.0.4/README.rdoc +0 -28
  134. data/spec/dummy/rails-4.0.4/Rakefile +0 -6
  135. data/spec/dummy/rails-4.0.4/app/assets/javascripts/application.js +0 -16
  136. data/spec/dummy/rails-4.0.4/app/assets/stylesheets/application.css +0 -13
  137. data/spec/dummy/rails-4.0.4/app/controllers/application_controller.rb +0 -5
  138. data/spec/dummy/rails-4.0.4/app/controllers/notify_user/notifications_controller.rb +0 -9
  139. data/spec/dummy/rails-4.0.4/app/helpers/application_helper.rb +0 -2
  140. data/spec/dummy/rails-4.0.4/app/models/user.rb +0 -2
  141. data/spec/dummy/rails-4.0.4/app/notifications/new_post_notification.rb +0 -15
  142. data/spec/dummy/rails-4.0.4/app/views/layouts/application.html.erb +0 -14
  143. data/spec/dummy/rails-4.0.4/app/views/notify_user/layouts/action_mailer.html.erb +0 -39
  144. data/spec/dummy/rails-4.0.4/app/views/notify_user/new_post_notification/action_mailer/notification.html.erb +0 -1
  145. data/spec/dummy/rails-4.0.4/bin/bundle +0 -3
  146. data/spec/dummy/rails-4.0.4/bin/rails +0 -4
  147. data/spec/dummy/rails-4.0.4/bin/rake +0 -4
  148. data/spec/dummy/rails-4.0.4/config.ru +0 -4
  149. data/spec/dummy/rails-4.0.4/config/application.rb +0 -23
  150. data/spec/dummy/rails-4.0.4/config/boot.rb +0 -4
  151. data/spec/dummy/rails-4.0.4/config/database.yml +0 -24
  152. data/spec/dummy/rails-4.0.4/config/environment.rb +0 -5
  153. data/spec/dummy/rails-4.0.4/config/environments/development.rb +0 -29
  154. data/spec/dummy/rails-4.0.4/config/environments/production.rb +0 -80
  155. data/spec/dummy/rails-4.0.4/config/environments/test.rb +0 -36
  156. data/spec/dummy/rails-4.0.4/config/initializers/backtrace_silencers.rb +0 -7
  157. data/spec/dummy/rails-4.0.4/config/initializers/filter_parameter_logging.rb +0 -4
  158. data/spec/dummy/rails-4.0.4/config/initializers/inflections.rb +0 -16
  159. data/spec/dummy/rails-4.0.4/config/initializers/mime_types.rb +0 -5
  160. data/spec/dummy/rails-4.0.4/config/initializers/notify_user.rb +0 -14
  161. data/spec/dummy/rails-4.0.4/config/initializers/secret_token.rb +0 -12
  162. data/spec/dummy/rails-4.0.4/config/initializers/session_store.rb +0 -3
  163. data/spec/dummy/rails-4.0.4/config/initializers/wrap_parameters.rb +0 -14
  164. data/spec/dummy/rails-4.0.4/config/keys/development_push.pem +0 -136
  165. data/spec/dummy/rails-4.0.4/config/locales/en.yml +0 -23
  166. data/spec/dummy/rails-4.0.4/config/routes.rb +0 -56
  167. data/spec/dummy/rails-4.0.4/db/migrate/20141102231412_create_users.rb +0 -9
  168. data/spec/dummy/rails-4.0.4/db/migrate/20141102231413670670945000_create_notify_user_unsubscribes.rb +0 -10
  169. data/spec/dummy/rails-4.0.4/db/migrate/20141102231413671671735000_create_notify_user_user_hashes.rb +0 -12
  170. data/spec/dummy/rails-4.0.4/db/schema.rb +0 -53
  171. data/spec/dummy/rails-4.0.4/db/seeds.rb +0 -7
  172. data/spec/dummy/rails-4.0.4/log/test.log +0 -45689
  173. data/spec/dummy/rails-4.0.4/public/404.html +0 -58
  174. data/spec/dummy/rails-4.0.4/public/422.html +0 -58
  175. data/spec/dummy/rails-4.0.4/public/500.html +0 -57
  176. data/spec/dummy/rails-4.0.4/public/favicon.ico +0 -0
  177. data/spec/dummy/rails-4.0.4/public/robots.txt +0 -5
  178. data/spec/dummy/rails-4.0.4/test/fixtures/users.yml +0 -7
  179. data/spec/dummy/rails-4.0.4/test/models/user_test.rb +0 -7
  180. data/spec/dummy/rails-4.0.4/test/test_helper.rb +0 -15
  181. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/0e8918f38b9bf3fc19fca4efda1600a1 +0 -0
  182. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  183. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/1bded108b40ef13c7e07be129e2cd83c +0 -0
  184. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/1ebdd9dfe7e88e90bee37951e2da1ea2 +0 -0
  185. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/23fe609acece1521082ad6b8249f96b1 +0 -0
  186. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  187. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  188. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/40fd179449501b801f80c852d1635a16 +0 -0
  189. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/4499e16a29d89bdf30304de41c456b43 +0 -0
  190. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/49088e1598df49c63ff7d874c97e958f +0 -0
  191. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/7398a3a743326d3576cbb05a000df04b +0 -0
  192. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/8eedfb1d9aee665c9f5a77df67b64a81 +0 -0
  193. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/91d718eeae4552c702b8eafd9e8bbe76 +0 -0
  194. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/9e2c26ef339b5827a5c296acb284ab99 +0 -0
  195. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/a4f2f445b4f8578493957e4f7b0c76e3 +0 -0
  196. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/af361e697648848dbf0282eba1d15c2f +0 -0
  197. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/af95fe3d35c9fe417700e8c3625329fe +0 -0
  198. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/b89f385c2540cb58f04dbfed561d3902 +0 -0
  199. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/bc1864fd5bfa875243b05071735cbb82 +0 -0
  200. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/bede0f0813e15081ea4ee32b640c92c4 +0 -0
  201. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/c1ba4e65491e8bb9fcdc38b22cb64aa9 +0 -0
  202. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/cb741827a22668ecf975f78242076b6b +0 -0
  203. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  204. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/d3516b65bb025bc333e0f91647a7b119 +0 -0
  205. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  206. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/df7c1d81da90fb0287da1e283291dc81 +0 -0
  207. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/f78ea05f6019d54c3572513ebae03556 +0 -0
  208. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/f7c2f64864ec1995aee8dcead45d7f24 +0 -0
  209. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  210. data/spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/fbbb5b21a4144f5e3efee9eda4fc38e5 +0 -0
  211. data/spec/dummy/rails-4.1.0/db/migrate/20141102231432_create_users.rb +0 -9
  212. data/spec/dummy/rails-4.1.0/db/migrate/20141102231434012012157000_create_notify_user_notifications.rb +0 -13
  213. data/spec/dummy/rails-4.1.0/db/migrate/20141102231434013013847000_create_notify_user_user_hashes.rb +0 -12
  214. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  215. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/1bded108b40ef13c7e07be129e2cd83c +0 -0
  216. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/1ebdd9dfe7e88e90bee37951e2da1ea2 +0 -0
  217. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/23fe609acece1521082ad6b8249f96b1 +0 -0
  218. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  219. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  220. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/3fa5cc1bc06bfb81887b971eb8d36258 +0 -0
  221. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/796287194e2490ae173cabd0f8e0fce7 +0 -0
  222. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/8d2563dcd2d59f9e020fc2623eda3999 +0 -0
  223. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/8ebc0d0c963e18c7c16e6e7f55fd379f +0 -0
  224. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/91d718eeae4552c702b8eafd9e8bbe76 +0 -0
  225. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/9e2c26ef339b5827a5c296acb284ab99 +0 -0
  226. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/a098882f88a8b3ca91d2efaada23dba3 +0 -0
  227. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/af361e697648848dbf0282eba1d15c2f +0 -0
  228. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/b89f385c2540cb58f04dbfed561d3902 +0 -0
  229. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/c1ba4e65491e8bb9fcdc38b22cb64aa9 +0 -0
  230. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/cb741827a22668ecf975f78242076b6b +0 -0
  231. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  232. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  233. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/df7c1d81da90fb0287da1e283291dc81 +0 -0
  234. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/f031b3342a7246183ffa1bb7819f293e +0 -0
  235. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/f78ea05f6019d54c3572513ebae03556 +0 -0
  236. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  237. data/spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/fbbb5b21a4144f5e3efee9eda4fc38e5 +0 -0
  238. data/spec/models/notify_user/houston_spec.rb +0 -33
@@ -2,38 +2,81 @@ require 'spec_helper'
2
2
 
3
3
  module NotifyUser
4
4
  describe Unsubscribe do
5
+ let(:user) { create(:user) }
6
+ let(:notification) { NotifyUser.send_notification('new_post_notification').to(user).with(name: 'Mr. Blobby') }
7
+ let(:unsubscribe) { Unsubscribe.create(target: user, type: 'NewPostNotification') }
5
8
 
6
- let(:user) { User.create({email: "user@example.com" })}
7
- let(:notification) { NotifyUser.send_notification('new_post_notification').to(user).with(name: "Mr. Blobby") }
8
- let(:unsubscribe) { NotifyUser::Unsubscribe.create({target: user, type: "NewPostNotification"}) }
9
+ describe 'self.unsubscribe' do
10
+ it "creates unsubscribe object if it doesn't exist" do
11
+ expect do
12
+ Unsubscribe.unsubscribe(user, 'NewPostNotification')
13
+ end.to change(Unsubscribe, :count).by(1)
14
+ end
15
+
16
+ it "doesn't create if already exists" do
17
+ Unsubscribe.unsubscribe(user, 'NewPostNotification')
18
+ expect do
19
+ Unsubscribe.unsubscribe(user, 'NewPostNotification')
20
+ end.not_to change(Unsubscribe, :count)
21
+ end
22
+ end
23
+
24
+ describe 'self.subscribe' do
25
+ it 'removes unsubscribe if exists for type' do
26
+ Unsubscribe.create(target: user, type: 'NewPostNotification')
27
+
28
+ expect do
29
+ Unsubscribe.subscribe(user, 'NewPostNotification')
30
+ end.to change(Unsubscribe, :count).by(-1)
31
+ end
9
32
 
33
+ it "doesn't remove unsubscribe for another type" do
34
+ Unsubscribe.create(target: user, type: 'AnotherPostNotification')
35
+
36
+ expect do
37
+ Unsubscribe.subscribe(user, 'NewPostNotification')
38
+ end.not_to change(Unsubscribe, :count)
39
+ end
40
+
41
+ it 'removes unsubscribe object if exists for type and group_id' do
42
+ Unsubscribe.create(target: user, type: 'NewPostNotification', group_id: 1)
43
+ expect do
44
+ Unsubscribe.subscribe(user, 'NewPostNotification', 1)
45
+ end.to change(Unsubscribe, :count).by(-1)
46
+ end
47
+
48
+ it "doesn't remove unsubscribe object for another group_id" do
49
+ Unsubscribe.create(target: user, type: 'NewPostNotification', group_id: 1)
50
+ expect do
51
+ Unsubscribe.subscribe(user, 'NewPostNotification', 2)
52
+ end.not_to change(Unsubscribe, :count)
53
+ end
54
+ end
10
55
 
11
- describe "unsubscribed" do
56
+ describe 'unsubscribed' do
12
57
  before :each do
13
- unsubscribe.save
58
+ unsubscribe
14
59
  end
15
60
 
16
61
  it "doesn't create notification object if unsubscribed" do
17
- notification.save
18
- notification.errors[:target].first.should eq " has unsubscribed from this type"
62
+ expect(notification).to_not be_valid
19
63
  end
20
64
 
21
65
  it "doesn't queue an aggregation background worker if unsubscribed" do
22
- notification.class.should_not_receive(:delay_for)
66
+ expect(notification.class).not_to receive(:delay_for)
23
67
  notification.notify
24
68
  end
25
69
 
26
- it "toggles the status of a subscription" do
27
- unsubscribe = NotifyUser::Unsubscribe.create({target: user, type: "NewPostNotification"})
28
- NotifyUser::Unsubscribe.toggle_status(user, "NewPostNotification")
29
- NotifyUser::Unsubscribe.has_unsubscribed_from(user, 'NewPostNotification').should eq []
70
+ it 'toggles the status of a subscription' do
71
+ Unsubscribe.create(target: user, type: 'NewPostNotification')
72
+ Unsubscribe.toggle_status(user, 'NewPostNotification')
73
+ expect(Unsubscribe.has_unsubscribed_from?(user, 'NewPostNotification')).to eq false
30
74
  end
31
75
  end
32
76
 
33
- describe "subscribed" do
34
- it "creates notification if subscribed" do
35
- notification.save
36
- notification.errors.count.should eq 0
77
+ describe 'subscribed' do
78
+ it 'valid if unsubscribe is not present' do
79
+ expect(notification).to be_valid
37
80
  end
38
81
  end
39
82
  end
@@ -2,34 +2,31 @@ require 'spec_helper'
2
2
 
3
3
  module NotifyUser
4
4
  describe UserHash do
5
+ let(:user) { create(:user) }
6
+ let(:user_hash) { UserHash.create(target: user, type: 'NewPostNotification') }
5
7
 
6
- let(:user) { User.create({email: "user@example.com" })}
7
- let(:user_hash) { NotifyUser::UserHash.create({target: user, type: "NewPostNotification"})}
8
-
9
- describe "check hash" do
8
+ describe 'check hash' do
10
9
  before :each do
11
10
  user_hash.save
12
11
  end
13
-
12
+
14
13
  it "returns true if hash hasn't be used before" do
15
- NotifyUser::UserHash.confirm_hash(user_hash.token,"NewPostNotification").should eq true
14
+ expect(UserHash.confirm_hash(user_hash.token, 'NewPostNotification')).to eq true
16
15
  end
17
16
 
18
- it "returns false if hash has been used before" do
17
+ it 'returns false if hash has been used before' do
19
18
  user_hash.deactivate
20
- NotifyUser::UserHash.confirm_hash(user_hash.token,"NewPostNotification").should eq false
19
+ expect(UserHash.confirm_hash(user_hash.token, 'NewPostNotification')).to eq false
21
20
  end
22
21
 
23
- it "deactivates hash setting active to false" do
22
+ it 'deactivates hash setting active to false' do
24
23
  user_hash.deactivate
25
- user_hash.active.should eq false
24
+ expect(user_hash.active).to eq false
26
25
  end
27
26
 
28
- it "generates a 44 character hash on create" do
29
- user_hash.token.length.should eq 44
27
+ it 'generates a 44 character hash on create' do
28
+ expect(user_hash.token.length).to eq 44
30
29
  end
31
-
32
30
  end
33
-
34
31
  end
35
32
  end
@@ -1,10 +1,28 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe NotifyUser::NotificationSerializer do
3
+ describe NotifyUser::NotificationSerializer, type: :model do
4
+ let(:resource) { create(:notify_user_notification) }
5
+ let(:serializer) { described_class.new(resource) }
6
+ let(:attributes) {[
7
+ 'id',
8
+ 'type',
9
+ 'message',
10
+ 'read',
11
+ 'params',
12
+ 'created_at',
13
+ ]}
4
14
 
5
- it { should include_root(:notifications) }
6
- it { should have_attribute(:message) }
7
- it { should have_attribute(:id) }
8
- it { should have_attribute(:read) }
9
-
15
+ subject do
16
+ JSON.parse(serializer.to_json)
17
+ end
18
+
19
+ describe 'root' do
20
+ it 'has a notifications root' do
21
+ expect(subject['notifications']).not_to be_nil
22
+ end
23
+
24
+ it 'has the correct attributes in the root' do
25
+ expect(subject['notifications'].keys).to match_array(attributes)
26
+ end
27
+ end
10
28
  end
data/spec/setup_spec.rb CHANGED
@@ -3,15 +3,14 @@ require 'spec_helper'
3
3
  describe "setup initializer" do
4
4
 
5
5
  it "sets a default mailer_sender" do
6
- NotifyUser.mailer_sender.should eq "please-change-me-at-config-initializers-notify-user@example.com"
6
+ expect(NotifyUser.mailer_sender).to eq "please-change-me-at-config-initializers-notify-user@example.com"
7
7
  end
8
8
 
9
9
  it "sets an authentication method" do
10
- NotifyUser.authentication_method.should eq :authenticate_user!
10
+ expect(NotifyUser.authentication_method).to eq :authenticate_user!
11
11
  end
12
12
 
13
13
  it "sets a current user method" do
14
- NotifyUser.current_user_method.should eq :current_user
14
+ expect(NotifyUser.current_user_method).to eq :current_user
15
15
  end
16
-
17
16
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+
1
3
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
4
  $LOAD_PATH << File.expand_path('../support', __FILE__)
3
5
 
@@ -5,41 +7,41 @@ $LOAD_PATH << File.expand_path('../support', __FILE__)
5
7
  ENV['BUNDLE_GEMFILE'] ||= 'gemfiles/rails40.gemfile'
6
8
 
7
9
  ENV['BUNDLE_GEMFILE'] = File.expand_path(ENV['BUNDLE_GEMFILE'])
8
- require "bundler"
10
+ require 'bundler'
9
11
  Bundler.setup
10
12
 
11
13
  ENV['RAILS_ENV'] = 'test'
12
14
  ENV['RAILS_ROOT'] = File.expand_path("../dummy/rails-#{ENV['RAILS_VERSION']}", __FILE__)
13
15
 
14
-
15
-
16
16
  # Create the test app if it doesn't exists
17
- unless File.exists?(ENV['RAILS_ROOT'])
18
- system 'rake setup'
19
- end
17
+ system 'rake setup' unless File.exist?(ENV['RAILS_ROOT'])
20
18
 
21
19
  require 'rails/all'
22
20
  require 'sidekiq'
23
21
  require File.expand_path("#{ENV['RAILS_ROOT']}/config/environment.rb", __FILE__)
24
22
 
25
23
  puts "Testing with Rails #{Rails::VERSION::STRING} and Ruby #{RUBY_VERSION}"
26
-
24
+ require 'pry'
27
25
  require 'rspec/rails'
28
26
  require 'capybara/rails'
29
27
  require 'factory_girl_rails'
30
28
  require 'sidekiq/testing'
31
- require "awesome_print"
29
+ require 'awesome_print'
30
+ require 'timecop'
32
31
 
33
32
  Sidekiq::Testing.inline!
34
33
 
35
34
  RSpec.configure do |config|
36
- config.infer_base_class_for_anonymous_controllers = false
37
35
  config.use_transactional_fixtures = true
36
+ config.infer_spec_type_from_file_location!
37
+
38
+ # Use FactoryGirl shortcuts
39
+ config.include FactoryGirl::Syntax::Methods
38
40
 
39
41
  def mailer_should_render_template(mailer, template)
40
42
  original_method = mailer.method(:_render_template)
41
- mailer.should_receive(:_render_template) do |arg|
42
- arg[:template].virtual_path.should eq template
43
+ expect(mailer).to receive(:_render_template) do |arg|
44
+ expect(arg[:template].virtual_path).to eq template
43
45
  original_method.call(arg)
44
46
  end
45
47
  end
@@ -48,4 +50,10 @@ RSpec.configure do |config|
48
50
  JSON.parse(response.body).with_indifferent_access
49
51
  end
50
52
 
51
- end
53
+ def create_device_double(options = {})
54
+ device = instance_double('Device')
55
+ token = options[:token] || 'token'
56
+ allow(device).to receive(:token) { token }
57
+ device
58
+ end
59
+ end
@@ -0,0 +1,8 @@
1
+ class TestAPNConnection
2
+ def closed?
3
+ true
4
+ end
5
+
6
+ def open; end
7
+ def ssl; end
8
+ end
@@ -0,0 +1,5 @@
1
+ class TestGCMConnection
2
+ def send(*args)
3
+ # Stub out the response here, or mock in spec
4
+ end
5
+ 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.1.4
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Spacek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-12 00:00:00.000000000 Z
11
+ date: 2015-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 3.0.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 3.0.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: kaminari
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: urbanairship
84
+ name: pubnub
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: pubnub
98
+ name: houston
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: houston
112
+ name: connection_pool
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: connection_pool
126
+ name: gcm
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -234,6 +234,48 @@ dependencies:
234
234
  - - ">="
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: pry
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: appraisal
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: timecop
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
237
279
  description: Drop-in solution for user notifications. Handles notifying by email,
238
280
  SMS and APNS, plus per-user notification frequency settings and views for checking
239
281
  new notifications.
@@ -256,8 +298,9 @@ files:
256
298
  - app/models/notify_user/apn_connection.rb
257
299
  - app/models/notify_user/apns.rb
258
300
  - app/models/notify_user/base_notification.rb
259
- - app/models/notify_user/houston.rb
301
+ - app/models/notify_user/gcm.rb
260
302
  - app/models/notify_user/pub_nub.rb
303
+ - app/models/notify_user/push.rb
261
304
  - app/models/notify_user/unsubscribe.rb
262
305
  - app/models/notify_user/urban_airship.rb
263
306
  - app/models/notify_user/user_hash.rb
@@ -268,6 +311,10 @@ files:
268
311
  - app/views/notify_user/base_notifications/index.html.erb
269
312
  - app/views/notify_user/base_notifications/unsubscribe.html.erb
270
313
  - config/routes.rb
314
+ - lib/generators/notify_user/aggr_interval_update/USAGE
315
+ - lib/generators/notify_user/aggr_interval_update/aggr_interval_update_generator.rb
316
+ - lib/generators/notify_user/aggr_interval_update/templates/add_sent_time_to_notifications.rb
317
+ - lib/generators/notify_user/aggr_interval_update/templates/update_unsubscribe.rb
271
318
  - lib/generators/notify_user/install/USAGE
272
319
  - lib/generators/notify_user/install/install_generator.rb
273
320
  - lib/generators/notify_user/install/templates/create_notify_user_notifications.rb
@@ -294,138 +341,6 @@ files:
294
341
  - lib/notify_user/version.rb
295
342
  - lib/tasks/notify_user.rake
296
343
  - 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/config.ru
312
- - spec/dummy/rails-3.2.17/config/application.rb
313
- - spec/dummy/rails-3.2.17/config/boot.rb
314
- - spec/dummy/rails-3.2.17/config/database.yml
315
- - spec/dummy/rails-3.2.17/config/environment.rb
316
- - spec/dummy/rails-3.2.17/config/environments/development.rb
317
- - spec/dummy/rails-3.2.17/config/environments/production.rb
318
- - spec/dummy/rails-3.2.17/config/environments/test.rb
319
- - spec/dummy/rails-3.2.17/config/initializers/backtrace_silencers.rb
320
- - spec/dummy/rails-3.2.17/config/initializers/inflections.rb
321
- - spec/dummy/rails-3.2.17/config/initializers/mime_types.rb
322
- - spec/dummy/rails-3.2.17/config/initializers/notify_user.rb
323
- - spec/dummy/rails-3.2.17/config/initializers/secret_token.rb
324
- - spec/dummy/rails-3.2.17/config/initializers/session_store.rb
325
- - spec/dummy/rails-3.2.17/config/initializers/wrap_parameters.rb
326
- - spec/dummy/rails-3.2.17/config/keys/development_push.pem
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/20141102231350_create_users.rb
330
- - spec/dummy/rails-3.2.17/db/migrate/20141102231353649649586000_create_notify_user_notifications.rb
331
- - spec/dummy/rails-3.2.17/db/migrate/20141102231353650650817000_create_notify_user_unsubscribes.rb
332
- - spec/dummy/rails-3.2.17/db/migrate/20141102231353651651843000_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
348
- - spec/dummy/rails-4.0.4/Gemfile
349
- - spec/dummy/rails-4.0.4/README.rdoc
350
- - spec/dummy/rails-4.0.4/Rakefile
351
- - spec/dummy/rails-4.0.4/app/assets/javascripts/application.js
352
- - spec/dummy/rails-4.0.4/app/assets/stylesheets/application.css
353
- - spec/dummy/rails-4.0.4/app/controllers/application_controller.rb
354
- - spec/dummy/rails-4.0.4/app/controllers/notify_user/notifications_controller.rb
355
- - spec/dummy/rails-4.0.4/app/helpers/application_helper.rb
356
- - spec/dummy/rails-4.0.4/app/models/user.rb
357
- - spec/dummy/rails-4.0.4/app/notifications/new_post_notification.rb
358
- - spec/dummy/rails-4.0.4/app/views/layouts/application.html.erb
359
- - spec/dummy/rails-4.0.4/app/views/notify_user/layouts/action_mailer.html.erb
360
- - spec/dummy/rails-4.0.4/app/views/notify_user/new_post_notification/action_mailer/notification.html.erb
361
- - spec/dummy/rails-4.0.4/app/views/notify_user/new_post_notification/mobile_sdk/notification.html.erb
362
- - spec/dummy/rails-4.0.4/bin/bundle
363
- - spec/dummy/rails-4.0.4/bin/rails
364
- - spec/dummy/rails-4.0.4/bin/rake
365
- - spec/dummy/rails-4.0.4/config.ru
366
- - spec/dummy/rails-4.0.4/config/application.rb
367
- - spec/dummy/rails-4.0.4/config/boot.rb
368
- - spec/dummy/rails-4.0.4/config/database.yml
369
- - spec/dummy/rails-4.0.4/config/environment.rb
370
- - spec/dummy/rails-4.0.4/config/environments/development.rb
371
- - spec/dummy/rails-4.0.4/config/environments/production.rb
372
- - spec/dummy/rails-4.0.4/config/environments/test.rb
373
- - spec/dummy/rails-4.0.4/config/initializers/backtrace_silencers.rb
374
- - spec/dummy/rails-4.0.4/config/initializers/filter_parameter_logging.rb
375
- - spec/dummy/rails-4.0.4/config/initializers/inflections.rb
376
- - spec/dummy/rails-4.0.4/config/initializers/mime_types.rb
377
- - spec/dummy/rails-4.0.4/config/initializers/notify_user.rb
378
- - spec/dummy/rails-4.0.4/config/initializers/secret_token.rb
379
- - spec/dummy/rails-4.0.4/config/initializers/session_store.rb
380
- - spec/dummy/rails-4.0.4/config/initializers/wrap_parameters.rb
381
- - spec/dummy/rails-4.0.4/config/keys/development_push.pem
382
- - spec/dummy/rails-4.0.4/config/locales/en.yml
383
- - spec/dummy/rails-4.0.4/config/routes.rb
384
- - spec/dummy/rails-4.0.4/db/migrate/20141102231412_create_users.rb
385
- - spec/dummy/rails-4.0.4/db/migrate/20141102231413669669843000_create_notify_user_notifications.rb
386
- - spec/dummy/rails-4.0.4/db/migrate/20141102231413670670945000_create_notify_user_unsubscribes.rb
387
- - spec/dummy/rails-4.0.4/db/migrate/20141102231413671671735000_create_notify_user_user_hashes.rb
388
- - spec/dummy/rails-4.0.4/db/schema.rb
389
- - spec/dummy/rails-4.0.4/db/seeds.rb
390
- - spec/dummy/rails-4.0.4/log/test.log
391
- - spec/dummy/rails-4.0.4/public/404.html
392
- - spec/dummy/rails-4.0.4/public/422.html
393
- - spec/dummy/rails-4.0.4/public/500.html
394
- - spec/dummy/rails-4.0.4/public/favicon.ico
395
- - spec/dummy/rails-4.0.4/public/robots.txt
396
- - spec/dummy/rails-4.0.4/test/fixtures/users.yml
397
- - spec/dummy/rails-4.0.4/test/models/user_test.rb
398
- - spec/dummy/rails-4.0.4/test/test_helper.rb
399
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/0e8918f38b9bf3fc19fca4efda1600a1
400
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
401
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/1bded108b40ef13c7e07be129e2cd83c
402
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/1ebdd9dfe7e88e90bee37951e2da1ea2
403
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/23fe609acece1521082ad6b8249f96b1
404
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
405
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
406
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/40fd179449501b801f80c852d1635a16
407
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/4499e16a29d89bdf30304de41c456b43
408
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/49088e1598df49c63ff7d874c97e958f
409
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/7398a3a743326d3576cbb05a000df04b
410
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/8eedfb1d9aee665c9f5a77df67b64a81
411
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/91d718eeae4552c702b8eafd9e8bbe76
412
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/9e2c26ef339b5827a5c296acb284ab99
413
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/a4f2f445b4f8578493957e4f7b0c76e3
414
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/af361e697648848dbf0282eba1d15c2f
415
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/af95fe3d35c9fe417700e8c3625329fe
416
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/b89f385c2540cb58f04dbfed561d3902
417
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/bc1864fd5bfa875243b05071735cbb82
418
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/bede0f0813e15081ea4ee32b640c92c4
419
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/c1ba4e65491e8bb9fcdc38b22cb64aa9
420
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/cb741827a22668ecf975f78242076b6b
421
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
422
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/d3516b65bb025bc333e0f91647a7b119
423
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
424
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/df7c1d81da90fb0287da1e283291dc81
425
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/f78ea05f6019d54c3572513ebae03556
426
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/f7c2f64864ec1995aee8dcead45d7f24
427
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
428
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/fbbb5b21a4144f5e3efee9eda4fc38e5
429
344
  - spec/dummy/rails-4.1.0/Gemfile
430
345
  - spec/dummy/rails-4.1.0/README.rdoc
431
346
  - spec/dummy/rails-4.1.0/Rakefile
@@ -439,6 +354,8 @@ files:
439
354
  - spec/dummy/rails-4.1.0/app/views/layouts/application.html.erb
440
355
  - spec/dummy/rails-4.1.0/app/views/notify_user/layouts/action_mailer.html.erb
441
356
  - spec/dummy/rails-4.1.0/app/views/notify_user/new_post_notification/action_mailer/notification.html.erb
357
+ - spec/dummy/rails-4.1.0/app/views/notify_user/new_post_notification/mobile_sdk/aggregate_notifications.html.erb
358
+ - spec/dummy/rails-4.1.0/app/views/notify_user/new_post_notification/mobile_sdk/notification.html.erb
442
359
  - spec/dummy/rails-4.1.0/bin/bundle
443
360
  - spec/dummy/rails-4.1.0/bin/rails
444
361
  - spec/dummy/rails-4.1.0/bin/rake
@@ -450,6 +367,7 @@ files:
450
367
  - spec/dummy/rails-4.1.0/config/environments/development.rb
451
368
  - spec/dummy/rails-4.1.0/config/environments/production.rb
452
369
  - spec/dummy/rails-4.1.0/config/environments/test.rb
370
+ - spec/dummy/rails-4.1.0/config/initializers/assets.rb
453
371
  - spec/dummy/rails-4.1.0/config/initializers/backtrace_silencers.rb
454
372
  - spec/dummy/rails-4.1.0/config/initializers/cookies_serializer.rb
455
373
  - spec/dummy/rails-4.1.0/config/initializers/filter_parameter_logging.rb
@@ -461,10 +379,10 @@ files:
461
379
  - spec/dummy/rails-4.1.0/config/locales/en.yml
462
380
  - spec/dummy/rails-4.1.0/config/routes.rb
463
381
  - spec/dummy/rails-4.1.0/config/secrets.yml
464
- - spec/dummy/rails-4.1.0/db/migrate/20141102231432_create_users.rb
465
- - spec/dummy/rails-4.1.0/db/migrate/20141102231434012012157000_create_notify_user_notifications.rb
466
- - spec/dummy/rails-4.1.0/db/migrate/20141102231434013013078000_create_notify_user_unsubscribes.rb
467
- - spec/dummy/rails-4.1.0/db/migrate/20141102231434013013847000_create_notify_user_user_hashes.rb
382
+ - spec/dummy/rails-4.1.0/db/migrate/20150907004705_create_users.rb
383
+ - spec/dummy/rails-4.1.0/db/migrate/20150907004707_create_notify_user_notifications.rb
384
+ - spec/dummy/rails-4.1.0/db/migrate/20150907004708_create_notify_user_unsubscribes.rb
385
+ - spec/dummy/rails-4.1.0/db/migrate/20150907004709_create_notify_user_user_hashes.rb
468
386
  - spec/dummy/rails-4.1.0/db/schema.rb
469
387
  - spec/dummy/rails-4.1.0/db/seeds.rb
470
388
  - spec/dummy/rails-4.1.0/log/test.log
@@ -476,34 +394,37 @@ files:
476
394
  - spec/dummy/rails-4.1.0/test/fixtures/users.yml
477
395
  - spec/dummy/rails-4.1.0/test/models/user_test.rb
478
396
  - spec/dummy/rails-4.1.0/test/test_helper.rb
479
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
480
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/1bded108b40ef13c7e07be129e2cd83c
481
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/1ebdd9dfe7e88e90bee37951e2da1ea2
482
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/23fe609acece1521082ad6b8249f96b1
483
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
484
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
485
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/3fa5cc1bc06bfb81887b971eb8d36258
486
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/796287194e2490ae173cabd0f8e0fce7
487
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/8d2563dcd2d59f9e020fc2623eda3999
488
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/8ebc0d0c963e18c7c16e6e7f55fd379f
489
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/91d718eeae4552c702b8eafd9e8bbe76
490
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/9e2c26ef339b5827a5c296acb284ab99
491
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/a098882f88a8b3ca91d2efaada23dba3
492
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/af361e697648848dbf0282eba1d15c2f
493
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/b89f385c2540cb58f04dbfed561d3902
494
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/c1ba4e65491e8bb9fcdc38b22cb64aa9
495
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/cb741827a22668ecf975f78242076b6b
496
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
497
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
498
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/df7c1d81da90fb0287da1e283291dc81
499
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/f031b3342a7246183ffa1bb7819f293e
500
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/f78ea05f6019d54c3572513ebae03556
501
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
502
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/fbbb5b21a4144f5e3efee9eda4fc38e5
397
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/2iFf6DF21eHswaXamThRpysQhZa4HHhfXSwW0I26I_Q.cache
398
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/56gcPUZsFk_z-NC4BqxyzJ2fHeG-wa2DVNUK5iFQico.cache
399
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/8DepzOh5SIwaxC825zft8xeBhAi84AFjIkQLBafpfcI.cache
400
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/DFBSCnNmEyoM8roYdJ4CwzgAxnyRtTG3S2qD1ryqXxw.cache
401
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/DcdyyraxoBKSYh1m6Spmfn5Qtn0V2X2t8aO3dmAi0Po.cache
402
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/IO46kchRzb_wUQ8H3D25_DHv7lZK4CxthkOj6ZKp8mQ.cache
403
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/JTg9Khb4iQ4MkGt2OoYdfz6rYD9ccxMNxCOnVK92fJA.cache
404
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/O8akbUwAbmIKY-AhITimq-JDQ6IgsO3Hvq2v5etufFw.cache
405
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/RJrFPSmoXCFaapGXw1bP4Lg0NLmr9qG2RMuN56UrR7U.cache
406
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/TWJMA4bg5d25falxiw_TLK0GtSXWpfl0vFaFLRpkYKI.cache
407
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/XjnNasrgRd0l5xx4UR4IeE-Tz1EtjiPKwmizcf59P9U.cache
408
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/Y829B5qbE0t7idbBscHZCJxlb-D9S6G_8P6HwwMe7J4.cache
409
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/aXGU_8_bWOQw87gl5m_8fgEUtethSIj95P57d5YuW5k.cache
410
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/cjXxcrFHyMpHUOqA38Yaft85pmxR7gZ4__TFcgJQyKA.cache
411
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/cpoXvFR-s_2VM6kFm4ixeZKjW6en5HiD8B-ttj-iUSI.cache
412
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/hAsOx0KPt1yL2Nh2sDOmOIWrAfoEZo1RxZQkNop9FOU.cache
413
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/j52KuMJNJLJcKPVLf8rk8USLswZAmy6Hi1OW35JjVTo.cache
414
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/mwsAf4xggfO0hGKNns79uKcXG7B5rk8a4Zav3vXyr6M.cache
415
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/tPF6H9NRpGO3whu2y5_e_R_1EACKdCwu5437D83qJT0.cache
416
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/x5V5ICXz753PW9A8l6gpNAh_utfwyXyixuUxtMgJ2Pg.cache
417
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/y8AwtETeMIB25XCoxQDwn3DmMpUFLblIFK4yb18zN4c.cache
418
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/yWa5z3IIFR71QlDOGDwO5IpC9vsVUGFNfficVy0q3zo.cache
419
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/zDCAil6tD1zhO-gqs7OG9_zEEdMVEZo_aUkZjLHP53M.cache
503
420
  - spec/factories/notify_user_notifications.rb
421
+ - spec/factories/users.rb
504
422
  - spec/fixtures/notify_user/notification_mailer/notification_email
423
+ - spec/lib/notify_user/channels/apns_channel_spec.rb
505
424
  - spec/mailers/notify_user/notification_mailer_spec.rb
506
- - spec/models/notify_user/houston_spec.rb
425
+ - spec/models/notify_user/apn_connection_spec.rb
426
+ - spec/models/notify_user/apns_spec.rb
427
+ - spec/models/notify_user/gcm_spec.rb
507
428
  - spec/models/notify_user/notification_spec.rb
508
429
  - spec/models/notify_user/unsubscribe_spec.rb
509
430
  - spec/models/notify_user/user_hash_spec.rb
@@ -512,6 +433,8 @@ files:
512
433
  - spec/spec_helper.rb
513
434
  - spec/support/database.yml
514
435
  - spec/support/rails_template.rb
436
+ - spec/support/test_apn_connection.rb
437
+ - spec/support/test_gcm_connection.rb
515
438
  homepage: http://www.papercloud.com.au
516
439
  licenses: []
517
440
  metadata: {}
@@ -531,144 +454,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
531
454
  version: '0'
532
455
  requirements: []
533
456
  rubyforge_project:
534
- rubygems_version: 2.2.2
457
+ rubygems_version: 2.4.5
535
458
  signing_key:
536
459
  specification_version: 4
537
460
  summary: A Rails engine for user notifications.
538
461
  test_files:
539
462
  - spec/controllers/notify_user/notifications_controller_spec.rb
540
- - spec/dummy/rails-3.2.17/app/assets/images/rails.png
541
- - spec/dummy/rails-3.2.17/app/assets/javascripts/application.js
542
- - spec/dummy/rails-3.2.17/app/assets/stylesheets/application.css
543
- - spec/dummy/rails-3.2.17/app/controllers/application_controller.rb
544
- - spec/dummy/rails-3.2.17/app/controllers/notify_user/notifications_controller.rb
545
- - spec/dummy/rails-3.2.17/app/helpers/application_helper.rb
546
- - spec/dummy/rails-3.2.17/app/models/user.rb
547
- - spec/dummy/rails-3.2.17/app/notifications/new_post_notification.rb
548
- - spec/dummy/rails-3.2.17/app/views/layouts/application.html.erb
549
- - spec/dummy/rails-3.2.17/app/views/notify_user/layouts/action_mailer.html.erb
550
- - spec/dummy/rails-3.2.17/app/views/notify_user/new_post_notification/action_mailer/notification.html.erb
551
- - spec/dummy/rails-3.2.17/config/application.rb
552
- - spec/dummy/rails-3.2.17/config/boot.rb
553
- - spec/dummy/rails-3.2.17/config/database.yml
554
- - spec/dummy/rails-3.2.17/config/environment.rb
555
- - spec/dummy/rails-3.2.17/config/environments/development.rb
556
- - spec/dummy/rails-3.2.17/config/environments/production.rb
557
- - spec/dummy/rails-3.2.17/config/environments/test.rb
558
- - spec/dummy/rails-3.2.17/config/initializers/backtrace_silencers.rb
559
- - spec/dummy/rails-3.2.17/config/initializers/inflections.rb
560
- - spec/dummy/rails-3.2.17/config/initializers/mime_types.rb
561
- - spec/dummy/rails-3.2.17/config/initializers/notify_user.rb
562
- - spec/dummy/rails-3.2.17/config/initializers/secret_token.rb
563
- - spec/dummy/rails-3.2.17/config/initializers/session_store.rb
564
- - spec/dummy/rails-3.2.17/config/initializers/wrap_parameters.rb
565
- - spec/dummy/rails-3.2.17/config/keys/development_push.pem
566
- - spec/dummy/rails-3.2.17/config/locales/en.yml
567
- - spec/dummy/rails-3.2.17/config/routes.rb
568
- - spec/dummy/rails-3.2.17/config.ru
569
- - spec/dummy/rails-3.2.17/db/migrate/20141102231350_create_users.rb
570
- - spec/dummy/rails-3.2.17/db/migrate/20141102231353649649586000_create_notify_user_notifications.rb
571
- - spec/dummy/rails-3.2.17/db/migrate/20141102231353650650817000_create_notify_user_unsubscribes.rb
572
- - spec/dummy/rails-3.2.17/db/migrate/20141102231353651651843000_create_notify_user_user_hashes.rb
573
- - spec/dummy/rails-3.2.17/db/schema.rb
574
- - spec/dummy/rails-3.2.17/db/seeds.rb
575
- - spec/dummy/rails-3.2.17/doc/README_FOR_APP
576
- - spec/dummy/rails-3.2.17/Gemfile
577
- - spec/dummy/rails-3.2.17/log/test.log
578
- - spec/dummy/rails-3.2.17/public/404.html
579
- - spec/dummy/rails-3.2.17/public/422.html
580
- - spec/dummy/rails-3.2.17/public/500.html
581
- - spec/dummy/rails-3.2.17/public/favicon.ico
582
- - spec/dummy/rails-3.2.17/public/index.html
583
- - spec/dummy/rails-3.2.17/public/robots.txt
584
- - spec/dummy/rails-3.2.17/Rakefile
585
- - spec/dummy/rails-3.2.17/README.rdoc
586
- - spec/dummy/rails-3.2.17/script/rails
587
- - spec/dummy/rails-3.2.17/test/fixtures/users.yml
588
- - spec/dummy/rails-3.2.17/test/performance/browsing_test.rb
589
- - spec/dummy/rails-3.2.17/test/test_helper.rb
590
- - spec/dummy/rails-3.2.17/test/unit/user_test.rb
591
- - spec/dummy/rails-4.0.4/app/assets/javascripts/application.js
592
- - spec/dummy/rails-4.0.4/app/assets/stylesheets/application.css
593
- - spec/dummy/rails-4.0.4/app/controllers/application_controller.rb
594
- - spec/dummy/rails-4.0.4/app/controllers/notify_user/notifications_controller.rb
595
- - spec/dummy/rails-4.0.4/app/helpers/application_helper.rb
596
- - spec/dummy/rails-4.0.4/app/models/user.rb
597
- - spec/dummy/rails-4.0.4/app/notifications/new_post_notification.rb
598
- - spec/dummy/rails-4.0.4/app/views/layouts/application.html.erb
599
- - spec/dummy/rails-4.0.4/app/views/notify_user/layouts/action_mailer.html.erb
600
- - spec/dummy/rails-4.0.4/app/views/notify_user/new_post_notification/action_mailer/notification.html.erb
601
- - spec/dummy/rails-4.0.4/app/views/notify_user/new_post_notification/mobile_sdk/notification.html.erb
602
- - spec/dummy/rails-4.0.4/bin/bundle
603
- - spec/dummy/rails-4.0.4/bin/rails
604
- - spec/dummy/rails-4.0.4/bin/rake
605
- - spec/dummy/rails-4.0.4/config/application.rb
606
- - spec/dummy/rails-4.0.4/config/boot.rb
607
- - spec/dummy/rails-4.0.4/config/database.yml
608
- - spec/dummy/rails-4.0.4/config/environment.rb
609
- - spec/dummy/rails-4.0.4/config/environments/development.rb
610
- - spec/dummy/rails-4.0.4/config/environments/production.rb
611
- - spec/dummy/rails-4.0.4/config/environments/test.rb
612
- - spec/dummy/rails-4.0.4/config/initializers/backtrace_silencers.rb
613
- - spec/dummy/rails-4.0.4/config/initializers/filter_parameter_logging.rb
614
- - spec/dummy/rails-4.0.4/config/initializers/inflections.rb
615
- - spec/dummy/rails-4.0.4/config/initializers/mime_types.rb
616
- - spec/dummy/rails-4.0.4/config/initializers/notify_user.rb
617
- - spec/dummy/rails-4.0.4/config/initializers/secret_token.rb
618
- - spec/dummy/rails-4.0.4/config/initializers/session_store.rb
619
- - spec/dummy/rails-4.0.4/config/initializers/wrap_parameters.rb
620
- - spec/dummy/rails-4.0.4/config/keys/development_push.pem
621
- - spec/dummy/rails-4.0.4/config/locales/en.yml
622
- - spec/dummy/rails-4.0.4/config/routes.rb
623
- - spec/dummy/rails-4.0.4/config.ru
624
- - spec/dummy/rails-4.0.4/db/migrate/20141102231412_create_users.rb
625
- - spec/dummy/rails-4.0.4/db/migrate/20141102231413669669843000_create_notify_user_notifications.rb
626
- - spec/dummy/rails-4.0.4/db/migrate/20141102231413670670945000_create_notify_user_unsubscribes.rb
627
- - spec/dummy/rails-4.0.4/db/migrate/20141102231413671671735000_create_notify_user_user_hashes.rb
628
- - spec/dummy/rails-4.0.4/db/schema.rb
629
- - spec/dummy/rails-4.0.4/db/seeds.rb
630
- - spec/dummy/rails-4.0.4/Gemfile
631
- - spec/dummy/rails-4.0.4/log/test.log
632
- - spec/dummy/rails-4.0.4/public/404.html
633
- - spec/dummy/rails-4.0.4/public/422.html
634
- - spec/dummy/rails-4.0.4/public/500.html
635
- - spec/dummy/rails-4.0.4/public/favicon.ico
636
- - spec/dummy/rails-4.0.4/public/robots.txt
637
- - spec/dummy/rails-4.0.4/Rakefile
638
- - spec/dummy/rails-4.0.4/README.rdoc
639
- - spec/dummy/rails-4.0.4/test/fixtures/users.yml
640
- - spec/dummy/rails-4.0.4/test/models/user_test.rb
641
- - spec/dummy/rails-4.0.4/test/test_helper.rb
642
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/0e8918f38b9bf3fc19fca4efda1600a1
643
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
644
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/1bded108b40ef13c7e07be129e2cd83c
645
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/1ebdd9dfe7e88e90bee37951e2da1ea2
646
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/23fe609acece1521082ad6b8249f96b1
647
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
648
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
649
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/40fd179449501b801f80c852d1635a16
650
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/4499e16a29d89bdf30304de41c456b43
651
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/49088e1598df49c63ff7d874c97e958f
652
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/7398a3a743326d3576cbb05a000df04b
653
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/8eedfb1d9aee665c9f5a77df67b64a81
654
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/91d718eeae4552c702b8eafd9e8bbe76
655
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/9e2c26ef339b5827a5c296acb284ab99
656
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/a4f2f445b4f8578493957e4f7b0c76e3
657
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/af361e697648848dbf0282eba1d15c2f
658
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/af95fe3d35c9fe417700e8c3625329fe
659
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/b89f385c2540cb58f04dbfed561d3902
660
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/bc1864fd5bfa875243b05071735cbb82
661
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/bede0f0813e15081ea4ee32b640c92c4
662
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/c1ba4e65491e8bb9fcdc38b22cb64aa9
663
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/cb741827a22668ecf975f78242076b6b
664
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
665
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/d3516b65bb025bc333e0f91647a7b119
666
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
667
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/df7c1d81da90fb0287da1e283291dc81
668
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/f78ea05f6019d54c3572513ebae03556
669
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/f7c2f64864ec1995aee8dcead45d7f24
670
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
671
- - spec/dummy/rails-4.0.4/tmp/cache/assets/test/sprockets/fbbb5b21a4144f5e3efee9eda4fc38e5
672
463
  - spec/dummy/rails-4.1.0/app/assets/javascripts/application.js
673
464
  - spec/dummy/rails-4.1.0/app/assets/stylesheets/application.css
674
465
  - spec/dummy/rails-4.1.0/app/controllers/application_controller.rb
@@ -679,6 +470,8 @@ test_files:
679
470
  - spec/dummy/rails-4.1.0/app/views/layouts/application.html.erb
680
471
  - spec/dummy/rails-4.1.0/app/views/notify_user/layouts/action_mailer.html.erb
681
472
  - spec/dummy/rails-4.1.0/app/views/notify_user/new_post_notification/action_mailer/notification.html.erb
473
+ - spec/dummy/rails-4.1.0/app/views/notify_user/new_post_notification/mobile_sdk/aggregate_notifications.html.erb
474
+ - spec/dummy/rails-4.1.0/app/views/notify_user/new_post_notification/mobile_sdk/notification.html.erb
682
475
  - spec/dummy/rails-4.1.0/bin/bundle
683
476
  - spec/dummy/rails-4.1.0/bin/rails
684
477
  - spec/dummy/rails-4.1.0/bin/rake
@@ -689,6 +482,7 @@ test_files:
689
482
  - spec/dummy/rails-4.1.0/config/environments/development.rb
690
483
  - spec/dummy/rails-4.1.0/config/environments/production.rb
691
484
  - spec/dummy/rails-4.1.0/config/environments/test.rb
485
+ - spec/dummy/rails-4.1.0/config/initializers/assets.rb
692
486
  - spec/dummy/rails-4.1.0/config/initializers/backtrace_silencers.rb
693
487
  - spec/dummy/rails-4.1.0/config/initializers/cookies_serializer.rb
694
488
  - spec/dummy/rails-4.1.0/config/initializers/filter_parameter_logging.rb
@@ -701,10 +495,10 @@ test_files:
701
495
  - spec/dummy/rails-4.1.0/config/routes.rb
702
496
  - spec/dummy/rails-4.1.0/config/secrets.yml
703
497
  - spec/dummy/rails-4.1.0/config.ru
704
- - spec/dummy/rails-4.1.0/db/migrate/20141102231432_create_users.rb
705
- - spec/dummy/rails-4.1.0/db/migrate/20141102231434012012157000_create_notify_user_notifications.rb
706
- - spec/dummy/rails-4.1.0/db/migrate/20141102231434013013078000_create_notify_user_unsubscribes.rb
707
- - spec/dummy/rails-4.1.0/db/migrate/20141102231434013013847000_create_notify_user_user_hashes.rb
498
+ - spec/dummy/rails-4.1.0/db/migrate/20150907004705_create_users.rb
499
+ - spec/dummy/rails-4.1.0/db/migrate/20150907004707_create_notify_user_notifications.rb
500
+ - spec/dummy/rails-4.1.0/db/migrate/20150907004708_create_notify_user_unsubscribes.rb
501
+ - spec/dummy/rails-4.1.0/db/migrate/20150907004709_create_notify_user_user_hashes.rb
708
502
  - spec/dummy/rails-4.1.0/db/schema.rb
709
503
  - spec/dummy/rails-4.1.0/db/seeds.rb
710
504
  - spec/dummy/rails-4.1.0/Gemfile
@@ -719,34 +513,37 @@ test_files:
719
513
  - spec/dummy/rails-4.1.0/test/fixtures/users.yml
720
514
  - spec/dummy/rails-4.1.0/test/models/user_test.rb
721
515
  - spec/dummy/rails-4.1.0/test/test_helper.rb
722
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
723
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/1bded108b40ef13c7e07be129e2cd83c
724
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/1ebdd9dfe7e88e90bee37951e2da1ea2
725
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/23fe609acece1521082ad6b8249f96b1
726
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
727
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
728
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/3fa5cc1bc06bfb81887b971eb8d36258
729
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/796287194e2490ae173cabd0f8e0fce7
730
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/8d2563dcd2d59f9e020fc2623eda3999
731
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/8ebc0d0c963e18c7c16e6e7f55fd379f
732
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/91d718eeae4552c702b8eafd9e8bbe76
733
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/9e2c26ef339b5827a5c296acb284ab99
734
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/a098882f88a8b3ca91d2efaada23dba3
735
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/af361e697648848dbf0282eba1d15c2f
736
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/b89f385c2540cb58f04dbfed561d3902
737
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/c1ba4e65491e8bb9fcdc38b22cb64aa9
738
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/cb741827a22668ecf975f78242076b6b
739
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
740
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
741
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/df7c1d81da90fb0287da1e283291dc81
742
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/f031b3342a7246183ffa1bb7819f293e
743
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/f78ea05f6019d54c3572513ebae03556
744
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
745
- - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/fbbb5b21a4144f5e3efee9eda4fc38e5
516
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/2iFf6DF21eHswaXamThRpysQhZa4HHhfXSwW0I26I_Q.cache
517
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/56gcPUZsFk_z-NC4BqxyzJ2fHeG-wa2DVNUK5iFQico.cache
518
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/8DepzOh5SIwaxC825zft8xeBhAi84AFjIkQLBafpfcI.cache
519
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/aXGU_8_bWOQw87gl5m_8fgEUtethSIj95P57d5YuW5k.cache
520
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/cjXxcrFHyMpHUOqA38Yaft85pmxR7gZ4__TFcgJQyKA.cache
521
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/cpoXvFR-s_2VM6kFm4ixeZKjW6en5HiD8B-ttj-iUSI.cache
522
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/DcdyyraxoBKSYh1m6Spmfn5Qtn0V2X2t8aO3dmAi0Po.cache
523
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/DFBSCnNmEyoM8roYdJ4CwzgAxnyRtTG3S2qD1ryqXxw.cache
524
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/hAsOx0KPt1yL2Nh2sDOmOIWrAfoEZo1RxZQkNop9FOU.cache
525
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/IO46kchRzb_wUQ8H3D25_DHv7lZK4CxthkOj6ZKp8mQ.cache
526
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/j52KuMJNJLJcKPVLf8rk8USLswZAmy6Hi1OW35JjVTo.cache
527
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/JTg9Khb4iQ4MkGt2OoYdfz6rYD9ccxMNxCOnVK92fJA.cache
528
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/mwsAf4xggfO0hGKNns79uKcXG7B5rk8a4Zav3vXyr6M.cache
529
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/O8akbUwAbmIKY-AhITimq-JDQ6IgsO3Hvq2v5etufFw.cache
530
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/RJrFPSmoXCFaapGXw1bP4Lg0NLmr9qG2RMuN56UrR7U.cache
531
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/tPF6H9NRpGO3whu2y5_e_R_1EACKdCwu5437D83qJT0.cache
532
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/TWJMA4bg5d25falxiw_TLK0GtSXWpfl0vFaFLRpkYKI.cache
533
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/x5V5ICXz753PW9A8l6gpNAh_utfwyXyixuUxtMgJ2Pg.cache
534
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/XjnNasrgRd0l5xx4UR4IeE-Tz1EtjiPKwmizcf59P9U.cache
535
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/Y829B5qbE0t7idbBscHZCJxlb-D9S6G_8P6HwwMe7J4.cache
536
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/y8AwtETeMIB25XCoxQDwn3DmMpUFLblIFK4yb18zN4c.cache
537
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/yWa5z3IIFR71QlDOGDwO5IpC9vsVUGFNfficVy0q3zo.cache
538
+ - spec/dummy/rails-4.1.0/tmp/cache/assets/test/sprockets/v3.0/zDCAil6tD1zhO-gqs7OG9_zEEdMVEZo_aUkZjLHP53M.cache
746
539
  - spec/factories/notify_user_notifications.rb
540
+ - spec/factories/users.rb
747
541
  - spec/fixtures/notify_user/notification_mailer/notification_email
542
+ - spec/lib/notify_user/channels/apns_channel_spec.rb
748
543
  - spec/mailers/notify_user/notification_mailer_spec.rb
749
- - spec/models/notify_user/houston_spec.rb
544
+ - spec/models/notify_user/apn_connection_spec.rb
545
+ - spec/models/notify_user/apns_spec.rb
546
+ - spec/models/notify_user/gcm_spec.rb
750
547
  - spec/models/notify_user/notification_spec.rb
751
548
  - spec/models/notify_user/unsubscribe_spec.rb
752
549
  - spec/models/notify_user/user_hash_spec.rb
@@ -755,3 +552,5 @@ test_files:
755
552
  - spec/spec_helper.rb
756
553
  - spec/support/database.yml
757
554
  - spec/support/rails_template.rb
555
+ - spec/support/test_apn_connection.rb
556
+ - spec/support/test_gcm_connection.rb