sorcery 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +56 -0
  3. data/.travis.yml +130 -1
  4. data/CHANGELOG.md +270 -0
  5. data/Gemfile +18 -23
  6. data/README.md +371 -0
  7. data/Rakefile +3 -78
  8. data/gemfiles/active_record-rails40.gemfile +7 -0
  9. data/gemfiles/active_record-rails41.gemfile +7 -0
  10. data/gemfiles/mongo_mapper-rails40.gemfile +9 -0
  11. data/gemfiles/mongo_mapper-rails41.gemfile +9 -0
  12. data/gemfiles/mongoid-rails40.gemfile +9 -0
  13. data/gemfiles/mongoid-rails41.gemfile +9 -0
  14. data/gemfiles/mongoid3-rails32.gemfile +9 -0
  15. data/lib/generators/sorcery/USAGE +1 -1
  16. data/lib/generators/sorcery/helpers.rb +40 -0
  17. data/lib/generators/sorcery/install_generator.rb +38 -20
  18. data/lib/generators/sorcery/templates/initializer.rb +51 -15
  19. data/lib/generators/sorcery/templates/migration/activity_logging.rb +3 -10
  20. data/lib/generators/sorcery/templates/migration/brute_force_protection.rb +3 -7
  21. data/lib/generators/sorcery/templates/migration/core.rb +5 -8
  22. data/lib/generators/sorcery/templates/migration/external.rb +3 -5
  23. data/lib/generators/sorcery/templates/migration/remember_me.rb +2 -9
  24. data/lib/generators/sorcery/templates/migration/reset_password.rb +2 -10
  25. data/lib/generators/sorcery/templates/migration/user_activation.rb +2 -10
  26. data/lib/sorcery/adapters/active_record_adapter.rb +120 -0
  27. data/lib/sorcery/adapters/base_adapter.rb +30 -0
  28. data/lib/sorcery/adapters/data_mapper_adapter.rb +176 -0
  29. data/lib/sorcery/adapters/mongo_mapper_adapter.rb +110 -0
  30. data/lib/sorcery/adapters/mongoid_adapter.rb +97 -0
  31. data/lib/sorcery/controller/config.rb +65 -0
  32. data/lib/sorcery/controller/submodules/activity_logging.rb +27 -21
  33. data/lib/sorcery/controller/submodules/brute_force_protection.rb +6 -6
  34. data/lib/sorcery/controller/submodules/external.rb +107 -75
  35. data/lib/sorcery/controller/submodules/remember_me.rb +5 -5
  36. data/lib/sorcery/controller/submodules/session_timeout.rb +11 -7
  37. data/lib/sorcery/controller.rb +27 -76
  38. data/lib/sorcery/model/config.rb +96 -0
  39. data/lib/sorcery/model/submodules/activity_logging.rb +32 -12
  40. data/lib/sorcery/model/submodules/brute_force_protection.rb +36 -36
  41. data/lib/sorcery/model/submodules/external.rb +53 -9
  42. data/lib/sorcery/model/submodules/remember_me.rb +15 -19
  43. data/lib/sorcery/model/submodules/reset_password.rb +36 -33
  44. data/lib/sorcery/model/submodules/user_activation.rb +51 -48
  45. data/lib/sorcery/model/temporary_token.rb +4 -4
  46. data/lib/sorcery/model.rb +81 -175
  47. data/lib/sorcery/protocols/oauth.rb +42 -0
  48. data/lib/sorcery/protocols/oauth2.rb +47 -0
  49. data/lib/sorcery/providers/base.rb +38 -0
  50. data/lib/sorcery/providers/facebook.rb +63 -0
  51. data/lib/sorcery/providers/github.rb +51 -0
  52. data/lib/sorcery/providers/google.rb +51 -0
  53. data/lib/sorcery/providers/heroku.rb +57 -0
  54. data/lib/sorcery/providers/jira.rb +77 -0
  55. data/lib/sorcery/providers/linkedin.rb +66 -0
  56. data/lib/sorcery/providers/liveid.rb +53 -0
  57. data/lib/sorcery/providers/salesforce.rb +50 -0
  58. data/lib/sorcery/providers/twitter.rb +59 -0
  59. data/lib/sorcery/providers/vk.rb +63 -0
  60. data/lib/sorcery/providers/xing.rb +64 -0
  61. data/lib/sorcery/railties/tasks.rake +1 -7
  62. data/lib/sorcery/test_helpers/internal/rails.rb +17 -6
  63. data/lib/sorcery/test_helpers/internal.rb +27 -6
  64. data/lib/sorcery/test_helpers/rails/controller.rb +21 -0
  65. data/lib/sorcery/test_helpers/rails/integration.rb +26 -0
  66. data/lib/sorcery/version.rb +3 -0
  67. data/lib/sorcery.rb +83 -57
  68. data/sorcery.gemspec +24 -363
  69. data/spec/active_record/user_activation_spec.rb +18 -0
  70. data/spec/active_record/user_activity_logging_spec.rb +17 -0
  71. data/spec/{rails3/spec → active_record}/user_brute_force_protection_spec.rb +6 -5
  72. data/spec/{rails3/spec → active_record}/user_oauth_spec.rb +6 -5
  73. data/spec/{rails3/spec → active_record}/user_remember_me_spec.rb +5 -4
  74. data/spec/{rails3/spec → active_record}/user_reset_password_spec.rb +7 -7
  75. data/spec/active_record/user_spec.rb +37 -0
  76. data/spec/controllers/controller_activity_logging_spec.rb +124 -0
  77. data/spec/controllers/controller_brute_force_protection_spec.rb +43 -0
  78. data/spec/controllers/controller_http_basic_auth_spec.rb +68 -0
  79. data/spec/controllers/controller_oauth2_spec.rb +414 -0
  80. data/spec/controllers/controller_oauth_spec.rb +240 -0
  81. data/spec/controllers/controller_remember_me_spec.rb +117 -0
  82. data/spec/controllers/controller_session_timeout_spec.rb +80 -0
  83. data/spec/controllers/controller_spec.rb +218 -0
  84. data/spec/data_mapper/user_activation_spec.rb +10 -0
  85. data/spec/data_mapper/user_activity_logging_spec.rb +14 -0
  86. data/spec/data_mapper/user_brute_force_protection_spec.rb +9 -0
  87. data/spec/data_mapper/user_oauth_spec.rb +9 -0
  88. data/spec/data_mapper/user_remember_me_spec.rb +8 -0
  89. data/spec/data_mapper/user_reset_password_spec.rb +8 -0
  90. data/spec/data_mapper/user_spec.rb +27 -0
  91. data/spec/mongo_mapper/user_activation_spec.rb +9 -0
  92. data/spec/mongo_mapper/user_activity_logging_spec.rb +8 -0
  93. data/spec/mongo_mapper/user_brute_force_protection_spec.rb +8 -0
  94. data/spec/mongo_mapper/user_oauth_spec.rb +8 -0
  95. data/spec/mongo_mapper/user_remember_me_spec.rb +8 -0
  96. data/spec/mongo_mapper/user_reset_password_spec.rb +8 -0
  97. data/spec/mongo_mapper/user_spec.rb +37 -0
  98. data/spec/mongoid/user_activation_spec.rb +9 -0
  99. data/spec/mongoid/user_activity_logging_spec.rb +8 -0
  100. data/spec/mongoid/user_brute_force_protection_spec.rb +8 -0
  101. data/spec/mongoid/user_oauth_spec.rb +8 -0
  102. data/spec/mongoid/user_remember_me_spec.rb +8 -0
  103. data/spec/mongoid/user_reset_password_spec.rb +8 -0
  104. data/spec/mongoid/user_spec.rb +51 -0
  105. data/spec/orm/active_record.rb +21 -0
  106. data/spec/orm/data_mapper.rb +48 -0
  107. data/spec/orm/mongo_mapper.rb +10 -0
  108. data/spec/orm/mongoid.rb +22 -0
  109. data/spec/{rails3/app/models → rails_app/app/active_record}/user.rb +1 -2
  110. data/spec/rails_app/app/active_record/user_provider.rb +3 -0
  111. data/spec/rails_app/app/controllers/sorcery_controller.rb +285 -0
  112. data/spec/rails_app/app/data_mapper/authentication.rb +8 -0
  113. data/spec/rails_app/app/data_mapper/user.rb +7 -0
  114. data/spec/{rails3_mongo_mapper/app/models → rails_app/app/mongo_mapper}/user.rb +2 -0
  115. data/spec/{rails3_mongoid/app/models → rails_app/app/mongoid}/user.rb +2 -0
  116. data/spec/rails_app/app/views/sorcery_mailer/send_unlock_token_email.text.erb +1 -0
  117. data/spec/{rails3_mongo_mapper → rails_app}/config/application.rb +13 -8
  118. data/spec/rails_app/config/boot.rb +4 -0
  119. data/spec/rails_app/config/database.yml +22 -0
  120. data/spec/{rails3_mongo_mapper → rails_app}/config/environments/test.rb +2 -0
  121. data/spec/{rails3_mongoid → rails_app}/config/initializers/session_store.rb +4 -0
  122. data/spec/rails_app/config/routes.rb +51 -0
  123. data/spec/{rails3_mongo_mapper → rails_app}/config.ru +1 -1
  124. data/spec/{rails3 → rails_app}/db/migrate/activation/20101224223622_add_activation_to_users.rb +3 -3
  125. data/spec/{rails3 → rails_app}/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb +2 -0
  126. data/spec/{rails3 → rails_app}/db/migrate/core/20101224223620_create_users.rb +2 -2
  127. data/spec/rails_app/db/migrate/external/20101224223628_create_authentications_and_user_providers.rb +22 -0
  128. data/spec/rails_app/log/development.log +1791 -0
  129. data/spec/shared_examples/user_activation_shared_examples.rb +137 -98
  130. data/spec/shared_examples/user_activity_logging_shared_examples.rb +86 -13
  131. data/spec/shared_examples/user_brute_force_protection_shared_examples.rb +140 -21
  132. data/spec/shared_examples/user_oauth_shared_examples.rb +21 -16
  133. data/spec/shared_examples/user_remember_me_shared_examples.rb +36 -24
  134. data/spec/shared_examples/user_reset_password_shared_examples.rb +163 -130
  135. data/spec/shared_examples/user_shared_examples.rb +355 -193
  136. data/spec/sorcery_crypto_providers_spec.rb +74 -72
  137. data/spec/spec_helper.rb +32 -4
  138. metadata +258 -425
  139. data/Gemfile.lock +0 -192
  140. data/README.rdoc +0 -261
  141. data/VERSION +0 -1
  142. data/lib/sorcery/controller/submodules/external/protocols/oauth1.rb +0 -35
  143. data/lib/sorcery/controller/submodules/external/protocols/oauth2.rb +0 -45
  144. data/lib/sorcery/controller/submodules/external/providers/facebook.rb +0 -97
  145. data/lib/sorcery/controller/submodules/external/providers/github.rb +0 -91
  146. data/lib/sorcery/controller/submodules/external/providers/google.rb +0 -90
  147. data/lib/sorcery/controller/submodules/external/providers/linkedin.rb +0 -101
  148. data/lib/sorcery/controller/submodules/external/providers/liveid.rb +0 -91
  149. data/lib/sorcery/controller/submodules/external/providers/twitter.rb +0 -92
  150. data/lib/sorcery/controller/submodules/external/providers/vk.rb +0 -99
  151. data/lib/sorcery/model/adapters/active_record.rb +0 -49
  152. data/lib/sorcery/model/adapters/mongo_mapper.rb +0 -56
  153. data/lib/sorcery/model/adapters/mongoid.rb +0 -88
  154. data/lib/sorcery/test_helpers/rails.rb +0 -16
  155. data/lib/sorcery/test_helpers.rb +0 -5
  156. data/spec/Gemfile +0 -12
  157. data/spec/Gemfile.lock +0 -129
  158. data/spec/README.md +0 -31
  159. data/spec/Rakefile +0 -12
  160. data/spec/rails3/.gitignore +0 -4
  161. data/spec/rails3/.rspec +0 -1
  162. data/spec/rails3/Gemfile +0 -15
  163. data/spec/rails3/Gemfile.lock +0 -162
  164. data/spec/rails3/README +0 -256
  165. data/spec/rails3/Rakefile +0 -11
  166. data/spec/rails3/app/controllers/application_controller.rb +0 -208
  167. data/spec/rails3/app/views/sorcery_mailer/send_unlock_token_email.text.erb +0 -1
  168. data/spec/rails3/config/application.rb +0 -46
  169. data/spec/rails3/config/boot.rb +0 -13
  170. data/spec/rails3/config/database.yml +0 -27
  171. data/spec/rails3/config/environments/development.rb +0 -26
  172. data/spec/rails3/config/environments/in_memory.rb +0 -35
  173. data/spec/rails3/config/environments/production.rb +0 -49
  174. data/spec/rails3/config/environments/test.rb +0 -35
  175. data/spec/rails3/config/initializers/session_store.rb +0 -8
  176. data/spec/rails3/config/routes.rb +0 -59
  177. data/spec/rails3/config.ru +0 -4
  178. data/spec/rails3/db/migrate/external/20101224223628_create_authentications.rb +0 -14
  179. data/spec/rails3/lib/tasks/.gitkeep +0 -0
  180. data/spec/rails3/public/404.html +0 -26
  181. data/spec/rails3/public/422.html +0 -26
  182. data/spec/rails3/public/500.html +0 -26
  183. data/spec/rails3/public/favicon.ico +0 -0
  184. data/spec/rails3/public/images/rails.png +0 -0
  185. data/spec/rails3/public/javascripts/application.js +0 -2
  186. data/spec/rails3/public/javascripts/controls.js +0 -965
  187. data/spec/rails3/public/javascripts/dragdrop.js +0 -974
  188. data/spec/rails3/public/javascripts/effects.js +0 -1123
  189. data/spec/rails3/public/javascripts/prototype.js +0 -6001
  190. data/spec/rails3/public/javascripts/rails.js +0 -175
  191. data/spec/rails3/public/robots.txt +0 -5
  192. data/spec/rails3/public/stylesheets/.gitkeep +0 -0
  193. data/spec/rails3/script/rails +0 -6
  194. data/spec/rails3/spec/controller_activity_logging_spec.rb +0 -115
  195. data/spec/rails3/spec/controller_brute_force_protection_spec.rb +0 -88
  196. data/spec/rails3/spec/controller_http_basic_auth_spec.rb +0 -50
  197. data/spec/rails3/spec/controller_oauth2_spec.rb +0 -380
  198. data/spec/rails3/spec/controller_oauth_spec.rb +0 -206
  199. data/spec/rails3/spec/controller_remember_me_spec.rb +0 -96
  200. data/spec/rails3/spec/controller_session_timeout_spec.rb +0 -55
  201. data/spec/rails3/spec/controller_spec.rb +0 -177
  202. data/spec/rails3/spec/integration_spec.rb +0 -23
  203. data/spec/rails3/spec/spec.opts +0 -2
  204. data/spec/rails3/spec/spec_helper.orig.rb +0 -27
  205. data/spec/rails3/spec/spec_helper.rb +0 -71
  206. data/spec/rails3/spec/user_activation_spec.rb +0 -16
  207. data/spec/rails3/spec/user_activity_logging_spec.rb +0 -8
  208. data/spec/rails3/spec/user_spec.rb +0 -36
  209. data/spec/rails3/vendor/plugins/.gitkeep +0 -0
  210. data/spec/rails3_mongo_mapper/.gitignore +0 -4
  211. data/spec/rails3_mongo_mapper/.rspec +0 -1
  212. data/spec/rails3_mongo_mapper/Gemfile +0 -16
  213. data/spec/rails3_mongo_mapper/Gemfile.lock +0 -156
  214. data/spec/rails3_mongo_mapper/Rakefile +0 -11
  215. data/spec/rails3_mongo_mapper/app/controllers/application_controller.rb +0 -122
  216. data/spec/rails3_mongo_mapper/app/helpers/application_helper.rb +0 -2
  217. data/spec/rails3_mongo_mapper/app/mailers/sorcery_mailer.rb +0 -25
  218. data/spec/rails3_mongo_mapper/app/views/layouts/application.html.erb +0 -14
  219. data/spec/rails3_mongo_mapper/app/views/sorcery_mailer/activation_email.html.erb +0 -17
  220. data/spec/rails3_mongo_mapper/app/views/sorcery_mailer/activation_email.text.erb +0 -9
  221. data/spec/rails3_mongo_mapper/app/views/sorcery_mailer/activation_success_email.text.erb +0 -9
  222. data/spec/rails3_mongo_mapper/app/views/sorcery_mailer/reset_password_email.html.erb +0 -16
  223. data/spec/rails3_mongo_mapper/app/views/sorcery_mailer/reset_password_email.text.erb +0 -8
  224. data/spec/rails3_mongo_mapper/config/boot.rb +0 -13
  225. data/spec/rails3_mongo_mapper/config/environment.rb +0 -5
  226. data/spec/rails3_mongo_mapper/config/environments/development.rb +0 -30
  227. data/spec/rails3_mongo_mapper/config/environments/in_memory.rb +0 -0
  228. data/spec/rails3_mongo_mapper/config/environments/production.rb +0 -49
  229. data/spec/rails3_mongo_mapper/config/initializers/backtrace_silencers.rb +0 -7
  230. data/spec/rails3_mongo_mapper/config/initializers/inflections.rb +0 -10
  231. data/spec/rails3_mongo_mapper/config/initializers/mime_types.rb +0 -5
  232. data/spec/rails3_mongo_mapper/config/initializers/mongo.rb +0 -2
  233. data/spec/rails3_mongo_mapper/config/initializers/secret_token.rb +0 -7
  234. data/spec/rails3_mongo_mapper/config/initializers/session_store.rb +0 -8
  235. data/spec/rails3_mongo_mapper/config/locales/en.yml +0 -5
  236. data/spec/rails3_mongo_mapper/config/routes.rb +0 -59
  237. data/spec/rails3_mongo_mapper/db/schema.rb +0 -23
  238. data/spec/rails3_mongo_mapper/db/seeds.rb +0 -7
  239. data/spec/rails3_mongo_mapper/lib/tasks/.gitkeep +0 -0
  240. data/spec/rails3_mongo_mapper/public/404.html +0 -26
  241. data/spec/rails3_mongo_mapper/public/422.html +0 -26
  242. data/spec/rails3_mongo_mapper/public/500.html +0 -26
  243. data/spec/rails3_mongo_mapper/public/favicon.ico +0 -0
  244. data/spec/rails3_mongo_mapper/public/images/rails.png +0 -0
  245. data/spec/rails3_mongo_mapper/public/javascripts/application.js +0 -2
  246. data/spec/rails3_mongo_mapper/public/javascripts/controls.js +0 -965
  247. data/spec/rails3_mongo_mapper/public/javascripts/dragdrop.js +0 -974
  248. data/spec/rails3_mongo_mapper/public/javascripts/effects.js +0 -1123
  249. data/spec/rails3_mongo_mapper/public/javascripts/prototype.js +0 -6001
  250. data/spec/rails3_mongo_mapper/public/javascripts/rails.js +0 -175
  251. data/spec/rails3_mongo_mapper/public/robots.txt +0 -5
  252. data/spec/rails3_mongo_mapper/public/stylesheets/.gitkeep +0 -0
  253. data/spec/rails3_mongo_mapper/script/rails +0 -6
  254. data/spec/rails3_mongo_mapper/spec/controller_spec.rb +0 -170
  255. data/spec/rails3_mongo_mapper/spec/spec.opts +0 -2
  256. data/spec/rails3_mongo_mapper/spec/spec_helper.orig.rb +0 -27
  257. data/spec/rails3_mongo_mapper/spec/spec_helper.rb +0 -55
  258. data/spec/rails3_mongo_mapper/spec/user_activation_spec.rb +0 -9
  259. data/spec/rails3_mongo_mapper/spec/user_activity_logging_spec.rb +0 -8
  260. data/spec/rails3_mongo_mapper/spec/user_brute_force_protection_spec.rb +0 -8
  261. data/spec/rails3_mongo_mapper/spec/user_oauth_spec.rb +0 -8
  262. data/spec/rails3_mongo_mapper/spec/user_remember_me_spec.rb +0 -8
  263. data/spec/rails3_mongo_mapper/spec/user_reset_password_spec.rb +0 -8
  264. data/spec/rails3_mongo_mapper/spec/user_spec.rb +0 -37
  265. data/spec/rails3_mongo_mapper/vendor/plugins/.gitkeep +0 -0
  266. data/spec/rails3_mongoid/.gitignore +0 -4
  267. data/spec/rails3_mongoid/.rspec +0 -1
  268. data/spec/rails3_mongoid/Gemfile +0 -15
  269. data/spec/rails3_mongoid/Gemfile.lock +0 -146
  270. data/spec/rails3_mongoid/Rakefile +0 -11
  271. data/spec/rails3_mongoid/app/controllers/application_controller.rb +0 -127
  272. data/spec/rails3_mongoid/app/helpers/application_helper.rb +0 -2
  273. data/spec/rails3_mongoid/app/mailers/sorcery_mailer.rb +0 -25
  274. data/spec/rails3_mongoid/app/views/layouts/application.html.erb +0 -14
  275. data/spec/rails3_mongoid/app/views/sorcery_mailer/activation_email.html.erb +0 -17
  276. data/spec/rails3_mongoid/app/views/sorcery_mailer/activation_email.text.erb +0 -9
  277. data/spec/rails3_mongoid/app/views/sorcery_mailer/activation_success_email.html.erb +0 -17
  278. data/spec/rails3_mongoid/app/views/sorcery_mailer/activation_success_email.text.erb +0 -9
  279. data/spec/rails3_mongoid/app/views/sorcery_mailer/reset_password_email.html.erb +0 -16
  280. data/spec/rails3_mongoid/app/views/sorcery_mailer/reset_password_email.text.erb +0 -8
  281. data/spec/rails3_mongoid/config/application.rb +0 -51
  282. data/spec/rails3_mongoid/config/boot.rb +0 -13
  283. data/spec/rails3_mongoid/config/environment.rb +0 -5
  284. data/spec/rails3_mongoid/config/environments/development.rb +0 -26
  285. data/spec/rails3_mongoid/config/environments/in_memory.rb +0 -0
  286. data/spec/rails3_mongoid/config/environments/production.rb +0 -49
  287. data/spec/rails3_mongoid/config/environments/test.rb +0 -35
  288. data/spec/rails3_mongoid/config/initializers/backtrace_silencers.rb +0 -7
  289. data/spec/rails3_mongoid/config/initializers/inflections.rb +0 -10
  290. data/spec/rails3_mongoid/config/initializers/mime_types.rb +0 -5
  291. data/spec/rails3_mongoid/config/initializers/secret_token.rb +0 -7
  292. data/spec/rails3_mongoid/config/locales/en.yml +0 -5
  293. data/spec/rails3_mongoid/config/mongoid.yml +0 -7
  294. data/spec/rails3_mongoid/config/routes.rb +0 -59
  295. data/spec/rails3_mongoid/config.ru +0 -4
  296. data/spec/rails3_mongoid/db/schema.rb +0 -23
  297. data/spec/rails3_mongoid/db/seeds.rb +0 -7
  298. data/spec/rails3_mongoid/lib/tasks/.gitkeep +0 -0
  299. data/spec/rails3_mongoid/public/404.html +0 -26
  300. data/spec/rails3_mongoid/public/422.html +0 -26
  301. data/spec/rails3_mongoid/public/500.html +0 -26
  302. data/spec/rails3_mongoid/public/favicon.ico +0 -0
  303. data/spec/rails3_mongoid/public/images/rails.png +0 -0
  304. data/spec/rails3_mongoid/public/javascripts/application.js +0 -2
  305. data/spec/rails3_mongoid/public/javascripts/controls.js +0 -965
  306. data/spec/rails3_mongoid/public/javascripts/dragdrop.js +0 -974
  307. data/spec/rails3_mongoid/public/javascripts/effects.js +0 -1123
  308. data/spec/rails3_mongoid/public/javascripts/prototype.js +0 -6001
  309. data/spec/rails3_mongoid/public/javascripts/rails.js +0 -175
  310. data/spec/rails3_mongoid/public/robots.txt +0 -5
  311. data/spec/rails3_mongoid/public/stylesheets/.gitkeep +0 -0
  312. data/spec/rails3_mongoid/script/rails +0 -6
  313. data/spec/rails3_mongoid/spec/controller_activity_logging_spec.rb +0 -105
  314. data/spec/rails3_mongoid/spec/controller_spec.rb +0 -181
  315. data/spec/rails3_mongoid/spec/spec.opts +0 -2
  316. data/spec/rails3_mongoid/spec/spec_helper.orig.rb +0 -27
  317. data/spec/rails3_mongoid/spec/spec_helper.rb +0 -55
  318. data/spec/rails3_mongoid/spec/user_activation_spec.rb +0 -9
  319. data/spec/rails3_mongoid/spec/user_activity_logging_spec.rb +0 -8
  320. data/spec/rails3_mongoid/spec/user_brute_force_protection_spec.rb +0 -8
  321. data/spec/rails3_mongoid/spec/user_oauth_spec.rb +0 -8
  322. data/spec/rails3_mongoid/spec/user_remember_me_spec.rb +0 -8
  323. data/spec/rails3_mongoid/spec/user_reset_password_spec.rb +0 -8
  324. data/spec/rails3_mongoid/spec/user_spec.rb +0 -38
  325. data/spec/rails3_mongoid/vendor/plugins/.gitkeep +0 -0
  326. data/spec/shared_examples/controller_oauth2_shared_examples.rb +0 -56
  327. data/spec/shared_examples/controller_oauth_shared_examples.rb +0 -55
  328. /data/lib/sorcery/{controller/submodules/external/protocols → protocols}/certs/ca-bundle.crt +0 -0
  329. /data/spec/{rails3/app/models → rails_app/app/active_record}/authentication.rb +0 -0
  330. /data/spec/{rails3 → rails_app}/app/helpers/application_helper.rb +0 -0
  331. /data/spec/{rails3 → rails_app}/app/mailers/sorcery_mailer.rb +0 -0
  332. /data/spec/{rails3_mongo_mapper/app/models → rails_app/app/mongo_mapper}/authentication.rb +0 -0
  333. /data/spec/{rails3_mongoid/app/models → rails_app/app/mongoid}/authentication.rb +0 -0
  334. /data/spec/{rails3 → rails_app}/app/views/application/index.html.erb +0 -0
  335. /data/spec/{rails3 → rails_app}/app/views/layouts/application.html.erb +0 -0
  336. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/activation_email.html.erb +0 -0
  337. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/activation_email.text.erb +0 -0
  338. /data/spec/{rails3/app/views/sorcery_mailer/activation_success_email.html.erb → rails_app/app/views/sorcery_mailer/activation_needed_email.html.erb} +0 -0
  339. /data/spec/{rails3_mongo_mapper → rails_app}/app/views/sorcery_mailer/activation_success_email.html.erb +0 -0
  340. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/activation_success_email.text.erb +0 -0
  341. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/reset_password_email.html.erb +0 -0
  342. /data/spec/{rails3 → rails_app}/app/views/sorcery_mailer/reset_password_email.text.erb +0 -0
  343. /data/spec/{rails3 → rails_app}/config/environment.rb +0 -0
  344. /data/spec/{rails3 → rails_app}/config/initializers/backtrace_silencers.rb +0 -0
  345. /data/spec/{rails3 → rails_app}/config/initializers/inflections.rb +0 -0
  346. /data/spec/{rails3 → rails_app}/config/initializers/mime_types.rb +0 -0
  347. /data/spec/{rails3 → rails_app}/config/initializers/secret_token.rb +0 -0
  348. /data/spec/{rails3 → rails_app}/config/locales/en.yml +0 -0
  349. /data/spec/{rails3 → rails_app}/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb +0 -0
  350. /data/spec/{rails3 → rails_app}/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb +0 -0
  351. /data/spec/{rails3 → rails_app}/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb +0 -0
  352. /data/spec/{rails3 → rails_app}/db/schema.rb +0 -0
  353. /data/spec/{rails3 → rails_app}/db/seeds.rb +0 -0
