hashrocket-clearance 0.4.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 (525) hide show
  1. data/LICENSE +21 -0
  2. data/README.textile +168 -0
  3. data/Rakefile +83 -0
  4. data/TODO.textile +27 -0
  5. data/generators/clearance/USAGE +1 -0
  6. data/generators/clearance/clearance_generator.rb +84 -0
  7. data/generators/clearance/templates/app/controllers/application.rb +5 -0
  8. data/generators/clearance/templates/app/controllers/confirmations_controller.rb +3 -0
  9. data/generators/clearance/templates/app/controllers/passwords_controller.rb +3 -0
  10. data/generators/clearance/templates/app/controllers/sessions_controller.rb +8 -0
  11. data/generators/clearance/templates/app/controllers/users_controller.rb +3 -0
  12. data/generators/clearance/templates/app/models/clearance_mailer.rb +4 -0
  13. data/generators/clearance/templates/app/models/user.rb +3 -0
  14. data/generators/clearance/templates/app/views/clearance_mailer/confirmation.html.erb +1 -0
  15. data/generators/clearance/templates/app/views/clearance_mailer/facebook_welcome.text.html.haml +4 -0
  16. data/generators/clearance/templates/app/views/clearance_mailer/forgot_password.html.erb +6 -0
  17. data/generators/clearance/templates/app/views/passwords/edit.html.erb +18 -0
  18. data/generators/clearance/templates/app/views/passwords/new.html.erb +15 -0
  19. data/generators/clearance/templates/app/views/sessions/new.html.erb +29 -0
  20. data/generators/clearance/templates/app/views/users/_form.html.erb +13 -0
  21. data/generators/clearance/templates/app/views/users/_password_form.html.erb +13 -0
  22. data/generators/clearance/templates/app/views/users/edit_password.html.erb +4 -0
  23. data/generators/clearance/templates/app/views/users/new.html.erb +6 -0
  24. data/generators/clearance/templates/config/initializers/action_mailer.rb +1 -0
  25. data/generators/clearance/templates/public/images/connect_light_medium_long.gif +0 -0
  26. data/generators/clearance/templates/test/factories.rb +9 -0
  27. data/generators/clearance/templates/test/functional/confirmations_controller_test.rb +5 -0
  28. data/generators/clearance/templates/test/functional/passwords_controller_test.rb +5 -0
  29. data/generators/clearance/templates/test/functional/sessions_controller_test.rb +5 -0
  30. data/generators/clearance/templates/test/functional/users_controller_test.rb +5 -0
  31. data/generators/clearance/templates/test/unit/clearance_mailer_test.rb +6 -0
  32. data/generators/clearance/templates/test/unit/user_test.rb +5 -0
  33. data/lib/clearance/app/controllers/application_controller.rb +88 -0
  34. data/lib/clearance/app/controllers/confirmations_controller.rb +36 -0
  35. data/lib/clearance/app/controllers/facebook_sessions_controller.rb +59 -0
  36. data/lib/clearance/app/controllers/passwords_controller.rb +58 -0
  37. data/lib/clearance/app/controllers/sessions_controller.rb +83 -0
  38. data/lib/clearance/app/controllers/users_controller.rb +74 -0
  39. data/lib/clearance/app/models/clearance_facebook_mailer.rb +20 -0
  40. data/lib/clearance/app/models/clearance_mailer.rb +33 -0
  41. data/lib/clearance/app/models/user.rb +125 -0
  42. data/lib/clearance/spec/controllers/sessions_controller_spec.rb +105 -0
  43. data/lib/clearance/spec/models/user_spec.rb +33 -0
  44. data/lib/clearance/test/functional/confirmations_controller_test.rb +50 -0
  45. data/lib/clearance/test/functional/passwords_controller_test.rb +224 -0
  46. data/lib/clearance/test/functional/sessions_controller_test.rb +148 -0
  47. data/lib/clearance/test/functional/users_controller_test.rb +203 -0
  48. data/lib/clearance/test/test_helper.rb +94 -0
  49. data/lib/clearance/test/unit/clearance_mailer_test.rb +65 -0
  50. data/lib/clearance/test/unit/user_test.rb +335 -0
  51. data/lib/clearance/version.rb +7 -0
  52. data/lib/clearance.rb +19 -0
  53. data/test/rails_root/Capfile +3 -0
  54. data/test/rails_root/Rakefile +10 -0
  55. data/test/rails_root/app/controllers/application.rb +5 -0
  56. data/test/rails_root/app/controllers/confirmations_controller.rb +3 -0
  57. data/test/rails_root/app/controllers/passwords_controller.rb +3 -0
  58. data/test/rails_root/app/controllers/sessions_controller.rb +8 -0
  59. data/test/rails_root/app/controllers/users_controller.rb +3 -0
  60. data/test/rails_root/app/helpers/application_helper.rb +5 -0
  61. data/test/rails_root/app/helpers/confirmations_helper.rb +2 -0
  62. data/test/rails_root/app/helpers/passwords_helper.rb +2 -0
  63. data/test/rails_root/app/models/clearance_mailer.rb +4 -0
  64. data/test/rails_root/app/models/user.rb +3 -0
  65. data/test/rails_root/app/views/clearance_mailer/confirmation.html.erb +1 -0
  66. data/test/rails_root/app/views/clearance_mailer/facebook_welcome.text.html.haml +4 -0
  67. data/test/rails_root/app/views/clearance_mailer/forgot_password.html.erb +6 -0
  68. data/test/rails_root/app/views/layouts/_flashes.erb +5 -0
  69. data/test/rails_root/app/views/layouts/application.html.erb +14 -0
  70. data/test/rails_root/app/views/passwords/edit.html.erb +18 -0
  71. data/test/rails_root/app/views/passwords/new.html.erb +15 -0
  72. data/test/rails_root/app/views/sessions/new.html.erb +29 -0
  73. data/test/rails_root/app/views/users/_form.html.erb +13 -0
  74. data/test/rails_root/app/views/users/_password_form.html.erb +13 -0
  75. data/test/rails_root/app/views/users/edit_password.html.erb +4 -0
  76. data/test/rails_root/app/views/users/new.html.erb +6 -0
  77. data/test/rails_root/config/boot.rb +109 -0
  78. data/test/rails_root/config/database.yml +13 -0
  79. data/test/rails_root/config/environment.rb +19 -0
  80. data/test/rails_root/config/environments/development.rb +19 -0
  81. data/test/rails_root/config/environments/test.rb +23 -0
  82. data/test/rails_root/config/facebooker.yml +13 -0
  83. data/test/rails_root/config/initializers/action_mailer.rb +1 -0
  84. data/test/rails_root/config/initializers/clearance.rb +8 -0
  85. data/test/rails_root/config/initializers/inflections.rb +10 -0
  86. data/test/rails_root/config/initializers/mime_types.rb +5 -0
  87. data/test/rails_root/config/initializers/requires.rb +13 -0
  88. data/test/rails_root/config/initializers/time_formats.rb +4 -0
  89. data/test/rails_root/config/routes.rb +12 -0
  90. data/test/rails_root/db/migrate/001_create_users.rb +25 -0
  91. data/test/rails_root/doc/README_FOR_APP +2 -0
  92. data/test/rails_root/doc/README_FOR_TEMPLATE +15 -0
  93. data/test/rails_root/lib/tasks/bootstrap.rake +16 -0
  94. data/test/rails_root/lib/tasks/capistrano.rake +96 -0
  95. data/test/rails_root/lib/tasks/git_tasks.rake +129 -0
  96. data/test/rails_root/lib/tasks/rspec.rake +132 -0
  97. data/test/rails_root/public/404.html +30 -0
  98. data/test/rails_root/public/422.html +30 -0
  99. data/test/rails_root/public/500.html +30 -0
  100. data/test/rails_root/public/dispatch.rb +10 -0
  101. data/test/rails_root/public/favicon.ico +0 -0
  102. data/test/rails_root/public/images/connect_light_medium_long.gif +0 -0
  103. data/test/rails_root/public/images/rails.png +0 -0
  104. data/test/rails_root/public/javascripts/application.js +2 -0
  105. data/test/rails_root/public/javascripts/builder.js +136 -0
  106. data/test/rails_root/public/javascripts/controls.js +963 -0
  107. data/test/rails_root/public/javascripts/dragdrop.js +972 -0
  108. data/test/rails_root/public/javascripts/effects.js +1120 -0
  109. data/test/rails_root/public/javascripts/facebooker.js +106 -0
  110. data/test/rails_root/public/javascripts/prototype.js +4225 -0
  111. data/test/rails_root/public/javascripts/scriptaculous.js +58 -0
  112. data/test/rails_root/public/javascripts/slider.js +277 -0
  113. data/test/rails_root/public/javascripts/sound.js +60 -0
  114. data/test/rails_root/public/robots.txt +1 -0
  115. data/test/rails_root/script/about +3 -0
  116. data/test/rails_root/script/autospec +5 -0
  117. data/test/rails_root/script/breakpointer +3 -0
  118. data/test/rails_root/script/console +3 -0
  119. data/test/rails_root/script/create_project.rb +52 -0
  120. data/test/rails_root/script/dbconsole +3 -0
  121. data/test/rails_root/script/destroy +3 -0
  122. data/test/rails_root/script/generate +3 -0
  123. data/test/rails_root/script/performance/benchmarker +3 -0
  124. data/test/rails_root/script/performance/profiler +3 -0
  125. data/test/rails_root/script/performance/request +3 -0
  126. data/test/rails_root/script/plugin +3 -0
  127. data/test/rails_root/script/process/inspector +3 -0
  128. data/test/rails_root/script/process/reaper +3 -0
  129. data/test/rails_root/script/process/spawner +3 -0
  130. data/test/rails_root/script/runner +3 -0
  131. data/test/rails_root/script/server +3 -0
  132. data/test/rails_root/script/spec +5 -0
  133. data/test/rails_root/script/spec_server +116 -0
  134. data/test/rails_root/spec/controllers/session_controller_spec.rb +5 -0
  135. data/test/rails_root/spec/models/user_spec.rb +5 -0
  136. data/test/rails_root/spec/rcov.opts +2 -0
  137. data/test/rails_root/spec/spec.opts +4 -0
  138. data/test/rails_root/spec/spec_helper.rb +51 -0
  139. data/test/rails_root/test/factories.rb +9 -0
  140. data/test/rails_root/test/functional/confirmations_controller_test.rb +5 -0
  141. data/test/rails_root/test/functional/passwords_controller_test.rb +5 -0
  142. data/test/rails_root/test/functional/sessions_controller_test.rb +5 -0
  143. data/test/rails_root/test/functional/users_controller_test.rb +5 -0
  144. data/test/rails_root/test/test_helper.rb +21 -0
  145. data/test/rails_root/test/unit/clearance_mailer_test.rb +6 -0
  146. data/test/rails_root/test/unit/user_test.rb +5 -0
  147. data/test/rails_root/vendor/gems/mocha-0.9.1/COPYING +3 -0
  148. data/test/rails_root/vendor/gems/mocha-0.9.1/MIT-LICENSE +7 -0
  149. data/test/rails_root/vendor/gems/mocha-0.9.1/README +35 -0
  150. data/test/rails_root/vendor/gems/mocha-0.9.1/RELEASE +246 -0
  151. data/test/rails_root/vendor/gems/mocha-0.9.1/Rakefile +188 -0
  152. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb +44 -0
  153. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/mocha.rb +26 -0
  154. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/stubba.rb +65 -0
  155. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/any_instance_method.rb +54 -0
  156. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/backtrace_filter.rb +17 -0
  157. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/cardinality.rb +95 -0
  158. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/central.rb +27 -0
  159. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/change_state_side_effect.rb +19 -0
  160. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/class_method.rb +86 -0
  161. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/configuration.rb +60 -0
  162. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/deprecation.rb +22 -0
  163. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/exception_raiser.rb +17 -0
  164. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation.rb +445 -0
  165. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation_error.rb +15 -0
  166. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation_list.rb +50 -0
  167. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/in_state_ordering_constraint.rb +19 -0
  168. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/inspect.rb +39 -0
  169. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/instance_method.rb +16 -0
  170. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/is_a.rb +9 -0
  171. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/logger.rb +15 -0
  172. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/metaclass.rb +7 -0
  173. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/method_matcher.rb +21 -0
  174. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/mock.rb +196 -0
  175. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/mockery.rb +181 -0
  176. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/module_method.rb +16 -0
  177. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/multiple_yields.rb +20 -0
  178. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/names.rb +53 -0
  179. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/no_yields.rb +11 -0
  180. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/object.rb +134 -0
  181. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/all_of.rb +42 -0
  182. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/any_of.rb +47 -0
  183. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/any_parameters.rb +40 -0
  184. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/anything.rb +33 -0
  185. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/base.rb +15 -0
  186. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/equals.rb +42 -0
  187. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_entries.rb +45 -0
  188. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_entry.rb +56 -0
  189. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_key.rb +42 -0
  190. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_value.rb +42 -0
  191. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/includes.rb +40 -0
  192. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/instance_of.rb +42 -0
  193. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/is_a.rb +42 -0
  194. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/kind_of.rb +42 -0
  195. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/not.rb +42 -0
  196. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/object.rb +9 -0
  197. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/optionally.rb +55 -0
  198. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/regexp_matches.rb +43 -0
  199. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/responds_with.rb +43 -0
  200. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/yaml_equivalent.rb +43 -0
  201. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers.rb +26 -0
  202. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameters_matcher.rb +37 -0
  203. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/pretty_parameters.rb +28 -0
  204. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/return_values.rb +31 -0
  205. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/sequence.rb +42 -0
  206. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/single_return_value.rb +17 -0
  207. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/single_yield.rb +18 -0
  208. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/standalone.rb +166 -0
  209. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/state_machine.rb +91 -0
  210. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/stubbing_error.rb +16 -0
  211. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/test_case_adapter.rb +103 -0
  212. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/unexpected_invocation.rb +18 -0
  213. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/yield_parameters.rb +31 -0
  214. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha.rb +20 -0
  215. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha_standalone.rb +2 -0
  216. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/stubba.rb +4 -0
  217. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/acceptance_test_helper.rb +38 -0
  218. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_18914_test.rb +43 -0
  219. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_21465_test.rb +34 -0
  220. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_21563_test.rb +25 -0
  221. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/expected_invocation_count_test.rb +196 -0
  222. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/failure_messages_test.rb +64 -0
  223. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocha_example_test.rb +98 -0
  224. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocha_test_result_test.rb +84 -0
  225. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mock_test.rb +100 -0
  226. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mock_with_initializer_block_test.rb +51 -0
  227. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocked_methods_dispatch_test.rb +78 -0
  228. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/optional_parameters_test.rb +70 -0
  229. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/parameter_matcher_test.rb +179 -0
  230. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/partial_mocks_test.rb +47 -0
  231. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/return_value_test.rb +52 -0
  232. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/sequence_test.rb +186 -0
  233. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/standalone_test.rb +139 -0
  234. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/states_test.rb +70 -0
  235. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_any_instance_method_test.rb +195 -0
  236. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_class_method_test.rb +203 -0
  237. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_everything_test.rb +56 -0
  238. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_instance_method_test.rb +165 -0
  239. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_module_method_test.rb +163 -0
  240. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_test.rb +52 -0
  241. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_example_test.rb +102 -0
  242. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_test.rb +15 -0
  243. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_test_result_test.rb +66 -0
  244. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_error_backtrace_test.rb +64 -0
  245. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_method_unnecessarily_test.rb +65 -0
  246. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +130 -0
  247. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_class_method_test.rb +155 -0
  248. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_instance_method_test.rb +145 -0
  249. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_any_instance_method_test.rb +130 -0
  250. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_class_method_test.rb +161 -0
  251. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_instance_method_test.rb +141 -0
  252. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_on_non_mock_object_test.rb +64 -0
  253. data/test/rails_root/vendor/gems/mocha-0.9.1/test/active_record_test_case.rb +36 -0
  254. data/test/rails_root/vendor/gems/mocha-0.9.1/test/deprecation_disabler.rb +15 -0
  255. data/test/rails_root/vendor/gems/mocha-0.9.1/test/execution_point.rb +36 -0
  256. data/test/rails_root/vendor/gems/mocha-0.9.1/test/method_definer.rb +18 -0
  257. data/test/rails_root/vendor/gems/mocha-0.9.1/test/simple_counter.rb +13 -0
  258. data/test/rails_root/vendor/gems/mocha-0.9.1/test/test_helper.rb +11 -0
  259. data/test/rails_root/vendor/gems/mocha-0.9.1/test/test_runner.rb +33 -0
  260. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/any_instance_method_test.rb +126 -0
  261. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/array_inspect_test.rb +16 -0
  262. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/backtrace_filter_test.rb +19 -0
  263. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/cardinality_test.rb +56 -0
  264. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/central_test.rb +65 -0
  265. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/change_state_side_effect_test.rb +41 -0
  266. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/class_method_test.rb +237 -0
  267. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/date_time_inspect_test.rb +21 -0
  268. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/exception_raiser_test.rb +42 -0
  269. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/expectation_list_test.rb +57 -0
  270. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/expectation_test.rb +459 -0
  271. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/hash_inspect_test.rb +16 -0
  272. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/in_state_ordering_constraint_test.rb +43 -0
  273. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/metaclass_test.rb +22 -0
  274. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/method_matcher_test.rb +23 -0
  275. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/mock_test.rb +290 -0
  276. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/mockery_test.rb +149 -0
  277. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/multiple_yields_test.rb +18 -0
  278. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/no_yields_test.rb +18 -0
  279. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/object_inspect_test.rb +37 -0
  280. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/object_test.rb +82 -0
  281. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/all_of_test.rb +26 -0
  282. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/any_of_test.rb +26 -0
  283. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/anything_test.rb +21 -0
  284. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/equals_test.rb +25 -0
  285. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_entries_test.rb +51 -0
  286. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_entry_test.rb +62 -0
  287. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_key_test.rb +36 -0
  288. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_value_test.rb +37 -0
  289. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/includes_test.rb +25 -0
  290. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/instance_of_test.rb +25 -0
  291. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/is_a_test.rb +25 -0
  292. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/kind_of_test.rb +25 -0
  293. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/not_test.rb +26 -0
  294. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/regexp_matches_test.rb +25 -0
  295. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/responds_with_test.rb +25 -0
  296. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/stub_matcher.rb +27 -0
  297. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/yaml_equivalent_test.rb +25 -0
  298. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameters_matcher_test.rb +121 -0
  299. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/return_values_test.rb +63 -0
  300. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/sequence_test.rb +104 -0
  301. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/single_return_value_test.rb +14 -0
  302. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/single_yield_test.rb +18 -0
  303. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/state_machine_test.rb +98 -0
  304. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/string_inspect_test.rb +11 -0
  305. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/yield_parameters_test.rb +93 -0
  306. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/CONTRIBUTION_GUIDELINES.rdoc +12 -0
  307. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/MIT-LICENSE +22 -0
  308. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/README.rdoc +132 -0
  309. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/Rakefile +72 -0
  310. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/bin/convert_to_should_syntax +42 -0
  311. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/action_mailer/assertions.rb +39 -0
  312. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/action_mailer.rb +10 -0
  313. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record/assertions.rb +85 -0
  314. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record/macros.rb +715 -0
  315. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record.rb +12 -0
  316. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/assertions.rb +45 -0
  317. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/context.rb +306 -0
  318. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/formats/html.rb +201 -0
  319. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/formats/xml.rb +170 -0
  320. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/helpers.rb +64 -0
  321. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/macros.rb +316 -0
  322. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/resource_options.rb +236 -0
  323. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller.rb +30 -0
  324. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/helpers.rb +10 -0
  325. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/macros.rb +74 -0
  326. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/private_helpers.rb +22 -0
  327. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/proc_extensions.rb +14 -0
  328. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/rails.rb +19 -0
  329. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks/list_tests.rake +24 -0
  330. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks/yaml_to_shoulda.rake +28 -0
  331. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks.rb +3 -0
  332. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda.rb +17 -0
  333. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/rails/init.rb +1 -0
  334. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/README +36 -0
  335. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fail_macros.rb +34 -0
  336. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/addresses.yml +3 -0
  337. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/friendships.yml +0 -0
  338. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/posts.yml +5 -0
  339. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/products.yml +0 -0
  340. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/taggings.yml +0 -0
  341. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/tags.yml +9 -0
  342. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/users.yml +6 -0
  343. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/functional/posts_controller_test.rb +104 -0
  344. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/functional/users_controller_test.rb +38 -0
  345. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/context_test.rb +145 -0
  346. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/convert_to_should_syntax_test.rb +63 -0
  347. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/helpers_test.rb +183 -0
  348. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/private_helpers_test.rb +34 -0
  349. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/should_test.rb +266 -0
  350. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/application.rb +25 -0
  351. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/posts_controller.rb +85 -0
  352. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/users_controller.rb +84 -0
  353. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/application_helper.rb +3 -0
  354. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/posts_helper.rb +2 -0
  355. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/users_helper.rb +2 -0
  356. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/address.rb +7 -0
  357. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/dog.rb +5 -0
  358. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/flea.rb +3 -0
  359. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/friendship.rb +4 -0
  360. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/post.rb +12 -0
  361. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/product.rb +12 -0
  362. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/tag.rb +8 -0
  363. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/tagging.rb +4 -0
  364. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/user.rb +28 -0
  365. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/posts.rhtml +17 -0
  366. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/users.rhtml +17 -0
  367. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/wide.html.erb +1 -0
  368. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/edit.rhtml +27 -0
  369. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/index.rhtml +25 -0
  370. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/new.rhtml +26 -0
  371. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/show.rhtml +18 -0
  372. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/edit.rhtml +22 -0
  373. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/index.rhtml +22 -0
  374. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/new.rhtml +21 -0
  375. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/show.rhtml +13 -0
  376. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/boot.rb +109 -0
  377. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/database.yml +4 -0
  378. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/environment.rb +14 -0
  379. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/environments/sqlite3.rb +0 -0
  380. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/initializers/new_rails_defaults.rb +15 -0
  381. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/initializers/shoulda.rb +8 -0
  382. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/routes.rb +6 -0
  383. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/001_create_users.rb +18 -0
  384. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/002_create_posts.rb +13 -0
  385. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/003_create_taggings.rb +12 -0
  386. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/004_create_tags.rb +11 -0
  387. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/005_create_dogs.rb +12 -0
  388. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/006_create_addresses.rb +14 -0
  389. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/007_create_fleas.rb +11 -0
  390. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/008_create_dogs_fleas.rb +12 -0
  391. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/009_create_products.rb +17 -0
  392. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/010_create_friendships.rb +14 -0
  393. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/schema.rb +0 -0
  394. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/log/sqlite3.log +1 -0
  395. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/404.html +30 -0
  396. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/422.html +30 -0
  397. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/500.html +30 -0
  398. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/script/console +3 -0
  399. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/script/generate +3 -0
  400. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/test_helper.rb +33 -0
  401. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/address_test.rb +10 -0
  402. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/dog_test.rb +7 -0
  403. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/flea_test.rb +6 -0
  404. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/friendship_test.rb +6 -0
  405. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/post_test.rb +15 -0
  406. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/product_test.rb +27 -0
  407. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/tag_test.rb +14 -0
  408. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/tagging_test.rb +6 -0
  409. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/user_test.rb +52 -0
  410. data/test/rails_root/vendor/plugins/facebooker/CHANGELOG.txt +0 -0
  411. data/test/rails_root/vendor/plugins/facebooker/COPYING +19 -0
  412. data/test/rails_root/vendor/plugins/facebooker/History.txt +16 -0
  413. data/test/rails_root/vendor/plugins/facebooker/Manifest.txt +110 -0
  414. data/test/rails_root/vendor/plugins/facebooker/README +46 -0
  415. data/test/rails_root/vendor/plugins/facebooker/README.txt +81 -0
  416. data/test/rails_root/vendor/plugins/facebooker/Rakefile +62 -0
  417. data/test/rails_root/vendor/plugins/facebooker/TODO.txt +10 -0
  418. data/test/rails_root/vendor/plugins/facebooker/examples/desktop_login.rb +14 -0
  419. data/test/rails_root/vendor/plugins/facebooker/facebooker.gemspec +34 -0
  420. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/facebook_generator.rb +14 -0
  421. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/templates/config/facebooker.yml +41 -0
  422. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/templates/public/javascripts/facebooker.js +106 -0
  423. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/USAGE +33 -0
  424. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/facebook_controller_generator.rb +40 -0
  425. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/controller.rb +7 -0
  426. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/functional_test.rb +11 -0
  427. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/helper.rb +2 -0
  428. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/view.fbml.erb +2 -0
  429. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/view.html.erb +2 -0
  430. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/facebook_publisher_generator.rb +14 -0
  431. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/templates/create_facebook_templates.rb +15 -0
  432. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/templates/publisher.rb +3 -0
  433. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/USAGE +27 -0
  434. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/facebook_scaffold_generator.rb +118 -0
  435. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/controller.rb +93 -0
  436. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/facebook_style.css +2579 -0
  437. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/functional_test.rb +89 -0
  438. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/helper.rb +2 -0
  439. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/layout.fbml.erb +6 -0
  440. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/layout.html.erb +17 -0
  441. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/style.css +74 -0
  442. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_edit.fbml.erb +13 -0
  443. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_edit.html.erb +18 -0
  444. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_index.fbml.erb +24 -0
  445. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_index.html.erb +24 -0
  446. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_new.fbml.erb +12 -0
  447. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_new.html.erb +17 -0
  448. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_show.fbml.erb +10 -0
  449. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_show.html.erb +10 -0
  450. data/test/rails_root/vendor/plugins/facebooker/generators/publisher/publisher_generator.rb +14 -0
  451. data/test/rails_root/vendor/plugins/facebooker/generators/receiver/receiver_generator.rb +9 -0
  452. data/test/rails_root/vendor/plugins/facebooker/generators/receiver/templates/xd_receiver.html +10 -0
  453. data/test/rails_root/vendor/plugins/facebooker/init.rb +54 -0
  454. data/test/rails_root/vendor/plugins/facebooker/install.rb +12 -0
  455. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/adapter_base.rb +87 -0
  456. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/bebo_adapter.rb +73 -0
  457. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/facebook_adapter.rb +48 -0
  458. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/admin.rb +28 -0
  459. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/batch_request.rb +44 -0
  460. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/data.rb +57 -0
  461. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/feed.rb +78 -0
  462. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/logging.rb +41 -0
  463. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/model.rb +123 -0
  464. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/affiliation.rb +10 -0
  465. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/album.rb +11 -0
  466. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/applicationproperties.rb +39 -0
  467. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/cookie.rb +10 -0
  468. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/education_info.rb +11 -0
  469. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/event.rb +26 -0
  470. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/friend_list.rb +14 -0
  471. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/group.rb +35 -0
  472. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/info_item.rb +10 -0
  473. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/info_section.rb +10 -0
  474. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/location.rb +8 -0
  475. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/notifications.rb +17 -0
  476. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/page.rb +27 -0
  477. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/photo.rb +10 -0
  478. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/tag.rb +12 -0
  479. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/user.rb +352 -0
  480. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/work_info.rb +9 -0
  481. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/parser.rb +540 -0
  482. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/controller.rb +246 -0
  483. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_asset_path.rb +18 -0
  484. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_form_builder.rb +112 -0
  485. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_pretty_errors.rb +14 -0
  486. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_request_fix.rb +24 -0
  487. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_session_handling.rb +58 -0
  488. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_helper.rb +191 -0
  489. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_rewriting.rb +39 -0
  490. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/helpers.rb +615 -0
  491. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/profile_publisher_extensions.rb +42 -0
  492. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/publisher.rb +475 -0
  493. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/routing.rb +49 -0
  494. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/test_helpers.rb +88 -0
  495. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/utilities.rb +22 -0
  496. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/server_cache.rb +24 -0
  497. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/service.rb +31 -0
  498. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/session.rb +564 -0
  499. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/version.rb +9 -0
  500. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker.rb +143 -0
  501. data/test/rails_root/vendor/plugins/facebooker/lib/net/http_multipart_post.rb +123 -0
  502. data/test/rails_root/vendor/plugins/facebooker/lib/tasks/facebooker.rake +18 -0
  503. data/test/rails_root/vendor/plugins/facebooker/lib/tasks/tunnel.rake +46 -0
  504. data/test/rails_root/vendor/plugins/facebooker/rails/init.rb +1 -0
  505. data/test/rails_root/vendor/plugins/facebooker/setup.rb +1585 -0
  506. data/test/rails_root/vendor/plugins/facebooker/templates/layout.erb +24 -0
  507. data/test/rails_root/vendor/plugins/facebooker/test/adapters_test.rb +98 -0
  508. data/test/rails_root/vendor/plugins/facebooker/test/batch_request_test.rb +82 -0
  509. data/test/rails_root/vendor/plugins/facebooker/test/event_test.rb +15 -0
  510. data/test/rails_root/vendor/plugins/facebooker/test/facebook_admin_test.rb +75 -0
  511. data/test/rails_root/vendor/plugins/facebooker/test/facebook_cache_test.rb +43 -0
  512. data/test/rails_root/vendor/plugins/facebooker/test/facebook_data_test.rb +84 -0
  513. data/test/rails_root/vendor/plugins/facebooker/test/facebooker_test.rb +855 -0
  514. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_only_parameters.txt +33 -0
  515. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_single_file.txt +38 -0
  516. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt +38 -0
  517. data/test/rails_root/vendor/plugins/facebooker/test/http_multipart_post_test.rb +54 -0
  518. data/test/rails_root/vendor/plugins/facebooker/test/logging_test.rb +36 -0
  519. data/test/rails_root/vendor/plugins/facebooker/test/model_test.rb +91 -0
  520. data/test/rails_root/vendor/plugins/facebooker/test/publisher_test.rb +436 -0
  521. data/test/rails_root/vendor/plugins/facebooker/test/rails_integration_test.rb +1125 -0
  522. data/test/rails_root/vendor/plugins/facebooker/test/session_test.rb +587 -0
  523. data/test/rails_root/vendor/plugins/facebooker/test/test_helper.rb +60 -0
  524. data/test/rails_root/vendor/plugins/facebooker/test/user_test.rb +229 -0
  525. metadata +771 -0
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2008 thoughtbot, inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.textile ADDED
@@ -0,0 +1,168 @@
1
+ h1. Clearance
2
+
3
+ Simple, complete Ruby web app authentication.
4
+
5
+ "We have clearance, Clarence.":http://www.youtube.com/v/mNRXJEE3Nz8
6
+
7
+ h2. Gem installation (Rails 2.1+)
8
+
9
+ In config/environments/test.rb:
10
+
11
+ config.gem 'thoughtbot-shoulda', :lib => 'shoulda', :source => "http://gems.github.com"
12
+ config.gem 'thoughtbot-factory_girl', :lib => 'factory_girl', :source => "http://gems.github.com"
13
+
14
+ In config/environment.rb:
15
+
16
+ config.gem "thoughtbot-clearance", :lib => 'clearance', :source => 'http://gems.github.com/'
17
+
18
+ Then:
19
+
20
+ rake gems:install
21
+ rake gems:unpack
22
+
23
+ h2. Generator
24
+
25
+ In a greenfield application, just run the generator:
26
+
27
+ script/generate clearance
28
+
29
+ This will create:
30
+
31
+ app/controllers/confirmations_controller.rb
32
+ app/controllers/passwords_controller.rb
33
+ app/controllers/sessions_controller.rb
34
+ app/controllers/users_controller.rb
35
+ app/models/user.rb
36
+ app/models/user_mailer.rb
37
+ app/views/confirmations/new.html.erb
38
+ app/views/passwords/edit.html.erb
39
+ app/views/passwords/new.html.erb
40
+ app/views/sessions/new.html.erb
41
+ app/views/user_mailer/change_password.html.erb
42
+ app/views/user_mailer/confirmation.html.erb
43
+ app/views/users/_form.html.erb
44
+ app/views/users/edit.html.erb
45
+ app/views/users/new.html.erb
46
+ test/functional/confirmations_controller_test.rb
47
+ test/functional/passwords_controller_test.rb
48
+ test/functional/sessions_controller_test.rb
49
+ test/functional/users_controller_test.rb
50
+ test/unit/user_mailer_test.rb
51
+ test/unit/user_test.rb
52
+
53
+ Add the corresponding Clearance module for any file(s) you don't want to override. They are namespaced exactly like the directory structure of a Rails app:
54
+
55
+ app/models/user.rb already exists.
56
+ include Clearance::App::Models::User
57
+
58
+ h2. Tests
59
+
60
+ The tests use "Shoulda":http://thoughtbot.com/projects/shoulda >= 2.0.4 and "Factory Girl":http://thoughtbot.com/projects/factory_girl. You should create a User Factory:
61
+
62
+ Factory.sequence :email do |n|
63
+ "user#{n}@example.com"
64
+ end
65
+
66
+ Factory.define :user do |user|
67
+ user.email { Factory.next :email }
68
+ user.password "password"
69
+ user.password_confirmation "password"
70
+ end
71
+
72
+ In test/test_helper.rb:
73
+
74
+ class Test::Unit::TestCase
75
+ self.use_transactional_fixtures = true
76
+ self.use_instantiated_fixtures = false
77
+ include Clearance::Test::TestHelper
78
+ end
79
+
80
+ h2. Controllers
81
+
82
+ In app/controllers/application_controller.rb:
83
+
84
+ class ApplicationController < ActionController::Base
85
+ helper :all
86
+ protect_from_forgery
87
+ include Clearance::App::Controllers::ApplicationController
88
+ end
89
+
90
+ In app/controllers/sessions_controller.rb:
91
+
92
+ class SessionsController < ApplicationController
93
+
94
+ include Clearance::App::Controllers::SessionsController
95
+ include Clearance::App::Controllers::FacebookSessionsController
96
+
97
+ facebook_to_user_field_mappings \
98
+ :first_name => :first_name,
99
+ :last_name => :last_name
100
+ end
101
+
102
+ h2. Migration
103
+
104
+ Your users table needs a few columns.
105
+
106
+ create_table(:users) do |t|
107
+ t.string :facebook_id
108
+ t.string :first_name
109
+ t.string :last_name
110
+ t.string :email
111
+ t.string :crypted_password, :limit => 40
112
+ t.string :salt, :limit => 40
113
+ t.string :remember_token
114
+ t.datetime :remember_token_expires_at
115
+ t.boolean :confirmed, :default => false, :null => false
116
+ t.string :confirmation_code
117
+ t.string :reset_password_code
118
+ end
119
+
120
+ add_index :users, :email
121
+ add_index :users, :facebook_id
122
+ add_index :users, :remember_token
123
+
124
+ h2. Routes
125
+
126
+ map.resources :users
127
+ map.resource :session
128
+ map.resources :users, :has_one => :password
129
+ map.resources :users, :has_one => :confirmation
130
+ map.resources :passwords
131
+ map.root :controller => 'sessions', :action => 'new'
132
+
133
+ If you want facebook integration
134
+
135
+ map.resource :session, :member => { :facebook_new => :get, :facebook_create => :get }
136
+
137
+ h2. Environments
138
+
139
+ In config/environments/test.rb and config/environments/development.rb:
140
+
141
+ HOST = "localhost"
142
+
143
+ In config/environment.rb:
144
+
145
+ DO_NOT_REPLY = "donotreply@example.com"
146
+ PROJECT_NAME = "my_app_name"
147
+
148
+ h2. Dependencies
149
+
150
+ In order to use the Facebook sign-in features, you need to install the Facebooker plugin.
151
+
152
+ ./script/plugin install git://github.com/mmangino/facebooker.git
153
+
154
+ TODO: talk about disabliing Facebook features by removing includes
155
+
156
+
157
+ h2. Authors
158
+
159
+ * thoughtbot, inc.
160
+ * Dan Croak
161
+ * Jason Morrison
162
+ * Mike Burns
163
+ * Josh Nichols
164
+ * Mike Breen
165
+ * Hashrocket, Inc.
166
+ * Les Hill
167
+ * Jon "Lark" Larkowski
168
+ * Wes Gibbs
data/Rakefile ADDED
@@ -0,0 +1,83 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'date'
4
+ require 'rake/gempackagetask'
5
+ require 'spec/rake/spectask'
6
+
7
+ def gem_files
8
+ FileList["[A-Z]*", "{generators,lib,test}/**/*"]
9
+ end
10
+
11
+ test_files_pattern = 'test/rails_root/test/{unit,functional,other}/**/*_test.rb'
12
+ namespace :test do
13
+ Rake::TestTask.new(:all => 'generator:tests') do |t|
14
+ t.libs << 'lib'
15
+ t.pattern = test_files_pattern
16
+ t.verbose = false
17
+ end
18
+
19
+ desc "Run all specs in spec directory (excluding plugin specs)"
20
+ Spec::Rake::SpecTask.new(:spec) do |t|
21
+ t.spec_opts = ['--options', "\"test/rails_root/spec/spec.opts\""]
22
+ t.spec_files = FileList['test/rails_root/spec/**/*_spec.rb']
23
+ end
24
+ end
25
+
26
+ desc "Run the test suite"
27
+ task :default => ['test:all', 'test:spec']
28
+
29
+
30
+ gemspec_doc = <<-GEMSPEC_DOC
31
+ s.date = "#{Date.today.strftime('%Y-%m-%d')}"
32
+ s.name = "clearance"
33
+ s.summary = "Fork of clearance, not-purely-restful, but with Facebook goodness"
34
+ s.email = "info@hashrocket.com"
35
+ s.version = '0.4.0'
36
+ s.homepage = "http://github.com/hashrocket/clearance"
37
+ s.description = "Fork of clearance, not-purely-restful, but with Facebook goodness"
38
+ s.authors = [
39
+ "thoughtbot, inc.",
40
+ "Dan Croak",
41
+ "Josh Nichols",
42
+ "Jason Morrison",
43
+ "Mike Burns",
44
+ "Mike Breen",
45
+ "Hashrocket, Inc.",
46
+ "Les Hill",
47
+ "Jon Larkowski",
48
+ "Wes Gibbs"
49
+ ]
50
+ GEMSPEC_DOC
51
+
52
+ spec = Gem::Specification.new do |s|
53
+ eval(gemspec_doc)
54
+ s.files = gem_files
55
+ end
56
+
57
+ Rake::GemPackageTask.new(spec) do |pkg|
58
+ pkg.need_zip = true
59
+ pkg.need_tar = true
60
+ end
61
+
62
+ namespace :generator do
63
+ desc "Run the generator on the tests"
64
+ task :tests do
65
+ system "mkdir -p test/rails_root/vendor/plugins/clearance"
66
+ system "cp -R generators test/rails_root/vendor/plugins/clearance"
67
+ system "cd test/rails_root; ./script/generate clearance"
68
+ end
69
+ end
70
+
71
+ desc "Generate the Clearance gemspec"
72
+ task :gemspec do
73
+
74
+ File.open("clearance.gemspec", "w") do |file|
75
+ file.write "Gem::Specification.new do |s|\n"
76
+ file.write(gemspec_doc)
77
+ file.write " s.files = [\n"
78
+ file.write gem_files.map {|f| %Q{ "#{f}"}}.join(",\n")
79
+ file.write " ]\n"
80
+ file.write "end\n"
81
+ end
82
+ end
83
+
data/TODO.textile ADDED
@@ -0,0 +1,27 @@
1
+ (highest priority first)
2
+
3
+ # split PROJECT_NAME out into separate code and presentation constants
4
+ # haml-ize
5
+ # parameterize Facebook includes in generators
6
+ # split out PROJECT_NAME and SITE_NAME appropriately, don't want display issues affecting code issues
7
+ # remove dependency on root_url?
8
+ # should_have_form should be pulled into shoulda
9
+ # generator should print out instructions to include modules existing files
10
+ # check to make sure attr_accessible doesn't override and w/ attr_protected
11
+ # move shoulda macros in test_helper to shoulda_macros folder
12
+ # add shoulda and factory girl dependencies to gemspec
13
+ # refactor Mailer default_url_options[:host] to something cleaner
14
+ # application controller uses protected, all other controllers use private
15
+ # add information about url_after_create to README or github wikis
16
+
17
+ ideas to steal from merb-auth:
18
+
19
+ # store current_user on the session, not controller
20
+ # respond with 401 Unauthorized when request requires authentication
21
+ # respond with 405 Method Not Allowed when action requested isn’t allowed
22
+ # 401 and 405 need to be in Exceptions controller or use safety_valve
23
+ # email confirmation is a strategy
24
+ # forgot password is a strategy
25
+ # salted password is a strategy
26
+
27
+ http://adam.speaksoutofturn.com/articles/entication_vs_orization.html
@@ -0,0 +1 @@
1
+ script/generate clearance
@@ -0,0 +1,84 @@
1
+ class ClearanceGenerator < Rails::Generator::Base
2
+
3
+ def manifest
4
+ record do |m|
5
+ m.directory File.join("app", "controllers")
6
+ [
7
+ "app/controllers/application.rb",
8
+ "app/controllers/confirmations_controller.rb",
9
+ "app/controllers/passwords_controller.rb",
10
+ "app/controllers/sessions_controller.rb",
11
+ "app/controllers/users_controller.rb"
12
+ ].each do |file|
13
+ m.file file, file
14
+ end
15
+
16
+ m.directory File.join("app", "models")
17
+ ["app/models/user.rb",
18
+ "app/models/clearance_mailer.rb"].each do |file|
19
+ m.file file, file
20
+ end
21
+
22
+ m.directory File.join("app", "views", "passwords")
23
+ ["app/views/passwords/new.html.erb",
24
+ "app/views/passwords/edit.html.erb"].each do |file|
25
+ m.file file, file
26
+ end
27
+
28
+ m.directory File.join("app", "views", "sessions")
29
+ ["app/views/sessions/new.html.erb"].each do |file|
30
+ m.file file, file
31
+ end
32
+
33
+ m.directory File.join("app", "views", "clearance_mailer")
34
+ [
35
+ "app/views/clearance_mailer/confirmation.html.erb",
36
+ "app/views/clearance_mailer/facebook_welcome.text.html.haml",
37
+ "app/views/clearance_mailer/forgot_password.html.erb"
38
+ ].each do |file|
39
+ m.file file, file
40
+ end
41
+
42
+ m.directory File.join("app", "views", "users")
43
+ ["app/views/users/_form.html.erb",
44
+ "app/views/users/new.html.erb",
45
+ "app/views/users/_password_form.html.erb",
46
+ "app/views/users/edit_password.html.erb"].each do |file|
47
+ m.file file, file
48
+ end
49
+
50
+ m.directory 'config/initializers'
51
+ [
52
+ "config/initializers/action_mailer.rb"
53
+ ].each do |file|
54
+ m.file file, file
55
+ end
56
+
57
+ m.directory 'public/images'
58
+ [
59
+ "public/images/connect_light_medium_long.gif"
60
+ ].each do |file|
61
+ m.file file, file
62
+ end
63
+
64
+ m.directory File.join("test", "functional")
65
+ ["test/functional/confirmations_controller_test.rb",
66
+ "test/functional/passwords_controller_test.rb",
67
+ "test/functional/sessions_controller_test.rb",
68
+ "test/functional/users_controller_test.rb"].each do |file|
69
+ m.file file, file
70
+ end
71
+
72
+ m.directory File.join("test", "unit")
73
+ ["test/unit/clearance_mailer_test.rb",
74
+ "test/unit/user_test.rb"].each do |file|
75
+ m.file file, file
76
+ end
77
+
78
+ ["test/factories.rb"].each do |file|
79
+ m.file file, file
80
+ end
81
+ end
82
+ end
83
+
84
+ end
@@ -0,0 +1,5 @@
1
+ class ApplicationController < ActionController::Base
2
+ helper :all
3
+ protect_from_forgery
4
+ include Clearance::App::Controllers::ApplicationController
5
+ end
@@ -0,0 +1,3 @@
1
+ class ConfirmationsController < ApplicationController
2
+ include Clearance::App::Controllers::ConfirmationsController
3
+ end
@@ -0,0 +1,3 @@
1
+ class PasswordsController < ApplicationController
2
+ include Clearance::App::Controllers::PasswordsController
3
+ end
@@ -0,0 +1,8 @@
1
+ class SessionsController < ApplicationController
2
+ include Clearance::App::Controllers::SessionsController
3
+ include Clearance::App::Controllers::FacebookSessionsController
4
+
5
+ facebook_to_user_field_mappings \
6
+ :first_name => :first_name,
7
+ :last_name => :last_name
8
+ end
@@ -0,0 +1,3 @@
1
+ class UsersController < ApplicationController
2
+ include Clearance::App::Controllers::UsersController
3
+ end
@@ -0,0 +1,4 @@
1
+ class ClearanceMailer < ActionMailer::Base
2
+ include Clearance::App::Models::ClearanceMailer
3
+ include Clearance::App::Models::ClearanceFacebookMailer
4
+ end
@@ -0,0 +1,3 @@
1
+ class User < ActiveRecord::Base
2
+ include Clearance::App::Models::User
3
+ end
@@ -0,0 +1 @@
1
+ <%= confirmations_url :confirmation_code => @user.confirmation_code %>
@@ -0,0 +1,4 @@
1
+ :plain
2
+ Welcome to #{PROJECT_NAME.humanize}! Sign in at:
3
+
4
+ #{root_url}
@@ -0,0 +1,6 @@
1
+ Someone, hopefully you, has requested that we send you a link to reset your password.
2
+
3
+ Here's the link:
4
+ <%= edit_password_url(:id => @user.reset_password_code) %>
5
+
6
+ If you didn't request this, no need to freak out, your password hasn't been changed. You can just ignore this email.
@@ -0,0 +1,18 @@
1
+ <p>
2
+ You are resetting your password. Choose a new password below.
3
+ </p>
4
+
5
+ <%= error_messages_for :user %>
6
+ <% form_tag(password_path(:id => @user.reset_password_code), :method => :put) do %>
7
+ <div class="password_field">
8
+ <%= label_tag :password, 'Choose password' %>
9
+ <%= password_field_tag :password %>
10
+ </div>
11
+ <div class="password_field">
12
+ <%= label_tag :password_confirmation, 'Verify password' %>
13
+ <%= password_field_tag :password_confirmation %>
14
+ </div>
15
+ <div class="submit_field">
16
+ <%= submit_tag 'Save this password' %>
17
+ </div>
18
+ <% end %>
@@ -0,0 +1,15 @@
1
+ <h2>Forgot your password</h2>
2
+
3
+ <p>
4
+ We will email you a link to reset your password.
5
+ </p>
6
+
7
+ <% form_tag(passwords_path) do %>
8
+ <div class="text_field">
9
+ <%= label_tag :email, 'Email address' %>
10
+ <%= text_field_tag :email %>
11
+ </div>
12
+ <div class="submit_field">
13
+ <%= submit_tag 'Reset password' %>
14
+ </div>
15
+ <% end %>
@@ -0,0 +1,29 @@
1
+ <% form_for :session, :url => session_path do |form| %>
2
+ <div class="text_field">
3
+ <%= form.label :email %>
4
+ <%= form.text_field :email %>
5
+ </div>
6
+ <div class="text_field">
7
+ <%= form.label :password %>
8
+ <%= form.password_field :password %>
9
+ </div>
10
+ <div class="text_field">
11
+ <%= form.check_box :remember_me %>
12
+ <%= form.label :remember_me %>
13
+ </div>
14
+ <div class="submit_field">
15
+ <%= form.submit 'Login', :disable_with => 'Please wait...' %>
16
+ </div>
17
+ <% end %>
18
+
19
+ <ul>
20
+ <li>
21
+ Sign in with Facebook <%= link_to image_tag('connect_light_medium_long.gif'), facebook_new_session_path %>
22
+ </li>
23
+ <li>
24
+ <%= link_to "Sign up", new_user_path %>
25
+ </li>
26
+ <li>
27
+ <%= link_to "Forgot My Password", new_password_path %>
28
+ </li>
29
+ </ul>
@@ -0,0 +1,13 @@
1
+ <%= form.error_messages %>
2
+ <div class="text_field">
3
+ <%= form.label :email %>
4
+ <%= form.text_field :email %>
5
+ </div>
6
+ <div class="password_field">
7
+ <%= form.label :password %>
8
+ <%= form.password_field :password %>
9
+ </div>
10
+ <div class="password_field">
11
+ <%= form.label :password_confirmation %>
12
+ <%= form.password_field :password_confirmation %>
13
+ </div>
@@ -0,0 +1,13 @@
1
+ <%= form.error_messages %>
2
+ <div class="password_field">
3
+ <%= form.label :old_password %>
4
+ <%= form.password_field :old_password %>
5
+ </div>
6
+ <div class="password_field">
7
+ <%= form.label :password %>
8
+ <%= form.password_field :password %>
9
+ </div>
10
+ <div class="password_field">
11
+ <%= form.label :password_confirmation %>
12
+ <%= form.password_field :password_confirmation %>
13
+ </div>
@@ -0,0 +1,4 @@
1
+ <% form_for(@user, :url => change_password_user_path(@user), :html => {:method => :put}) do |form| %>
2
+ <%= render :partial => '/users/password_form', :locals => {:form => form} %>
3
+ <%= form.submit 'Update', :disable_with => 'Please wait...' %>
4
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% form_for @user do |form| %>
2
+ <%= render :partial => '/users/form', :object => form %>
3
+ <%= form.submit 'Sign up', :disable_with => 'Please wait...' %>
4
+ <% end %>
5
+
6
+ Sign in with Facebook <%= link_to image_tag('connect_light_medium_long.gif'), facebook_new_session_path %>
@@ -0,0 +1 @@
1
+ ActionMailer::Base.register_template_extension('haml')
@@ -0,0 +1,9 @@
1
+ Factory.sequence :email do |n|
2
+ "user#{n}@example.com"
3
+ end
4
+
5
+ Factory.define :user do |user|
6
+ user.email { Factory.next :email }
7
+ user.password "password"
8
+ user.password_confirmation "password"
9
+ end
@@ -0,0 +1,5 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class ConfirmationsControllerTest < ActionController::TestCase
4
+ include Clearance::Test::Functional::ConfirmationsControllerTest
5
+ end
@@ -0,0 +1,5 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class PasswordsControllerTest < ActionController::TestCase
4
+ include Clearance::Test::Functional::PasswordsControllerTest
5
+ end
@@ -0,0 +1,5 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class SessionsControllerTest < ActionController::TestCase
4
+ include Clearance::Test::Functional::SessionsControllerTest
5
+ end
@@ -0,0 +1,5 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class UsersControllerTest < ActionController::TestCase
4
+ include Clearance::Test::Functional::UsersControllerTest
5
+ end
@@ -0,0 +1,6 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class ClearanceMailerTest < ActionMailer::TestCase
4
+ tests ClearanceMailer
5
+ include Clearance::Test::Unit::ClearanceMailerTest
6
+ end
@@ -0,0 +1,5 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class UserTest < Test::Unit::TestCase
4
+ include Clearance::Test::Unit::UserTest
5
+ end