hashrocket-clearance 0.4.3 → 0.4.4

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 (478) hide show
  1. data/Rakefile +1 -1
  2. data/lib/clearance/app/controllers/passwords_controller.rb +41 -16
  3. data/lib/clearance/test/functional/passwords_controller_test.rb +2 -2
  4. data/lib/clearance/version.rb +1 -1
  5. metadata +2 -634
  6. data/test/rails_root/Capfile +0 -3
  7. data/test/rails_root/Rakefile +0 -10
  8. data/test/rails_root/app/controllers/application.rb +0 -5
  9. data/test/rails_root/app/controllers/confirmations_controller.rb +0 -3
  10. data/test/rails_root/app/controllers/passwords_controller.rb +0 -3
  11. data/test/rails_root/app/controllers/sessions_controller.rb +0 -8
  12. data/test/rails_root/app/controllers/users_controller.rb +0 -3
  13. data/test/rails_root/app/helpers/application_helper.rb +0 -5
  14. data/test/rails_root/app/helpers/confirmations_helper.rb +0 -2
  15. data/test/rails_root/app/helpers/passwords_helper.rb +0 -2
  16. data/test/rails_root/app/models/clearance_mailer.rb +0 -4
  17. data/test/rails_root/app/models/user.rb +0 -3
  18. data/test/rails_root/app/views/clearance_mailer/confirmation.html.erb +0 -1
  19. data/test/rails_root/app/views/clearance_mailer/facebook_welcome.text.html.haml +0 -4
  20. data/test/rails_root/app/views/clearance_mailer/forgot_password.html.erb +0 -6
  21. data/test/rails_root/app/views/layouts/_flashes.erb +0 -5
  22. data/test/rails_root/app/views/layouts/application.html.erb +0 -14
  23. data/test/rails_root/app/views/passwords/edit.html.erb +0 -18
  24. data/test/rails_root/app/views/passwords/new.html.erb +0 -15
  25. data/test/rails_root/app/views/sessions/new.html.erb +0 -29
  26. data/test/rails_root/app/views/users/_form.html.erb +0 -13
  27. data/test/rails_root/app/views/users/_password_form.html.erb +0 -13
  28. data/test/rails_root/app/views/users/edit_password.html.erb +0 -4
  29. data/test/rails_root/app/views/users/new.html.erb +0 -6
  30. data/test/rails_root/config/boot.rb +0 -109
  31. data/test/rails_root/config/database.yml +0 -13
  32. data/test/rails_root/config/environment.rb +0 -19
  33. data/test/rails_root/config/environments/development.rb +0 -19
  34. data/test/rails_root/config/environments/test.rb +0 -23
  35. data/test/rails_root/config/facebooker.yml +0 -13
  36. data/test/rails_root/config/initializers/action_mailer.rb +0 -1
  37. data/test/rails_root/config/initializers/clearance.rb +0 -8
  38. data/test/rails_root/config/initializers/inflections.rb +0 -10
  39. data/test/rails_root/config/initializers/mime_types.rb +0 -5
  40. data/test/rails_root/config/initializers/requires.rb +0 -13
  41. data/test/rails_root/config/initializers/time_formats.rb +0 -4
  42. data/test/rails_root/config/routes.rb +0 -12
  43. data/test/rails_root/db/migrate/001_create_users.rb +0 -25
  44. data/test/rails_root/doc/README_FOR_APP +0 -2
  45. data/test/rails_root/doc/README_FOR_TEMPLATE +0 -15
  46. data/test/rails_root/lib/tasks/bootstrap.rake +0 -16
  47. data/test/rails_root/lib/tasks/capistrano.rake +0 -96
  48. data/test/rails_root/lib/tasks/git_tasks.rake +0 -129
  49. data/test/rails_root/lib/tasks/rspec.rake +0 -132
  50. data/test/rails_root/public/404.html +0 -30
  51. data/test/rails_root/public/422.html +0 -30
  52. data/test/rails_root/public/500.html +0 -30
  53. data/test/rails_root/public/dispatch.rb +0 -10
  54. data/test/rails_root/public/favicon.ico +0 -0
  55. data/test/rails_root/public/images/connect_light_medium_long.gif +0 -0
  56. data/test/rails_root/public/images/rails.png +0 -0
  57. data/test/rails_root/public/javascripts/application.js +0 -2
  58. data/test/rails_root/public/javascripts/builder.js +0 -136
  59. data/test/rails_root/public/javascripts/controls.js +0 -963
  60. data/test/rails_root/public/javascripts/dragdrop.js +0 -972
  61. data/test/rails_root/public/javascripts/effects.js +0 -1120
  62. data/test/rails_root/public/javascripts/facebooker.js +0 -106
  63. data/test/rails_root/public/javascripts/prototype.js +0 -4225
  64. data/test/rails_root/public/javascripts/scriptaculous.js +0 -58
  65. data/test/rails_root/public/javascripts/slider.js +0 -277
  66. data/test/rails_root/public/javascripts/sound.js +0 -60
  67. data/test/rails_root/public/robots.txt +0 -1
  68. data/test/rails_root/script/about +0 -3
  69. data/test/rails_root/script/autospec +0 -5
  70. data/test/rails_root/script/breakpointer +0 -3
  71. data/test/rails_root/script/console +0 -3
  72. data/test/rails_root/script/create_project.rb +0 -52
  73. data/test/rails_root/script/dbconsole +0 -3
  74. data/test/rails_root/script/destroy +0 -3
  75. data/test/rails_root/script/generate +0 -3
  76. data/test/rails_root/script/performance/benchmarker +0 -3
  77. data/test/rails_root/script/performance/profiler +0 -3
  78. data/test/rails_root/script/performance/request +0 -3
  79. data/test/rails_root/script/plugin +0 -3
  80. data/test/rails_root/script/process/inspector +0 -3
  81. data/test/rails_root/script/process/reaper +0 -3
  82. data/test/rails_root/script/process/spawner +0 -3
  83. data/test/rails_root/script/runner +0 -3
  84. data/test/rails_root/script/server +0 -3
  85. data/test/rails_root/script/spec +0 -5
  86. data/test/rails_root/script/spec_server +0 -116
  87. data/test/rails_root/spec/controllers/passwords_controller_spec.rb +0 -5
  88. data/test/rails_root/spec/controllers/session_controller_spec.rb +0 -5
  89. data/test/rails_root/spec/models/user_spec.rb +0 -5
  90. data/test/rails_root/spec/rcov.opts +0 -2
  91. data/test/rails_root/spec/spec.opts +0 -4
  92. data/test/rails_root/spec/spec_helper.rb +0 -51
  93. data/test/rails_root/test/factories.rb +0 -9
  94. data/test/rails_root/test/functional/confirmations_controller_test.rb +0 -5
  95. data/test/rails_root/test/functional/passwords_controller_test.rb +0 -5
  96. data/test/rails_root/test/functional/sessions_controller_test.rb +0 -5
  97. data/test/rails_root/test/functional/users_controller_test.rb +0 -5
  98. data/test/rails_root/test/test_helper.rb +0 -21
  99. data/test/rails_root/test/unit/clearance_mailer_test.rb +0 -6
  100. data/test/rails_root/test/unit/user_test.rb +0 -5
  101. data/test/rails_root/vendor/gems/mocha-0.9.1/COPYING +0 -3
  102. data/test/rails_root/vendor/gems/mocha-0.9.1/MIT-LICENSE +0 -7
  103. data/test/rails_root/vendor/gems/mocha-0.9.1/README +0 -35
  104. data/test/rails_root/vendor/gems/mocha-0.9.1/RELEASE +0 -246
  105. data/test/rails_root/vendor/gems/mocha-0.9.1/Rakefile +0 -188
  106. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/misc.rb +0 -44
  107. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/mocha.rb +0 -26
  108. data/test/rails_root/vendor/gems/mocha-0.9.1/examples/stubba.rb +0 -65
  109. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha.rb +0 -20
  110. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/any_instance_method.rb +0 -54
  111. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/backtrace_filter.rb +0 -17
  112. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/cardinality.rb +0 -95
  113. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/central.rb +0 -27
  114. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/change_state_side_effect.rb +0 -19
  115. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/class_method.rb +0 -86
  116. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/configuration.rb +0 -60
  117. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/deprecation.rb +0 -22
  118. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/exception_raiser.rb +0 -17
  119. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation.rb +0 -445
  120. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation_error.rb +0 -15
  121. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/expectation_list.rb +0 -50
  122. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/in_state_ordering_constraint.rb +0 -19
  123. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/inspect.rb +0 -39
  124. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/instance_method.rb +0 -16
  125. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/is_a.rb +0 -9
  126. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/logger.rb +0 -15
  127. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/metaclass.rb +0 -7
  128. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/method_matcher.rb +0 -21
  129. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/mock.rb +0 -196
  130. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/mockery.rb +0 -181
  131. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/module_method.rb +0 -16
  132. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/multiple_yields.rb +0 -20
  133. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/names.rb +0 -53
  134. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/no_yields.rb +0 -11
  135. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/object.rb +0 -134
  136. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers.rb +0 -26
  137. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/all_of.rb +0 -42
  138. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/any_of.rb +0 -47
  139. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/any_parameters.rb +0 -40
  140. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/anything.rb +0 -33
  141. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/base.rb +0 -15
  142. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/equals.rb +0 -42
  143. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_entries.rb +0 -45
  144. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_entry.rb +0 -56
  145. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_key.rb +0 -42
  146. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/has_value.rb +0 -42
  147. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/includes.rb +0 -40
  148. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/instance_of.rb +0 -42
  149. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/is_a.rb +0 -42
  150. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/kind_of.rb +0 -42
  151. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/not.rb +0 -42
  152. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/object.rb +0 -9
  153. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/optionally.rb +0 -55
  154. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/regexp_matches.rb +0 -43
  155. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/responds_with.rb +0 -43
  156. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameter_matchers/yaml_equivalent.rb +0 -43
  157. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/parameters_matcher.rb +0 -37
  158. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/pretty_parameters.rb +0 -28
  159. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/return_values.rb +0 -31
  160. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/sequence.rb +0 -42
  161. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/single_return_value.rb +0 -17
  162. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/single_yield.rb +0 -18
  163. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/standalone.rb +0 -166
  164. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/state_machine.rb +0 -91
  165. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/stubbing_error.rb +0 -16
  166. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/test_case_adapter.rb +0 -103
  167. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/unexpected_invocation.rb +0 -18
  168. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha/yield_parameters.rb +0 -31
  169. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/mocha_standalone.rb +0 -2
  170. data/test/rails_root/vendor/gems/mocha-0.9.1/lib/stubba.rb +0 -4
  171. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/acceptance_test_helper.rb +0 -38
  172. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_18914_test.rb +0 -43
  173. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_21465_test.rb +0 -34
  174. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/bug_21563_test.rb +0 -25
  175. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/expected_invocation_count_test.rb +0 -196
  176. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/failure_messages_test.rb +0 -64
  177. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocha_example_test.rb +0 -98
  178. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocha_test_result_test.rb +0 -84
  179. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mock_test.rb +0 -100
  180. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mock_with_initializer_block_test.rb +0 -51
  181. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/mocked_methods_dispatch_test.rb +0 -78
  182. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/optional_parameters_test.rb +0 -70
  183. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/parameter_matcher_test.rb +0 -179
  184. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/partial_mocks_test.rb +0 -47
  185. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/return_value_test.rb +0 -52
  186. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/sequence_test.rb +0 -186
  187. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/standalone_test.rb +0 -139
  188. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/states_test.rb +0 -70
  189. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_any_instance_method_test.rb +0 -195
  190. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_class_method_test.rb +0 -203
  191. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_everything_test.rb +0 -56
  192. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_instance_method_test.rb +0 -165
  193. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_module_method_test.rb +0 -163
  194. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stub_test.rb +0 -52
  195. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_example_test.rb +0 -102
  196. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_test.rb +0 -15
  197. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubba_test_result_test.rb +0 -66
  198. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_error_backtrace_test.rb +0 -64
  199. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_method_unnecessarily_test.rb +0 -65
  200. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +0 -130
  201. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_class_method_test.rb +0 -155
  202. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_existent_instance_method_test.rb +0 -145
  203. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_any_instance_method_test.rb +0 -130
  204. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_class_method_test.rb +0 -161
  205. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_non_public_instance_method_test.rb +0 -141
  206. data/test/rails_root/vendor/gems/mocha-0.9.1/test/acceptance/stubbing_on_non_mock_object_test.rb +0 -64
  207. data/test/rails_root/vendor/gems/mocha-0.9.1/test/active_record_test_case.rb +0 -36
  208. data/test/rails_root/vendor/gems/mocha-0.9.1/test/deprecation_disabler.rb +0 -15
  209. data/test/rails_root/vendor/gems/mocha-0.9.1/test/execution_point.rb +0 -36
  210. data/test/rails_root/vendor/gems/mocha-0.9.1/test/method_definer.rb +0 -18
  211. data/test/rails_root/vendor/gems/mocha-0.9.1/test/simple_counter.rb +0 -13
  212. data/test/rails_root/vendor/gems/mocha-0.9.1/test/test_helper.rb +0 -11
  213. data/test/rails_root/vendor/gems/mocha-0.9.1/test/test_runner.rb +0 -33
  214. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/any_instance_method_test.rb +0 -126
  215. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/array_inspect_test.rb +0 -16
  216. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/backtrace_filter_test.rb +0 -19
  217. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/cardinality_test.rb +0 -56
  218. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/central_test.rb +0 -65
  219. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/change_state_side_effect_test.rb +0 -41
  220. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/class_method_test.rb +0 -237
  221. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/date_time_inspect_test.rb +0 -21
  222. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/exception_raiser_test.rb +0 -42
  223. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/expectation_list_test.rb +0 -57
  224. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/expectation_test.rb +0 -459
  225. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/hash_inspect_test.rb +0 -16
  226. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/in_state_ordering_constraint_test.rb +0 -43
  227. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/metaclass_test.rb +0 -22
  228. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/method_matcher_test.rb +0 -23
  229. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/mock_test.rb +0 -290
  230. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/mockery_test.rb +0 -149
  231. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/multiple_yields_test.rb +0 -18
  232. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/no_yields_test.rb +0 -18
  233. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/object_inspect_test.rb +0 -37
  234. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/object_test.rb +0 -82
  235. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/all_of_test.rb +0 -26
  236. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/any_of_test.rb +0 -26
  237. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/anything_test.rb +0 -21
  238. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/equals_test.rb +0 -25
  239. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_entries_test.rb +0 -51
  240. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_entry_test.rb +0 -62
  241. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_key_test.rb +0 -36
  242. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/has_value_test.rb +0 -37
  243. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/includes_test.rb +0 -25
  244. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/instance_of_test.rb +0 -25
  245. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/is_a_test.rb +0 -25
  246. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/kind_of_test.rb +0 -25
  247. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/not_test.rb +0 -26
  248. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/regexp_matches_test.rb +0 -25
  249. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/responds_with_test.rb +0 -25
  250. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/stub_matcher.rb +0 -27
  251. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameter_matchers/yaml_equivalent_test.rb +0 -25
  252. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/parameters_matcher_test.rb +0 -121
  253. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/return_values_test.rb +0 -63
  254. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/sequence_test.rb +0 -104
  255. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/single_return_value_test.rb +0 -14
  256. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/single_yield_test.rb +0 -18
  257. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/state_machine_test.rb +0 -98
  258. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/string_inspect_test.rb +0 -11
  259. data/test/rails_root/vendor/gems/mocha-0.9.1/test/unit/yield_parameters_test.rb +0 -93
  260. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/CONTRIBUTION_GUIDELINES.rdoc +0 -12
  261. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/MIT-LICENSE +0 -22
  262. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/README.rdoc +0 -132
  263. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/Rakefile +0 -72
  264. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/bin/convert_to_should_syntax +0 -42
  265. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda.rb +0 -17
  266. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/action_mailer.rb +0 -10
  267. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/action_mailer/assertions.rb +0 -39
  268. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record.rb +0 -12
  269. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record/assertions.rb +0 -85
  270. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/active_record/macros.rb +0 -715
  271. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/assertions.rb +0 -45
  272. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/context.rb +0 -306
  273. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller.rb +0 -30
  274. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/formats/html.rb +0 -201
  275. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/formats/xml.rb +0 -170
  276. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/helpers.rb +0 -64
  277. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/macros.rb +0 -316
  278. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/controller/resource_options.rb +0 -236
  279. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/helpers.rb +0 -10
  280. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/macros.rb +0 -74
  281. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/private_helpers.rb +0 -22
  282. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/proc_extensions.rb +0 -14
  283. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/rails.rb +0 -19
  284. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks.rb +0 -3
  285. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks/list_tests.rake +0 -24
  286. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/lib/shoulda/tasks/yaml_to_shoulda.rake +0 -28
  287. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/rails/init.rb +0 -1
  288. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/README +0 -36
  289. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fail_macros.rb +0 -34
  290. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/addresses.yml +0 -3
  291. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/friendships.yml +0 -0
  292. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/posts.yml +0 -5
  293. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/products.yml +0 -0
  294. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/taggings.yml +0 -0
  295. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/tags.yml +0 -9
  296. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/fixtures/users.yml +0 -6
  297. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/functional/posts_controller_test.rb +0 -104
  298. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/functional/users_controller_test.rb +0 -38
  299. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/context_test.rb +0 -145
  300. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/convert_to_should_syntax_test.rb +0 -63
  301. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/helpers_test.rb +0 -183
  302. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/private_helpers_test.rb +0 -34
  303. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/other/should_test.rb +0 -266
  304. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/application.rb +0 -25
  305. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/posts_controller.rb +0 -85
  306. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/controllers/users_controller.rb +0 -84
  307. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/application_helper.rb +0 -3
  308. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/posts_helper.rb +0 -2
  309. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/helpers/users_helper.rb +0 -2
  310. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/address.rb +0 -7
  311. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/dog.rb +0 -5
  312. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/flea.rb +0 -3
  313. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/friendship.rb +0 -4
  314. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/post.rb +0 -12
  315. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/product.rb +0 -12
  316. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/tag.rb +0 -8
  317. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/tagging.rb +0 -4
  318. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/models/user.rb +0 -28
  319. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/posts.rhtml +0 -17
  320. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/users.rhtml +0 -17
  321. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/layouts/wide.html.erb +0 -1
  322. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/edit.rhtml +0 -27
  323. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/index.rhtml +0 -25
  324. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/new.rhtml +0 -26
  325. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/posts/show.rhtml +0 -18
  326. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/edit.rhtml +0 -22
  327. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/index.rhtml +0 -22
  328. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/new.rhtml +0 -21
  329. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/app/views/users/show.rhtml +0 -13
  330. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/boot.rb +0 -109
  331. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/database.yml +0 -4
  332. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/environment.rb +0 -14
  333. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/environments/sqlite3.rb +0 -0
  334. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/initializers/new_rails_defaults.rb +0 -15
  335. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/initializers/shoulda.rb +0 -8
  336. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/config/routes.rb +0 -6
  337. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/001_create_users.rb +0 -18
  338. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/002_create_posts.rb +0 -13
  339. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/003_create_taggings.rb +0 -12
  340. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/004_create_tags.rb +0 -11
  341. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/005_create_dogs.rb +0 -12
  342. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/006_create_addresses.rb +0 -14
  343. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/007_create_fleas.rb +0 -11
  344. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/008_create_dogs_fleas.rb +0 -12
  345. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/009_create_products.rb +0 -17
  346. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/migrate/010_create_friendships.rb +0 -14
  347. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/db/schema.rb +0 -0
  348. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/log/sqlite3.log +0 -1
  349. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/404.html +0 -30
  350. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/422.html +0 -30
  351. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/public/500.html +0 -30
  352. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/script/console +0 -3
  353. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/rails_root/script/generate +0 -3
  354. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/test_helper.rb +0 -33
  355. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/address_test.rb +0 -10
  356. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/dog_test.rb +0 -7
  357. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/flea_test.rb +0 -6
  358. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/friendship_test.rb +0 -6
  359. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/post_test.rb +0 -15
  360. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/product_test.rb +0 -27
  361. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/tag_test.rb +0 -14
  362. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/tagging_test.rb +0 -6
  363. data/test/rails_root/vendor/gems/thoughtbot-shoulda-2.0.4/test/unit/user_test.rb +0 -52
  364. data/test/rails_root/vendor/plugins/facebooker/CHANGELOG.txt +0 -0
  365. data/test/rails_root/vendor/plugins/facebooker/COPYING +0 -19
  366. data/test/rails_root/vendor/plugins/facebooker/History.txt +0 -16
  367. data/test/rails_root/vendor/plugins/facebooker/Manifest.txt +0 -110
  368. data/test/rails_root/vendor/plugins/facebooker/README +0 -46
  369. data/test/rails_root/vendor/plugins/facebooker/README.txt +0 -81
  370. data/test/rails_root/vendor/plugins/facebooker/Rakefile +0 -62
  371. data/test/rails_root/vendor/plugins/facebooker/TODO.txt +0 -10
  372. data/test/rails_root/vendor/plugins/facebooker/examples/desktop_login.rb +0 -14
  373. data/test/rails_root/vendor/plugins/facebooker/facebooker.gemspec +0 -34
  374. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/facebook_generator.rb +0 -14
  375. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/templates/config/facebooker.yml +0 -41
  376. data/test/rails_root/vendor/plugins/facebooker/generators/facebook/templates/public/javascripts/facebooker.js +0 -106
  377. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/USAGE +0 -33
  378. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/facebook_controller_generator.rb +0 -40
  379. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/controller.rb +0 -7
  380. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/functional_test.rb +0 -11
  381. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/helper.rb +0 -2
  382. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/view.fbml.erb +0 -2
  383. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_controller/templates/view.html.erb +0 -2
  384. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/facebook_publisher_generator.rb +0 -14
  385. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/templates/create_facebook_templates.rb +0 -15
  386. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_publisher/templates/publisher.rb +0 -3
  387. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/USAGE +0 -27
  388. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/facebook_scaffold_generator.rb +0 -118
  389. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/controller.rb +0 -93
  390. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/facebook_style.css +0 -2579
  391. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/functional_test.rb +0 -89
  392. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/helper.rb +0 -2
  393. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/layout.fbml.erb +0 -6
  394. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/layout.html.erb +0 -17
  395. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/style.css +0 -74
  396. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_edit.fbml.erb +0 -13
  397. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_edit.html.erb +0 -18
  398. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_index.fbml.erb +0 -24
  399. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_index.html.erb +0 -24
  400. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_new.fbml.erb +0 -12
  401. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_new.html.erb +0 -17
  402. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_show.fbml.erb +0 -10
  403. data/test/rails_root/vendor/plugins/facebooker/generators/facebook_scaffold/templates/view_show.html.erb +0 -10
  404. data/test/rails_root/vendor/plugins/facebooker/generators/publisher/publisher_generator.rb +0 -14
  405. data/test/rails_root/vendor/plugins/facebooker/generators/receiver/receiver_generator.rb +0 -9
  406. data/test/rails_root/vendor/plugins/facebooker/generators/receiver/templates/xd_receiver.html +0 -10
  407. data/test/rails_root/vendor/plugins/facebooker/init.rb +0 -54
  408. data/test/rails_root/vendor/plugins/facebooker/install.rb +0 -12
  409. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker.rb +0 -143
  410. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/adapter_base.rb +0 -87
  411. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/bebo_adapter.rb +0 -73
  412. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/adapters/facebook_adapter.rb +0 -48
  413. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/admin.rb +0 -28
  414. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/batch_request.rb +0 -44
  415. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/data.rb +0 -57
  416. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/feed.rb +0 -78
  417. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/logging.rb +0 -41
  418. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/model.rb +0 -123
  419. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/affiliation.rb +0 -10
  420. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/album.rb +0 -11
  421. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/applicationproperties.rb +0 -39
  422. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/cookie.rb +0 -10
  423. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/education_info.rb +0 -11
  424. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/event.rb +0 -26
  425. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/friend_list.rb +0 -14
  426. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/group.rb +0 -35
  427. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/info_item.rb +0 -10
  428. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/info_section.rb +0 -10
  429. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/location.rb +0 -8
  430. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/notifications.rb +0 -17
  431. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/page.rb +0 -27
  432. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/photo.rb +0 -10
  433. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/tag.rb +0 -12
  434. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/user.rb +0 -352
  435. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/models/work_info.rb +0 -9
  436. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/parser.rb +0 -540
  437. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/controller.rb +0 -246
  438. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_asset_path.rb +0 -18
  439. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_form_builder.rb +0 -112
  440. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_pretty_errors.rb +0 -14
  441. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_request_fix.rb +0 -24
  442. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_session_handling.rb +0 -58
  443. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_helper.rb +0 -191
  444. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_rewriting.rb +0 -39
  445. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/helpers.rb +0 -615
  446. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/profile_publisher_extensions.rb +0 -42
  447. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/publisher.rb +0 -475
  448. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/routing.rb +0 -49
  449. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/test_helpers.rb +0 -88
  450. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/rails/utilities.rb +0 -22
  451. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/server_cache.rb +0 -24
  452. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/service.rb +0 -31
  453. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/session.rb +0 -564
  454. data/test/rails_root/vendor/plugins/facebooker/lib/facebooker/version.rb +0 -9
  455. data/test/rails_root/vendor/plugins/facebooker/lib/net/http_multipart_post.rb +0 -123
  456. data/test/rails_root/vendor/plugins/facebooker/lib/tasks/facebooker.rake +0 -18
  457. data/test/rails_root/vendor/plugins/facebooker/lib/tasks/tunnel.rake +0 -46
  458. data/test/rails_root/vendor/plugins/facebooker/rails/init.rb +0 -1
  459. data/test/rails_root/vendor/plugins/facebooker/setup.rb +0 -1585
  460. data/test/rails_root/vendor/plugins/facebooker/templates/layout.erb +0 -24
  461. data/test/rails_root/vendor/plugins/facebooker/test/adapters_test.rb +0 -98
  462. data/test/rails_root/vendor/plugins/facebooker/test/batch_request_test.rb +0 -82
  463. data/test/rails_root/vendor/plugins/facebooker/test/event_test.rb +0 -15
  464. data/test/rails_root/vendor/plugins/facebooker/test/facebook_admin_test.rb +0 -75
  465. data/test/rails_root/vendor/plugins/facebooker/test/facebook_cache_test.rb +0 -43
  466. data/test/rails_root/vendor/plugins/facebooker/test/facebook_data_test.rb +0 -84
  467. data/test/rails_root/vendor/plugins/facebooker/test/facebooker_test.rb +0 -855
  468. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_only_parameters.txt +0 -33
  469. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_single_file.txt +0 -38
  470. data/test/rails_root/vendor/plugins/facebooker/test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt +0 -38
  471. data/test/rails_root/vendor/plugins/facebooker/test/http_multipart_post_test.rb +0 -54
  472. data/test/rails_root/vendor/plugins/facebooker/test/logging_test.rb +0 -36
  473. data/test/rails_root/vendor/plugins/facebooker/test/model_test.rb +0 -91
  474. data/test/rails_root/vendor/plugins/facebooker/test/publisher_test.rb +0 -436
  475. data/test/rails_root/vendor/plugins/facebooker/test/rails_integration_test.rb +0 -1125
  476. data/test/rails_root/vendor/plugins/facebooker/test/session_test.rb +0 -587
  477. data/test/rails_root/vendor/plugins/facebooker/test/test_helper.rb +0 -60
  478. data/test/rails_root/vendor/plugins/facebooker/test/user_test.rb +0 -229