@@ -1,88 +0,0 @@
1
- module Sorcery
2
- module Model
3
- module Adapters
4
- module Mongoid
5
- def self.included(klass)
6
- klass.extend ClassMethods
7
- klass.send(:include, InstanceMethods)
8
- end
9
-
10
- module InstanceMethods
11
- def increment(attr)
12
- self.inc(attr,1)
13
- end
14
-
15
- def update_many_attributes(attrs)
16
- attrs.each do |name, value|
17
- attrs[name] = value.utc if value.is_a?(ActiveSupport::TimeWithZone)
18
- self.send(:"#{name}=", value)
19
- end
20
- self.class.where(:_id => self.id).update_all(attrs)
21
- end
22
-
23
- def update_single_attribute(name, value)
24
- update_many_attributes(name => value)
25
- end
26
- end
27
-
28
- module ClassMethods
29
- def credential_regex(credential)
30
- return { :$regex => /^#{credential}$/i } if (@sorcery_config.downcase_username_before_authenticating)
31
- return credential
32
- end
33
-
34
- def find_by_credentials(credentials)
35
- @sorcery_config.username_attribute_names.each do |attribute|
36
- @user = where(attribute => credential_regex(credentials[0])).first
37
- break if @user
38
- end
39
- @user
40
- end
41
-
42
- def find_by_provider_and_uid(provider, uid)
43
- @user_klass ||= ::Sorcery::Controller::Config.user_class.to_s.constantize
44
- where(@user_klass.sorcery_config.provider_attribute_name => provider, @user_klass.sorcery_config.provider_uid_attribute_name => uid).first
45
- end
46
-
47
- def find_by_id(id)
48
- find(id)
49
- rescue ::Mongoid::Errors::DocumentNotFound
50
- nil
51
- end
52
-
53
- def find_by_activation_token(token)
54
- where(sorcery_config.activation_token_attribute_name => token).first
55
- end
56
-
57
- def find_by_remember_me_token(token)
58
- where(sorcery_config.remember_me_token_attribute_name => token).first
59
- end
60
-
61
- def find_by_username(username)
62
- query = sorcery_config.username_attribute_names.map {|name| {name => username}}
63
- any_of(*query).first
64
- end
65
-
66
- def transaction(&blk)
67
- tap(&blk)
68
- end
69
-
70
- def find_by_sorcery_token(token_attr_name, token)
71
- where(token_attr_name => token).first
72
- end
73
-
74
- def find_by_email(email)
75
- where(sorcery_config.email_attribute_name => email).first
76
- end
77
-
78
- def get_current_users
79
- config = sorcery_config
80
- where(config.last_activity_at_attribute_name.ne => nil) \
81
- .where("this.#{config.last_logout_at_attribute_name} == null || this.#{config.last_activity_at_attribute_name} > this.#{config.last_logout_at_attribute_name}") \
82
- .where(config.last_activity_at_attribute_name.gt => config.activity_timeout.seconds.ago.utc).order_by([:_id,:asc])
83
- end
84
- end
85
- end
86
- end
87
- end
88
- end
@@ -1,16 +0,0 @@
1
- module Sorcery
2
- module TestHelpers
3
- module Rails
4
- # logins a user and calls all callbacks
5
- def login_user(user = nil)
6
- user ||= @user
7
- @controller.send(:auto_login,user)
8
- @controller.send(:after_login!,user,[user.send(user.sorcery_config.username_attribute_names.first),'secret'])
9
- end
10
-
11
- def logout_user
12
- @controller.send(:logout)
13
- end
14
- end
15
- end
16
- end
@@ -1,5 +0,0 @@
1
- module Sorcery
2
- module TestHelpers
3
-
4
- end
5
- end
data/spec/Gemfile DELETED
@@ -1,12 +0,0 @@
1
- source 'http://rubygems.org'
2
-
3
- gem "rails", '3.0.3'
4
- gem 'bcrypt-ruby', :require => 'bcrypt'
5
- gem "sorcery", '>= 0.1.0', :path => '../'
6
- gem 'oauth', "~> 0.4.4"
7
- gem 'oauth2', "~> 0.8.0"
8
- group :development do
9
- gem "rspec", "~> 2.5.0"
10
- gem 'ruby-debug19'
11
- gem 'simplecov', '>= 0.3.8', :require => false # Will install simplecov-html as a dependency
12
- end
data/spec/Gemfile.lock DELETED
@@ -1,129 +0,0 @@
1
- PATH
2
- remote: ../
3
- specs:
4
- sorcery (0.7.13)
5
- bcrypt-ruby (~> 3.0.0)
6
- oauth (~> 0.4.4)
7
- oauth2 (~> 0.8.0)
8
-
9
- GEM
10
- remote: http://rubygems.org/
11
- specs:
12
- abstract (1.0.0)
13
- actionmailer (3.0.3)
14
- actionpack (= 3.0.3)
15
- mail (~> 2.2.9)
16
- actionpack (3.0.3)
17
- activemodel (= 3.0.3)
18
- activesupport (= 3.0.3)
19
- builder (~> 2.1.2)
20
- erubis (~> 2.6.6)
21
- i18n (~> 0.4)
22
- rack (~> 1.2.1)
23
- rack-mount (~> 0.6.13)
24
- rack-test (~> 0.5.6)
25
- tzinfo (~> 0.3.23)
26
- activemodel (3.0.3)
27
- activesupport (= 3.0.3)
28
- builder (~> 2.1.2)
29
- i18n (~> 0.4)
30
- activerecord (3.0.3)
31
- activemodel (= 3.0.3)
32
- activesupport (= 3.0.3)
33
- arel (~> 2.0.2)
34
- tzinfo (~> 0.3.23)
35
- activeresource (3.0.3)
36
- activemodel (= 3.0.3)
37
- activesupport (= 3.0.3)
38
- activesupport (3.0.3)
39
- archive-tar-minitar (0.5.2)
40
- arel (2.0.10)
41
- bcrypt-ruby (3.0.1)
42
- builder (2.1.2)
43
- columnize (0.3.6)
44
- diff-lcs (1.1.3)
45
- erubis (2.6.6)
46
- abstract (>= 1.0.0)
47
- faraday (0.8.4)
48
- multipart-post (~> 1.1)
49
- httpauth (0.2.0)
50
- i18n (0.6.0)
51
- jwt (0.1.5)
52
- multi_json (>= 1.0)
53
- linecache19 (0.5.12)
54
- ruby_core_source (>= 0.1.4)
55
- mail (2.2.19)
56
- activesupport (>= 2.3.6)
57
- i18n (>= 0.4.0)
58
- mime-types (~> 1.16)
59
- treetop (~> 1.4.8)
60
- mime-types (1.17.2)
61
- multi_json (1.1.0)
62
- multipart-post (1.1.5)
63
- oauth (0.4.5)
64
- oauth2 (0.8.0)
65
- faraday (~> 0.8)
66
- httpauth (~> 0.1)
67
- jwt (~> 0.1.4)
68
- multi_json (~> 1.0)
69
- rack (~> 1.2)
70
- polyglot (0.3.3)
71
- rack (1.2.5)
72
- rack-mount (0.6.14)
73
- rack (>= 1.0.0)
74
- rack-test (0.5.7)
75
- rack (>= 1.0)
76
- rails (3.0.3)
77
- actionmailer (= 3.0.3)
78
- actionpack (= 3.0.3)
79
- activerecord (= 3.0.3)
80
- activeresource (= 3.0.3)
81
- activesupport (= 3.0.3)
82
- bundler (~> 1.0)
83
- railties (= 3.0.3)
84
- railties (3.0.3)
85
- actionpack (= 3.0.3)
86
- activesupport (= 3.0.3)
87
- rake (>= 0.8.7)
88
- thor (~> 0.14.4)
89
- rake (0.9.2.2)
90
- rspec (2.5.0)
91
- rspec-core (~> 2.5.0)
92
- rspec-expectations (~> 2.5.0)
93
- rspec-mocks (~> 2.5.0)
94
- rspec-core (2.5.2)
95
- rspec-expectations (2.5.0)
96
- diff-lcs (~> 1.1.2)
97
- rspec-mocks (2.5.0)
98
- ruby-debug-base19 (0.11.25)
99
- columnize (>= 0.3.1)
100
- linecache19 (>= 0.5.11)
101
- ruby_core_source (>= 0.1.4)
102
- ruby-debug19 (0.11.6)
103
- columnize (>= 0.3.1)
104
- linecache19 (>= 0.5.11)
105
- ruby-debug-base19 (>= 0.11.19)
106
- ruby_core_source (0.1.5)
107
- archive-tar-minitar (>= 0.5.2)
108
- simplecov (0.6.1)
109
- multi_json (~> 1.0)
110
- simplecov-html (~> 0.5.3)
111
- simplecov-html (0.5.3)
112
- thor (0.14.6)
113
- treetop (1.4.10)
114
- polyglot
115
- polyglot (>= 0.3.1)
116
- tzinfo (0.3.31)
117
-
118
- PLATFORMS
119
- ruby
120
-
121
- DEPENDENCIES
122
- bcrypt-ruby
123
- oauth (~> 0.4.4)
124
- oauth2 (~> 0.8.0)
125
- rails (= 3.0.3)
126
- rspec (~> 2.5.0)
127
- ruby-debug19
128
- simplecov (>= 0.3.8)
129
- sorcery (>= 0.1.0)!
data/spec/README.md DELETED
@@ -1,31 +0,0 @@
1
- Running Sorcery's Specs
2
- =======================
3
- Sorcery is meant to be used with Rails and Sinatra so sample apps have been included in `spec/`.
4
-
5
- Each sample app runs a set of shared specs ( `spec/shared_examples/*_example.rb`) and also includes specs that address framework specific concerns.
6
-
7
- Sorcery has one set of specs (`sorcery_crypto_providers_spec.rb`) that can be run outside of any of the frameworks. To run it simply:
8
-
9
- cd spec/
10
- bundle
11
- bundle exec rake spec
12
-
13
- Running Framework Specs
14
- -----------------------
15
- To run framework specs, cd into each directory, bundle, and run the specs. For example, to run the rails3 specs you would:
16
-
17
- cd spec/rails3/
18
- bundle
19
- bundle exec rake spec
20
-
21
- **Note:** the rails3_mongoid and rails3_mongo_mapper sample apps do require, well, MongoDB. Installing MongoDB on mac osx is easy with homebrew. Seeing as you're reading the readme for running specs, I'll assume you can install MongoDB on your machine. For the purpose of running these tests, I put mongod in verbose mode and in the background so I can see it log to stdout.
22
-
23
- cd spec/rails3_mongoid
24
- bundle
25
- mongod -v &
26
- bundle exec rake spec
27
-
28
- cd spec/rails3_mongo_mapper
29
- bundle
30
- mongod -v &
31
- bundle exec rake spec
data/spec/Rakefile DELETED
@@ -1,12 +0,0 @@
1
- require 'rake'
2
-
3
- require 'rspec/core/rake_task'
4
-
5
- desc 'Default: Run all specs for a specific rails version.'
6
- task :default => :spec
7
-
8
- desc "Run all specs for a specific rails version"
9
- RSpec::Core::RakeTask.new(:spec) do |t|
10
- t.pattern = '*_spec.rb'
11
- t.rspec_opts = ["--options #{File.dirname(__FILE__)}/spec.opts"]
12
- end
@@ -1,4 +0,0 @@
1
- .bundle
2
- db/*.sqlite3
3
- log/*.log
4
- tmp/**/*
data/spec/rails3/.rspec DELETED
@@ -1 +0,0 @@
1
- --colour
data/spec/rails3/Gemfile DELETED
@@ -1,15 +0,0 @@
1
- source 'http://rubygems.org'
2
-
3
- gem 'bcrypt-ruby', '~> 3.0.0'
4
- gem 'rails', '3.0.3'
5
- gem 'sqlite3-ruby', :require => 'sqlite3'
6
- gem "sorcery", '>= 0.1.0', :path => '../../'
7
-
8
- group :development, :test do
9
- gem 'rspec-rails', "~> 2.7.0"
10
- gem 'ruby-debug19'
11
- gem 'simplecov', '>= 0.3.8', :require => false # Will install simplecov-html as a dependency
12
- gem 'timecop'
13
- gem 'capybara', '~> 1.1.1'
14
- gem 'launchy', '~> 2.0.5'
15
- end
@@ -1,162 +0,0 @@
1
- PATH
2
- remote: ../../
3
- specs:
4
- sorcery (0.7.13)
5
- bcrypt-ruby (~> 3.0.0)
6
- oauth (~> 0.4.4)
7
- oauth2 (~> 0.8.0)
8
-
9
- GEM
10
- remote: http://rubygems.org/
11
- specs:
12
- abstract (1.0.0)
13
- actionmailer (3.0.3)
14
- actionpack (= 3.0.3)
15
- mail (~> 2.2.9)
16
- actionpack (3.0.3)
17
- activemodel (= 3.0.3)
18
- activesupport (= 3.0.3)
19
- builder (~> 2.1.2)
20
- erubis (~> 2.6.6)
21
- i18n (~> 0.4)
22
- rack (~> 1.2.1)
23
- rack-mount (~> 0.6.13)
24
- rack-test (~> 0.5.6)
25
- tzinfo (~> 0.3.23)
26
- activemodel (3.0.3)
27
- activesupport (= 3.0.3)
28
- builder (~> 2.1.2)
29
- i18n (~> 0.4)
30
- activerecord (3.0.3)
31
- activemodel (= 3.0.3)
32
- activesupport (= 3.0.3)
33
- arel (~> 2.0.2)
34
- tzinfo (~> 0.3.23)
35
- activeresource (3.0.3)
36
- activemodel (= 3.0.3)
37
- activesupport (= 3.0.3)
38
- activesupport (3.0.3)
39
- addressable (2.2.7)
40
- archive-tar-minitar (0.5.2)
41
- arel (2.0.10)
42
- bcrypt-ruby (3.0.1)
43
- builder (2.1.2)
44
- capybara (1.1.2)
45
- mime-types (>= 1.16)
46
- nokogiri (>= 1.3.3)
47
- rack (>= 1.0.0)
48
- rack-test (>= 0.5.4)
49
- selenium-webdriver (~> 2.0)
50
- xpath (~> 0.1.4)
51
- childprocess (0.3.1)
52
- ffi (~> 1.0.6)
53
- columnize (0.3.6)
54
- diff-lcs (1.1.3)
55
- erubis (2.6.6)
56
- abstract (>= 1.0.0)
57
- faraday (0.8.4)
58
- multipart-post (~> 1.1)
59
- ffi (1.0.11)
60
- httpauth (0.2.0)
61
- i18n (0.6.0)
62
- jwt (0.1.5)
63
- multi_json (>= 1.0)
64
- launchy (2.0.5)
65
- addressable (~> 2.2.6)
66
- linecache19 (0.5.12)
67
- ruby_core_source (>= 0.1.4)
68
- mail (2.2.19)
69
- activesupport (>= 2.3.6)
70
- i18n (>= 0.4.0)
71
- mime-types (~> 1.16)
72
- treetop (~> 1.4.8)
73
- mime-types (1.17.2)
74
- multi_json (1.1.0)
75
- multipart-post (1.1.5)
76
- nokogiri (1.5.0)
77
- oauth (0.4.7)
78
- oauth2 (0.8.0)
79
- faraday (~> 0.8)
80
- httpauth (~> 0.1)
81
- jwt (~> 0.1.4)
82
- multi_json (~> 1.0)
83
- rack (~> 1.2)
84
- polyglot (0.3.3)
85
- rack (1.2.5)
86
- rack-mount (0.6.14)
87
- rack (>= 1.0.0)
88
- rack-test (0.5.7)
89
- rack (>= 1.0)
90
- rails (3.0.3)
91
- actionmailer (= 3.0.3)
92
- actionpack (= 3.0.3)
93
- activerecord (= 3.0.3)
94
- activeresource (= 3.0.3)
95
- activesupport (= 3.0.3)
96
- bundler (~> 1.0)
97
- railties (= 3.0.3)
98
- railties (3.0.3)
99
- actionpack (= 3.0.3)
100
- activesupport (= 3.0.3)
101
- rake (>= 0.8.7)
102
- thor (~> 0.14.4)
103
- rake (0.9.2.2)
104
- rspec (2.7.0)
105
- rspec-core (~> 2.7.0)
106
- rspec-expectations (~> 2.7.0)
107
- rspec-mocks (~> 2.7.0)
108
- rspec-core (2.7.1)
109
- rspec-expectations (2.7.0)
110
- diff-lcs (~> 1.1.2)
111
- rspec-mocks (2.7.0)
112
- rspec-rails (2.7.0)
113
- actionpack (~> 3.0)
114
- activesupport (~> 3.0)
115
- railties (~> 3.0)
116
- rspec (~> 2.7.0)
117
- ruby-debug-base19 (0.11.25)
118
- columnize (>= 0.3.1)
119
- linecache19 (>= 0.5.11)
120
- ruby_core_source (>= 0.1.4)
121
- ruby-debug19 (0.11.6)
122
- columnize (>= 0.3.1)
123
- linecache19 (>= 0.5.11)
124
- ruby-debug-base19 (>= 0.11.19)
125
- ruby_core_source (0.1.5)
126
- archive-tar-minitar (>= 0.5.2)
127
- rubyzip (0.9.6.1)
128
- selenium-webdriver (2.20.0)
129
- childprocess (>= 0.2.5)
130
- ffi (~> 1.0)
131
- multi_json (~> 1.0)
132
- rubyzip
133
- simplecov (0.6.1)
134
- multi_json (~> 1.0)
135
- simplecov-html (~> 0.5.3)
136
- simplecov-html (0.5.3)
137
- sqlite3 (1.3.5)
138
- sqlite3-ruby (1.3.3)
139
- sqlite3 (>= 1.3.3)
140
- thor (0.14.6)
141
- timecop (0.3.5)
142
- treetop (1.4.10)
143
- polyglot
144
- polyglot (>= 0.3.1)
145
- tzinfo (0.3.31)
146
- xpath (0.1.4)
147
- nokogiri (~> 1.3)
148
-
149
- PLATFORMS
150
- ruby
151
-
152
- DEPENDENCIES
153
- bcrypt-ruby (~> 3.0.0)
154
- capybara (~> 1.1.1)
155
- launchy (~> 2.0.5)
156
- rails (= 3.0.3)
157
- rspec-rails (~> 2.7.0)
158
- ruby-debug19
159
- simplecov (>= 0.3.8)
160
- sorcery (>= 0.1.0)!
161
- sqlite3-ruby
162
- timecop