@@ -1,123 +0,0 @@
1
- module Facebooker
2
- ##
3
- # helper methods primarily supporting the management of Ruby objects which are populatable via Hashes.
4
- # Since most Facebook API calls accept and return hashes of data (as XML), the Model module allows us to
5
- # directly populate a model's attributes given a Hash with matching key names.
6
- module Model
7
- class UnboundSessionException < Exception; end
8
- def self.included(includer)
9
- includer.extend ClassMethods
10
- includer.__send__(:attr_writer, :session)
11
- includer.__send__(:attr_reader, :anonymous_fields)
12
- end
13
- module ClassMethods
14
- ##
15
- # Instantiate a new instance of the class into which we are included and populate that instance's
16
- # attributes given the provided Hash. Key names in the Hash should map to attribute names on the model.
17
- def from_hash(hash)
18
- instance = new(hash)
19
- yield instance if block_given?
20
- instance
21
- end
22
-
23
- ##
24
- # Create a standard attr_writer and a populating_attr_reader
25
- def populating_attr_accessor(*symbols)
26
- attr_writer *symbols
27
- populating_attr_reader *symbols
28
- end
29
-
30
- ##
31
- # Create a reader that will attempt to populate the model if it has not already been populated
32
- def populating_attr_reader(*symbols)
33
- symbols.each do |symbol|
34
- define_method(symbol) do
35
- populate unless populated?
36
- instance_variable_get("@#{symbol}")
37
- end
38
- end
39
- end
40
-
41
- def populating_hash_settable_accessor(symbol, klass)
42
- populating_attr_reader symbol
43
- hash_settable_writer(symbol, klass)
44
- end
45
-
46
- def populating_hash_settable_list_accessor(symbol, klass)
47
- populating_attr_reader symbol
48
- hash_settable_list_writer(symbol, klass)
49
- end
50
-
51
- #
52
- # Declares an attribute named ::symbol:: which can be set with either an instance of ::klass::
53
- # or a Hash which will be used to populate a new instance of ::klass::.
54
- def hash_settable_accessor(symbol, klass)
55
- attr_reader symbol
56
- hash_settable_writer(symbol, klass)
57
- end
58
-
59
- def hash_settable_writer(symbol, klass)
60
- define_method("#{symbol}=") do |value|
61
- instance_variable_set("@#{symbol}", value.kind_of?(Hash) ? klass.from_hash(value) : value)
62
- end
63
- end
64
-
65
- #
66
- # Declares an attribute named ::symbol:: which can be set with either a list of instances of ::klass::
67
- # or a list of Hashes which will be used to populate a new instance of ::klass::.
68
- def hash_settable_list_accessor(symbol, klass)
69
- attr_reader symbol
70
- hash_settable_list_writer(symbol, klass)
71
- end
72
-
73
- def hash_settable_list_writer(symbol, klass)
74
- define_method("#{symbol}=") do |list|
75
- instance_variable_set("@#{symbol}", list.map do |item|
76
- item.kind_of?(Hash) ? klass.from_hash(item) : item
77
- end)
78
- end
79
- end
80
- end
81
-
82
- ##
83
- # Centralized, error-checked place for a model to get the session to which it is bound.
84
- # Any Facebook API queries require a Session instance.
85
- def session
86
- @session || (raise UnboundSessionException, "Must bind this object to a Facebook session before querying")
87
- end
88
-
89
- #
90
- # This gets populated from FQL queries.
91
- def anon=(value)
92
- @anonymous_fields = value
93
- end
94
-
95
- def initialize(hash = {})
96
- populate_from_hash!(hash)
97
- end
98
-
99
- def populate
100
- raise NotImplementedError, "#{self.class} included me and should have overriden me"
101
- end
102
-
103
- def populated?
104
- !@populated.nil?
105
- end
106
-
107
- ##
108
- # Set model's attributes via Hash. Keys should map directly to the model's attribute names.
109
- def populate_from_hash!(hash)
110
- unless hash.empty?
111
- hash.each do |key, value|
112
- set_attr_method = "#{key}="
113
- if respond_to?(set_attr_method)
114
- self.__send__(set_attr_method, value)
115
- else
116
- Facebooker::Logging.log_info("**Warning**, Attempt to set non-attribute: #{key}",hash)
117
- end
118
- end
119
- @populated = true
120
- end
121
- end
122
- end
123
- end
@@ -1,10 +0,0 @@
1
- require 'facebooker/model'
2
- module Facebooker
3
- ##
4
- # Represents a user's affiliation, for example, which educational institutions
5
- # the user is associated with.
6
- class Affiliation
7
- include Model
8
- attr_accessor :name, :status, :type, :year, :nid
9
- end
10
- end
@@ -1,11 +0,0 @@
1
- require 'facebooker/model'
2
- module Facebooker
3
- ##
4
- # A simple representation of a photo album.
5
- class Album
6
- include Model
7
- attr_accessor :aid, :cover_pid, :owner, :name, :created,
8
- :modified, :description, :location, :link, :size
9
-
10
- end
11
- end
@@ -1,39 +0,0 @@
1
- module Facebooker
2
-
3
- # application_name string The name of your application.
4
- # callback_url string Your application's callback URL. The callback URL cannot be longer than 100 characters.
5
- # post_install_url string The URL where a user gets redirected after installing your application. The post-install URL cannot be longer than 100 characters.
6
- # edit_url string
7
- # dashboard_url string
8
- # uninstall_url string The URL where a user gets redirected after removing your application.
9
- # ip_list string For Web-based applications, these are the IP addresses of your servers that can access Facebook's servers and serve information to your application.
10
- # email string The email address associated with the application; the email address Facebook uses to contact you about your application. (default value is your Facebook email address.)
11
- # description string The description of your application.
12
- # use_iframe bool Indicates whether you render your application with FBML (0) or in an iframe (1). (default value is 1)
13
- # desktop bool Indicates whether your application is Web-based (0) or gets installed on a user's desktop (1). (default value is 1)
14
- # is_mobile bool Indicates whether your application can run on a mobile device (1) or not (0). (default value is 1)
15
- # default_fbml string The default FBML code that appears in the user's profile box when he or she adds your application.
16
- # default_column bool Indicates whether your application appears in the wide (1) or narrow (0) column of a user's Facebook profile. (default value is 1)
17
- # message_url string For applications that can create attachments, this is the URL where you store the attachment's content.
18
- # message_action string For applications that can create attachments, this is the label for the action that creates the attachment. It cannot be more than 20 characters.
19
- # about_url string This is the URL to your application's About page. About pages are now Facebook Pages.
20
- # private_install bool Indicates whether you want to disable (1) or enable (0) News Feed and Mini-Feed stories when a user installs your application. (default value is 1)
21
- # installable bool Indicates whether a user can (1) or cannot (0) install your application. (default value is 1)
22
- # privacy_url string The URL to your application's privacy terms.
23
- # help_url string The URL to your application's help page.
24
- # see_all_url string
25
- # tos_url string The URL to your application's Terms of Service.
26
- # dev_mode bool Indicates whether developer mode is enabled (1) or disabled (0). Only developers can install applications in developer mode. (default value is 1)
27
- # preload_fql string A preloaded FQL query.
28
- class ApplicationProperties
29
- include Model
30
- FIELDS = [ :application_name, :callback_url, :post_install_url, :edit_url, :dashboard_url,
31
- :uninstall_url, :ip_list, :email, :description, :use_iframe, :desktop, :is_mobile,
32
- :default_fbml, :default_column, :message_url, :message_action, :about_url,
33
- :private_install, :installable, :privacy_url, :help_url, :see_all_url, :tos_url,
34
- :dev_mode, :preload_fql, :icon_url, :canvas_name, :logo_url, :connect_logo_url ]
35
-
36
- attr_accessor *FIELDS
37
-
38
- end
39
- end
@@ -1,10 +0,0 @@
1
- require 'facebooker/model'
2
- module Facebooker
3
-
4
- ##
5
- # A simple representation of a cookie.
6
- class Cookie
7
- include Model
8
- attr_accessor :uid, :name, :value, :expires, :path
9
- end
10
- end
@@ -1,11 +0,0 @@
1
- module Facebooker
2
- class EducationInfo
3
- class HighschoolInfo
4
- include Model
5
- attr_accessor :hs1_id, :hs2_id, :grad_year, :hs1_name, :hs2_name
6
- end
7
-
8
- include Model
9
- attr_accessor :concentrations, :name, :year, :degree
10
- end
11
- end
@@ -1,26 +0,0 @@
1
- require 'facebooker/model'
2
- module Facebooker
3
- class Event
4
-
5
- ##
6
- # The relationship between a Facebook user and an Event to which he or she has been
7
- # invited and may or may not be attending (based on #rsvp_status)
8
- class Attendance
9
- include Model
10
- attr_accessor :eid, :uid, :rsvp_status
11
-
12
- ##
13
- # Get the full, populated Event object which this Attendance is associated with.
14
- # First access will query the Facebook API (facebook.events.get). Subsequent
15
- # calls are retrieved from in-memory cache.
16
- def event
17
- @event ||= Event.from_hash(session.post('facebook.events.get', :eids => [eid]).first)
18
- end
19
-
20
- #TODO: implement user() method
21
- end
22
-
23
- include Model
24
- attr_accessor :eid, :pic, :pic_small, :pic_big, :name, :creator, :update_time, :description, :tagline, :venue, :host, :event_type, :nid, :location, :end_time, :start_time, :event_subtype
25
- end
26
- end
@@ -1,14 +0,0 @@
1
- require 'facebooker/model'
2
- module Facebooker
3
- ##
4
- # A simple representation of a photo album.
5
- class FriendList
6
- include Model
7
- attr_accessor :flid, :name
8
-
9
- # We need this to be an integer, so do the conversion
10
- def flid=(f)
11
- @flid= ( f.nil? ? nil : f.to_i)
12
- end
13
- end
14
- end
@@ -1,35 +0,0 @@
1
- require 'facebooker/model'
2
- module Facebooker
3
- class Group
4
- ##
5
- # The model of a user's relationship to a group. Users can occupy different positions within a group (e.g. 'owner')
6
- class Membership
7
- include Model
8
- attr_accessor :position, :gid, :uid
9
- end
10
- include Model
11
- attr_accessor :pic, :pic_small, :pic_big, :name, :creator, :recent_news, :gid, :update_time, :group_subtype, :group_type, :website, :office, :description, :venue, :nid
12
-
13
-
14
- ##
15
- # Get the full list of members as populated User objects. First time fetches group members via Facebook API call.
16
- # Subsequent calls return cached values.
17
- # This is a convenience method for getting all of the Membership instances and instantiating User instances for each Membership.
18
- def members
19
- @members ||= memberships.map do |membership|
20
- User.new(membership.uid, session)
21
- end
22
- end
23
-
24
- ##
25
- # Get a list of Membership instances associated with this Group. First call retrieves the Membership instances via a Facebook
26
- # API call. Subsequent calls are retrieved from in-memory cache.
27
- def memberships
28
- @memberships ||= session.post('facebook.groups.getMembers', :gid => gid).map do |hash|
29
- Membership.from_hash(hash) do |membership|
30
- membership.gid = gid
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,10 +0,0 @@
1
- module Facebooker
2
- class InfoItem
3
- include Model
4
- attr_accessor :label, :image, :description, :link, :sublabel
5
-
6
- def to_json
7
- {:label => label, :image => image, :description => description, :link => link, :sublabel => sublabel}.to_json
8
- end
9
- end
10
- end
@@ -1,10 +0,0 @@
1
- module Facebooker
2
- class InfoSection
3
- include Model
4
- attr_accessor :field, :items
5
-
6
- def to_json
7
- {:field => field, :items => items}.to_json
8
- end
9
- end
10
- end
@@ -1,8 +0,0 @@
1
- module Facebooker
2
- ##
3
- # Representation of Location used in all places where a Location is specified.
4
- class Location
5
- include Model
6
- attr_accessor :city, :zip, :country, :state
7
- end
8
- end
@@ -1,17 +0,0 @@
1
- module Facebooker
2
- class Notifications
3
- include Model
4
- attr_accessor :messages, :group_invites, :pokes, :friend_requests, :event_invites, :shares
5
-
6
- [:Messages, :Pokes, :Shares].each do |notification_type|
7
- const_set(notification_type, Class.new do
8
- include Model
9
- attr_accessor :unread, :most_recent
10
- end)
11
- attribute_name = "#{notification_type.to_s.downcase}"
12
- define_method("#{attribute_name}=") do |value|
13
- instance_variable_set("@#{attribute_name}", value.kind_of?(Hash) ? Notifications.const_get(notification_type).from_hash(value) : value)
14
- end
15
- end
16
- end
17
- end
@@ -1,27 +0,0 @@
1
- require 'facebooker/model'
2
- module Facebooker
3
- class Page
4
-
5
- class Genre
6
- include Model
7
- FIELDS = [ :dance, :party, :relax, :talk, :think, :workout, :sing, :intimate, :raunchy, :headphones ]
8
- attr_accessor *FIELDS
9
-
10
- def initialize(*args)
11
- super
12
-
13
- # convert '1'/'0' to true/false
14
- FIELDS.each do |field|
15
- self.send("#{field}=", self.send(field) == '1')
16
- end
17
- end
18
- end
19
-
20
- include Model
21
- attr_accessor :page_id, :name, :pic_small, :pic_big, :pic_square, :pic_large, :type, :type, :website, :location, :hours, :band_members, :bio, :hometown, :genre, :record_label, :influences, :has_added_app, :founded, :company_overview, :mission, :products, :release_date, :starring, :written_by, :directed_by, :produced_by, :studio, :awards, :plot_outline, :network, :season, :schedule
22
-
23
- def genre=(value)
24
- @genre = value.kind_of?(Hash) ? Genre.from_hash(value) : value
25
- end
26
- end
27
- end
@@ -1,10 +0,0 @@
1
- require 'facebooker/model'
2
- module Facebooker
3
- class Photo
4
- include Model
5
- attr_accessor :pid, :aid, :owner, :title,
6
- :link, :caption, :created,
7
- :src, :src_big, :src_small,
8
- :story_fbid
9
- end
10
- end
@@ -1,12 +0,0 @@
1
- require 'facebooker/model'
2
- module Facebooker
3
- class Tag
4
- include Model
5
- attr_accessor :pid, :subject, :xcoord, :ycoord
6
-
7
- def coordinates
8
- [xcoord, ycoord]
9
- end
10
-
11
- end
12
- end
@@ -1,352 +0,0 @@
1
- require 'facebooker/model'
2
- require 'facebooker/models/affiliation'
3
- require 'facebooker/models/work_info'
4
- require 'active_support'
5
- module Facebooker
6
- #
7
- # Holds attributes and behavior for a Facebook User
8
- class User
9
- include Model
10
- class Status
11
- include Model
12
- attr_accessor :message, :time
13
- end
14
- FIELDS = [:status, :political, :pic_small, :name, :quotes, :is_app_user, :tv, :profile_update_time, :meeting_sex, :hs_info, :timezone, :relationship_status, :hometown_location, :about_me, :wall_count, :significant_other_id, :pic_big, :music, :uid, :work_history, :sex, :religion, :notes_count, :activities, :pic_square, :movies, :has_added_app, :education_history, :birthday, :first_name, :meeting_for, :last_name, :interests, :current_location, :pic, :books, :affiliations]
15
- STANDARD_FIELDS = [:uid, :first_name, :last_name, :name, :timezone, :birthday, :sex, :affiliations, :locale, :profile_url]
16
- attr_accessor :id, :session
17
- populating_attr_accessor *FIELDS
18
- attr_reader :affiliations
19
- populating_hash_settable_accessor :current_location, Location
20
- populating_hash_settable_accessor :hometown_location, Location
21
- populating_hash_settable_accessor :hs_info, EducationInfo::HighschoolInfo
22
- populating_hash_settable_accessor :status, Status
23
- populating_hash_settable_list_accessor :affiliations, Affiliation
24
- populating_hash_settable_list_accessor :education_history, EducationInfo
25
- populating_hash_settable_list_accessor :work_history, WorkInfo
26
-
27
- # Can pass in these two forms:
28
- # id, session, (optional) attribute_hash
29
- # attribute_hash
30
- def initialize(*args)
31
- if (args.first.kind_of?(String) || args.first.kind_of?(Integer)) && args.size==1
32
- @id=Integer(args.shift)
33
- @session = Session.current
34
- elsif (args.first.kind_of?(String) || args.first.kind_of?(Integer)) && args[1].kind_of?(Session)
35
- @id = Integer(args.shift)
36
- @session = args.shift
37
- end
38
- if args.last.kind_of?(Hash)
39
- populate_from_hash!(args.pop)
40
- end
41
- end
42
-
43
- # Returns a user's events, params correspond to API call parameters (except UID):
44
- # http://wiki.developers.facebook.com/index.php/Events.get
45
- # E.g:
46
- # @user.events(:start_time => Time.now.to_i, :end_time => 1.month.from_now.to_i)
47
- # # => Returns events betwen now and a month from now
48
- def events(params={})
49
- @events ||= @session.post('facebook.events.get', {:uid => self.id}.merge(params)).map do |event|
50
- Event.from_hash(event)
51
- end
52
- end
53
-
54
- #
55
- # Set the list of friends, given an array of User objects. If the list has been retrieved previously, will not set
56
- def friends=(list_of_friends,flid=nil)
57
- @friends_hash ||= {}
58
- flid=cast_to_friend_list_id(flid)
59
- #use __blank instead of nil so that this is cached
60
- cache_key = flid||"__blank"
61
-
62
- @friends_hash[cache_key] ||= list_of_friends
63
- end
64
-
65
- def cast_to_friend_list_id(flid)
66
- case flid
67
- when String
68
- list=friend_lists.detect {|f| f.name==flid}
69
- raise Facebooker::Session::InvalidFriendList unless list
70
- list.flid
71
- when FriendList
72
- flid.flid
73
- else
74
- flid
75
- end
76
- end
77
- ##
78
- # Retrieve friends
79
- def friends(flid = nil)
80
- @friends_hash ||= {}
81
- flid=cast_to_friend_list_id(flid)
82
-
83
- #use __blank instead of nil so that this is cached
84
- cache_key = flid||"__blank"
85
- @friends_hash[cache_key] ||= @session.post('facebook.friends.get', (flid.nil? ? {} : {:flid => flid})).map do |uid|
86
- User.new(uid, @session)
87
- end
88
- @friends_hash[cache_key]
89
- end
90
-
91
- def friend_lists
92
- @friend_lists ||= @session.post('facebook.friends.getLists').map do |hash|
93
- friend_list = FriendList.from_hash(hash)
94
- friend_list.session = session
95
- friend_list
96
- end
97
- end
98
- ###
99
- # Retrieve friends with user info populated
100
- # Subsequent calls will be retrieved from memory.
101
- # Optional: list of fields to retrieve as symbols
102
- def friends!(*fields)
103
- @friends ||= session.post('facebook.users.getInfo', :fields => collect(fields), :uids => friends.map{|f| f.id}.join(',')).map do |hash|
104
- User.new(hash['uid'], session, hash)
105
- end
106
- end
107
-
108
- ###
109
- # Retrieve profile data for logged in user
110
- # Optional: list of fields to retrieve as symbols
111
- def populate(*fields)
112
- session.post('facebook.users.getInfo', :fields => collect(fields), :uids => id) do |response|
113
- populate_from_hash!(response.first)
114
- end
115
- end
116
-
117
- def friends_with?(user_or_id)
118
- friends.map{|f| f.to_i}.include?(user_or_id.to_i)
119
- end
120
-
121
- def friends_with_this_app
122
- @friends_with_this_app ||= session.post('facebook.friends.getAppUsers').map do |uid|
123
- User.new(uid, session)
124
- end
125
- end
126
-
127
- def groups(gids = [])
128
- args = gids.empty? ? {} : {:gids => gids}
129
- @groups ||= session.post('facebook.groups.get', args).map do |hash|
130
- group = Group.from_hash(hash)
131
- group.session = session
132
- group
133
- end
134
- end
135
-
136
- def notifications
137
- @notifications ||= Notifications.from_hash(session.post('facebook.notifications.get'))
138
- end
139
-
140
- def publish_story(story)
141
- publish(story)
142
- end
143
-
144
- def publish_action(action)
145
- publish(action)
146
- end
147
-
148
- def publish_templatized_action(action)
149
- publish(action)
150
- end
151
-
152
- def albums
153
- @albums ||= session.post('facebook.photos.getAlbums', :uid => self.id) do |response|
154
- response.map do |hash|
155
- Album.from_hash(hash)
156
- end
157
- end
158
- end
159
-
160
- def create_album(params)
161
- @album = session.post('facebook.photos.createAlbum', params) {|response| Album.from_hash(response)}
162
- end
163
-
164
- def profile_photos
165
- session.get_photos(nil, nil, profile_pic_album_id)
166
- end
167
-
168
- def upload_photo(multipart_post_file)
169
- Photo.from_hash(session.post_file('facebook.photos.upload', {nil => multipart_post_file}))
170
- end
171
-
172
- def profile_fbml
173
- session.post('facebook.profile.getFBML', :uid => @id)
174
- end
175
-
176
- ##
177
- # Set the profile FBML for this user
178
- #
179
- # This does not set profile actions, that should be done with profile_action=
180
- def profile_fbml=(markup)
181
- set_profile_fbml(markup, nil, nil)
182
- end
183
-
184
- ##
185
- # Set the mobile profile FBML
186
- def mobile_fbml=(markup)
187
- set_profile_fbml(nil, markup, nil)
188
- end
189
-
190
- def profile_action=(markup)
191
- set_profile_fbml(nil, nil, markup)
192
- end
193
-
194
- def profile_main=(markup)
195
- set_profile_fbml(nil,nil,nil,markup)
196
- end
197
-
198
- def set_profile_fbml(profile_fbml, mobile_fbml, profile_action_fbml, profile_main = nil)
199
- parameters = {:uid => @id}
200
- parameters[:profile] = profile_fbml if profile_fbml
201
- parameters[:profile_action] = profile_action_fbml if profile_action_fbml
202
- parameters[:mobile_profile] = mobile_fbml if mobile_fbml
203
- parameters[:profile_main] = profile_main if profile_main
204
- session.post('facebook.profile.setFBML', parameters,false)
205
- end
206
-
207
- ## ** NEW PROFILE DESIGN ***
208
- # Set a info section for this user
209
- #
210
- # Note: using set_profile_info as I feel using user.set_info could be confused with the user.getInfo facebook method.
211
- # Also, I feel it fits in line with user.set_profile_fbml.
212
- def set_profile_info(title, info_fields, format = :text)
213
- session.post('facebook.profile.setInfo', :title => title, :uid => @id,
214
- :type => format.to_s == "text" ? 1 : 5, :info_fields => info_fields.to_json)
215
- end
216
-
217
- def get_profile_info
218
- session.post('facebook.profile.getInfo', :uid => @id)
219
- end
220
-
221
- ##
222
- # Set the status of the user
223
- #
224
- # DOES NOT prepend "is" to the message
225
- #
226
- # requires extended permission.
227
- def status=(message)
228
- case message
229
- when String
230
- session.post('facebook.users.setStatus',:status=>message,:status_includes_verb=>1) do |ret|
231
- ret
232
- end
233
- when Status
234
- @status = message
235
- when Hash
236
- @status = Status.from_hash(message)
237
- end
238
- end
239
-
240
- ##
241
- # Convenience method to send email to the current user
242
- def send_email(subject, text=nil, fbml=nil)
243
- session.send_email([@id], subject, text, fbml)
244
- end
245
-
246
- ##
247
- # Convenience method to set cookie for the current user
248
- def set_cookie(name, value, expires=nil, path=nil)
249
- session.data.set_cookie(@id, name, value, expires, path)
250
- end
251
-
252
- ##
253
- # Convenience method to get cookies for the current user
254
- def get_cookies(name=nil)
255
- session.data.get_cookies(@id, name)
256
- end
257
-
258
- ##
259
- # Returns the user's id as an integer
260
- def to_i
261
- id
262
- end
263
-
264
- def to_s
265
- id.to_s
266
- end
267
-
268
- ##
269
- # Two Facebooker::User objects should be considered equal if their Facebook ids are equal
270
- def ==(other_user)
271
- id == other_user.id
272
- end
273
-
274
-
275
- # register a user with Facebook
276
- # users should be a hast with at least an :email field
277
- # you can optionally provide an :account_id field as well
278
-
279
- def self.register(users)
280
- user_map={}
281
- users=users.map do |h|
282
- returning h.dup do |d|
283
- if email=d.delete(:email)
284
- hash = hash_email(email)
285
- user_map[hash]=h
286
- d[:email_hash]=hash
287
- end
288
- end
289
- end
290
- Facebooker::Session.create.post("facebook.connect.registerUsers",:accounts=>users.to_json) do |ret|
291
- ret.each do |hash|
292
- user_map.delete(hash)
293
- end
294
- unless user_map.blank?
295
- e=Facebooker::Session::UserRegistrationFailed.new
296
- e.failed_users = user_map.values
297
- raise e
298
- end
299
- ret
300
- end
301
- end
302
-
303
- def self.hash_email(email)
304
- email = email.downcase.strip
305
- crc=Zlib.crc32(email)
306
- md5=Digest::MD5.hexdigest(email)
307
- "#{crc}_#{md5}"
308
- end
309
-
310
- def self.cast_to_facebook_id(object)
311
- if object.respond_to?(:facebook_id)
312
- object.facebook_id
313
- else
314
- object
315
- end
316
- end
317
-
318
- def facebook_id
319
- @id
320
- end
321
-
322
- def self.user_fields(fields = [])
323
- valid_fields(fields)
324
- end
325
-
326
- def self.standard_fields(fields = [])
327
- valid_fields(fields,STANDARD_FIELDS)
328
- end
329
-
330
- private
331
- def publish(feed_story_or_action)
332
- session.post(Facebooker::Feed::METHODS[feed_story_or_action.class.name.split(/::/).last], feed_story_or_action.to_params) == "1" ? true : false
333
- end
334
-
335
- def self.valid_fields(fields, allowable=FIELDS)
336
- allowable.reject{|field_name| !fields.empty? && !fields.include?(field_name)}.join(',')
337
- end
338
-
339
- def collect(fields, allowable=FIELDS)
340
- allowable.reject{|field_name| !fields.empty? && !fields.include?(field_name)}.join(',')
341
- end
342
-
343
- def profile_pic_album_id
344
- merge_aid(-3, @id)
345
- end
346
-
347
- def merge_aid(aid, uid)
348
- (uid << 32) + (aid & 0xFFFFFFFF)
349
- end
350
-
351
- end
352
- end