lockbox_middleware 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (740) hide show
  1. data/lib/lockbox_middleware.rb +1 -1
  2. data/spec/lib/lockbox_middleware_spec.rb +2 -2
  3. data/spec/spec_helper.rb +0 -2
  4. metadata +36 -756
  5. data/.gitignore +0 -15
  6. data/Capfile +0 -4
  7. data/Gemfile +0 -11
  8. data/Rakefile +0 -12
  9. data/VERSION +0 -1
  10. data/app/controllers/admin/partners_controller.rb +0 -14
  11. data/app/controllers/admin_controller.rb +0 -8
  12. data/app/controllers/application_controller.rb +0 -32
  13. data/app/controllers/authentication_controller.rb +0 -58
  14. data/app/controllers/confirmation_controller.rb +0 -14
  15. data/app/controllers/fetch_password_controller.rb +0 -44
  16. data/app/controllers/home_controller.rb +0 -11
  17. data/app/controllers/partner_sessions_controller.rb +0 -30
  18. data/app/controllers/partners_controller.rb +0 -58
  19. data/app/helpers/admin/partners_helper.rb +0 -3
  20. data/app/helpers/admin_helper.rb +0 -2
  21. data/app/helpers/application_helper.rb +0 -20
  22. data/app/helpers/authentication_helper.rb +0 -2
  23. data/app/helpers/fetch_password_helper.rb +0 -2
  24. data/app/helpers/home_helper.rb +0 -2
  25. data/app/helpers/labeled_builder.rb +0 -76
  26. data/app/helpers/partners_helper.rb +0 -2
  27. data/app/models/partner.rb +0 -129
  28. data/app/models/partner_mailer.rb +0 -25
  29. data/app/models/partner_session.rb +0 -2
  30. data/app/views/admin/show.html.erb +0 -6
  31. data/app/views/authentication/four_two_oh.html.erb +0 -4
  32. data/app/views/fetch_password/index.html.erb +0 -4
  33. data/app/views/fetch_password/show.html.erb +0 -6
  34. data/app/views/home/show.html.erb +0 -20
  35. data/app/views/layouts/admin.html.erb +0 -42
  36. data/app/views/layouts/application.html.erb +0 -48
  37. data/app/views/partner_mailer/confirmation.text.html.erb +0 -30
  38. data/app/views/partner_mailer/confirmation.text.plain.erb +0 -5
  39. data/app/views/partner_mailer/fetch_password.text.html.erb +0 -32
  40. data/app/views/partner_mailer/fetch_password.text.plain.erb +0 -5
  41. data/app/views/partner_sessions/new.html.erb +0 -9
  42. data/app/views/partners/_form.html.erb +0 -7
  43. data/app/views/partners/edit.html.erb +0 -5
  44. data/app/views/partners/index.html.erb +0 -0
  45. data/app/views/partners/new.html.erb +0 -6
  46. data/app/views/partners/show.html.erb +0 -48
  47. data/app/views/shared/_footer.html.erb +0 -0
  48. data/app/views/shared/_header.html.erb +0 -3
  49. data/app/views/shared/_logged_in_menu.html.erb +0 -1
  50. data/app/views/shared/_logged_out_menu.html.erb +0 -2
  51. data/config/asset_packages.yml +0 -19
  52. data/config/boot.rb +0 -110
  53. data/config/database.yml.example +0 -25
  54. data/config/environment.rb +0 -56
  55. data/config/environments/development.rb +0 -22
  56. data/config/environments/production.rb +0 -30
  57. data/config/environments/test.rb +0 -35
  58. data/config/initializers/backtrace_silencers.rb +0 -7
  59. data/config/initializers/inflections.rb +0 -10
  60. data/config/initializers/mime_types.rb +0 -7
  61. data/config/initializers/new_rails_defaults.rb +0 -21
  62. data/config/initializers/session_store.rb +0 -15
  63. data/config/initializers/settings.rb +0 -1
  64. data/config/initializers/string.rb +0 -25
  65. data/config/locales/en.yml +0 -5
  66. data/config/lockbox.yml.example +0 -12
  67. data/config/routes.rb +0 -23
  68. data/db/migrate/20091104170848_create_partners.rb +0 -34
  69. data/db/migrate/20091106213802_add_index_on_api_key.rb +0 -9
  70. data/db/migrate/20100507193948_add_partner_slug.rb +0 -11
  71. data/db/seeds.rb +0 -7
  72. data/lib/admin_authentication.rb +0 -9
  73. data/lib/authentication.rb +0 -48
  74. data/lib/rfc822.rb +0 -18
  75. data/lib/tasks/jeweler.rake +0 -14
  76. data/lib/tasks/rspec.rake +0 -144
  77. data/public/404.html +0 -30
  78. data/public/422.html +0 -30
  79. data/public/500.html +0 -30
  80. data/public/blank.html +0 -33
  81. data/public/favicon.ico +0 -0
  82. data/public/images/active_scaffold/DO_NOT_EDIT +0 -2
  83. data/public/images/active_scaffold/default/add.gif +0 -0
  84. data/public/images/active_scaffold/default/arrow_down.gif +0 -0
  85. data/public/images/active_scaffold/default/arrow_up.gif +0 -0
  86. data/public/images/active_scaffold/default/close.gif +0 -0
  87. data/public/images/active_scaffold/default/cross.png +0 -0
  88. data/public/images/active_scaffold/default/indicator-small.gif +0 -0
  89. data/public/images/active_scaffold/default/indicator.gif +0 -0
  90. data/public/images/active_scaffold/default/magnifier.png +0 -0
  91. data/public/images/rails.png +0 -0
  92. data/public/javascripts/active_scaffold/DO_NOT_EDIT +0 -2
  93. data/public/javascripts/active_scaffold/default/active_scaffold.js +0 -434
  94. data/public/javascripts/active_scaffold/default/dhtml_history.js +0 -867
  95. data/public/javascripts/active_scaffold/default/form_enhancements.js +0 -117
  96. data/public/javascripts/active_scaffold/default/rico_corner.js +0 -370
  97. data/public/javascripts/application.js +0 -2
  98. data/public/javascripts/controls.js +0 -963
  99. data/public/javascripts/csshover.htc +0 -120
  100. data/public/javascripts/dragdrop.js +0 -973
  101. data/public/javascripts/effects.js +0 -1128
  102. data/public/javascripts/prototype.js +0 -4320
  103. data/public/robots.txt +0 -5
  104. data/public/stylesheets/active_scaffold/DO_NOT_EDIT +0 -2
  105. data/public/stylesheets/active_scaffold/default/stylesheet-ie.css +0 -35
  106. data/public/stylesheets/active_scaffold/default/stylesheet.css +0 -822
  107. data/public/stylesheets/application.css +0 -189
  108. data/public/stylesheets/ie.css +0 -11
  109. data/public/stylesheets/reset.css +0 -42
  110. data/public/stylesheets/screen.css +0 -257
  111. data/script/about +0 -4
  112. data/script/autospec +0 -6
  113. data/script/console +0 -3
  114. data/script/cucumber +0 -17
  115. data/script/dbconsole +0 -3
  116. data/script/destroy +0 -3
  117. data/script/generate +0 -3
  118. data/script/performance/benchmarker +0 -3
  119. data/script/performance/profiler +0 -3
  120. data/script/plugin +0 -3
  121. data/script/runner +0 -3
  122. data/script/server +0 -3
  123. data/script/spec +0 -10
  124. data/spec/controllers/admin/partners_controller_spec.rb +0 -55
  125. data/spec/controllers/admin_controller_spec.rb +0 -29
  126. data/spec/controllers/application_controller_spec.rb +0 -36
  127. data/spec/controllers/authentication_controller_spec.rb +0 -120
  128. data/spec/controllers/confirmation_controller_spec.rb +0 -36
  129. data/spec/controllers/fetch_password_controller_spec.rb +0 -155
  130. data/spec/controllers/home_controller_spec.rb +0 -15
  131. data/spec/controllers/partner_sessions_controller_spec.rb +0 -84
  132. data/spec/controllers/partners_controller_spec.rb +0 -132
  133. data/spec/factories/partners.rb +0 -14
  134. data/spec/models/partner_mailer_spec.rb +0 -47
  135. data/spec/models/partner_spec.rb +0 -155
  136. data/spec/rcov.opts +0 -1
  137. data/vendor/gems/authlogic-2.1.3/.gitignore +0 -9
  138. data/vendor/gems/authlogic-2.1.3/CHANGELOG.rdoc +0 -345
  139. data/vendor/gems/authlogic-2.1.3/LICENSE +0 -20
  140. data/vendor/gems/authlogic-2.1.3/README.rdoc +0 -246
  141. data/vendor/gems/authlogic-2.1.3/Rakefile +0 -42
  142. data/vendor/gems/authlogic-2.1.3/VERSION.yml +0 -5
  143. data/vendor/gems/authlogic-2.1.3/authlogic.gemspec +0 -217
  144. data/vendor/gems/authlogic-2.1.3/generators/session/session_generator.rb +0 -9
  145. data/vendor/gems/authlogic-2.1.3/generators/session/templates/session.rb +0 -2
  146. data/vendor/gems/authlogic-2.1.3/init.rb +0 -1
  147. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/base.rb +0 -107
  148. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/email.rb +0 -110
  149. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/logged_in_status.rb +0 -60
  150. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/login.rb +0 -141
  151. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/magic_columns.rb +0 -24
  152. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/password.rb +0 -344
  153. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/perishable_token.rb +0 -105
  154. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/persistence_token.rb +0 -68
  155. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/restful_authentication.rb +0 -61
  156. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/session_maintenance.rb +0 -139
  157. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/single_access_token.rb +0 -65
  158. data/vendor/gems/authlogic-2.1.3/lib/authlogic/acts_as_authentic/validations_scope.rb +0 -32
  159. data/vendor/gems/authlogic-2.1.3/lib/authlogic/authenticates_many/association.rb +0 -42
  160. data/vendor/gems/authlogic-2.1.3/lib/authlogic/authenticates_many/base.rb +0 -55
  161. data/vendor/gems/authlogic-2.1.3/lib/authlogic/controller_adapters/abstract_adapter.rb +0 -67
  162. data/vendor/gems/authlogic-2.1.3/lib/authlogic/controller_adapters/merb_adapter.rb +0 -30
  163. data/vendor/gems/authlogic-2.1.3/lib/authlogic/controller_adapters/rails_adapter.rb +0 -48
  164. data/vendor/gems/authlogic-2.1.3/lib/authlogic/controller_adapters/sinatra_adapter.rb +0 -61
  165. data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/aes256.rb +0 -43
  166. data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/bcrypt.rb +0 -90
  167. data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/md5.rb +0 -34
  168. data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/sha1.rb +0 -35
  169. data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/sha256.rb +0 -50
  170. data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/sha512.rb +0 -50
  171. data/vendor/gems/authlogic-2.1.3/lib/authlogic/crypto_providers/wordpress.rb +0 -43
  172. data/vendor/gems/authlogic-2.1.3/lib/authlogic/i18n/translator.rb +0 -15
  173. data/vendor/gems/authlogic-2.1.3/lib/authlogic/i18n.rb +0 -83
  174. data/vendor/gems/authlogic-2.1.3/lib/authlogic/random.rb +0 -33
  175. data/vendor/gems/authlogic-2.1.3/lib/authlogic/regex.rb +0 -25
  176. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/activation.rb +0 -58
  177. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/active_record_trickery.rb +0 -61
  178. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/base.rb +0 -37
  179. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/brute_force_protection.rb +0 -96
  180. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/callbacks.rb +0 -88
  181. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/cookies.rb +0 -130
  182. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/existence.rb +0 -93
  183. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/foundation.rb +0 -63
  184. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/http_auth.rb +0 -58
  185. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/id.rb +0 -41
  186. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/klass.rb +0 -78
  187. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/magic_columns.rb +0 -95
  188. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/magic_states.rb +0 -59
  189. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/params.rb +0 -101
  190. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/password.rb +0 -240
  191. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/perishable_token.rb +0 -18
  192. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/persistence.rb +0 -70
  193. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/priority_record.rb +0 -34
  194. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/scopes.rb +0 -101
  195. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/session.rb +0 -62
  196. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/timeout.rb +0 -82
  197. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/unauthorized_record.rb +0 -50
  198. data/vendor/gems/authlogic-2.1.3/lib/authlogic/session/validation.rb +0 -82
  199. data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case/mock_controller.rb +0 -45
  200. data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case/mock_cookie_jar.rb +0 -14
  201. data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case/mock_logger.rb +0 -10
  202. data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case/mock_request.rb +0 -19
  203. data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case/rails_request_adapter.rb +0 -30
  204. data/vendor/gems/authlogic-2.1.3/lib/authlogic/test_case.rb +0 -120
  205. data/vendor/gems/authlogic-2.1.3/lib/authlogic.rb +0 -57
  206. data/vendor/gems/authlogic-2.1.3/rails/init.rb +0 -1
  207. data/vendor/gems/authlogic-2.1.3/shoulda_macros/authlogic.rb +0 -69
  208. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/base_test.rb +0 -18
  209. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/email_test.rb +0 -97
  210. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/logged_in_status_test.rb +0 -36
  211. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/login_test.rb +0 -109
  212. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/magic_columns_test.rb +0 -27
  213. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/password_test.rb +0 -236
  214. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/perishable_token_test.rb +0 -90
  215. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/persistence_token_test.rb +0 -55
  216. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/restful_authentication_test.rb +0 -40
  217. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/session_maintenance_test.rb +0 -84
  218. data/vendor/gems/authlogic-2.1.3/test/acts_as_authentic_test/single_access_test.rb +0 -44
  219. data/vendor/gems/authlogic-2.1.3/test/authenticates_many_test.rb +0 -16
  220. data/vendor/gems/authlogic-2.1.3/test/crypto_provider_test/aes256_test.rb +0 -14
  221. data/vendor/gems/authlogic-2.1.3/test/crypto_provider_test/bcrypt_test.rb +0 -14
  222. data/vendor/gems/authlogic-2.1.3/test/crypto_provider_test/sha1_test.rb +0 -23
  223. data/vendor/gems/authlogic-2.1.3/test/crypto_provider_test/sha256_test.rb +0 -14
  224. data/vendor/gems/authlogic-2.1.3/test/crypto_provider_test/sha512_test.rb +0 -14
  225. data/vendor/gems/authlogic-2.1.3/test/fixtures/companies.yml +0 -5
  226. data/vendor/gems/authlogic-2.1.3/test/fixtures/employees.yml +0 -17
  227. data/vendor/gems/authlogic-2.1.3/test/fixtures/projects.yml +0 -3
  228. data/vendor/gems/authlogic-2.1.3/test/fixtures/users.yml +0 -24
  229. data/vendor/gems/authlogic-2.1.3/test/i18n_test.rb +0 -33
  230. data/vendor/gems/authlogic-2.1.3/test/libs/affiliate.rb +0 -7
  231. data/vendor/gems/authlogic-2.1.3/test/libs/company.rb +0 -6
  232. data/vendor/gems/authlogic-2.1.3/test/libs/employee.rb +0 -7
  233. data/vendor/gems/authlogic-2.1.3/test/libs/employee_session.rb +0 -2
  234. data/vendor/gems/authlogic-2.1.3/test/libs/ldaper.rb +0 -3
  235. data/vendor/gems/authlogic-2.1.3/test/libs/ordered_hash.rb +0 -9
  236. data/vendor/gems/authlogic-2.1.3/test/libs/project.rb +0 -3
  237. data/vendor/gems/authlogic-2.1.3/test/libs/user.rb +0 -5
  238. data/vendor/gems/authlogic-2.1.3/test/libs/user_session.rb +0 -6
  239. data/vendor/gems/authlogic-2.1.3/test/random_test.rb +0 -49
  240. data/vendor/gems/authlogic-2.1.3/test/session_test/activation_test.rb +0 -43
  241. data/vendor/gems/authlogic-2.1.3/test/session_test/active_record_trickery_test.rb +0 -36
  242. data/vendor/gems/authlogic-2.1.3/test/session_test/brute_force_protection_test.rb +0 -101
  243. data/vendor/gems/authlogic-2.1.3/test/session_test/callbacks_test.rb +0 -6
  244. data/vendor/gems/authlogic-2.1.3/test/session_test/cookies_test.rb +0 -112
  245. data/vendor/gems/authlogic-2.1.3/test/session_test/credentials_test.rb +0 -0
  246. data/vendor/gems/authlogic-2.1.3/test/session_test/existence_test.rb +0 -64
  247. data/vendor/gems/authlogic-2.1.3/test/session_test/http_auth_test.rb +0 -28
  248. data/vendor/gems/authlogic-2.1.3/test/session_test/id_test.rb +0 -17
  249. data/vendor/gems/authlogic-2.1.3/test/session_test/klass_test.rb +0 -40
  250. data/vendor/gems/authlogic-2.1.3/test/session_test/magic_columns_test.rb +0 -62
  251. data/vendor/gems/authlogic-2.1.3/test/session_test/magic_states_test.rb +0 -60
  252. data/vendor/gems/authlogic-2.1.3/test/session_test/params_test.rb +0 -53
  253. data/vendor/gems/authlogic-2.1.3/test/session_test/password_test.rb +0 -106
  254. data/vendor/gems/authlogic-2.1.3/test/session_test/perishability_test.rb +0 -15
  255. data/vendor/gems/authlogic-2.1.3/test/session_test/persistence_test.rb +0 -21
  256. data/vendor/gems/authlogic-2.1.3/test/session_test/scopes_test.rb +0 -60
  257. data/vendor/gems/authlogic-2.1.3/test/session_test/session_test.rb +0 -59
  258. data/vendor/gems/authlogic-2.1.3/test/session_test/timeout_test.rb +0 -52
  259. data/vendor/gems/authlogic-2.1.3/test/session_test/unauthorized_record_test.rb +0 -13
  260. data/vendor/gems/authlogic-2.1.3/test/session_test/validation_test.rb +0 -23
  261. data/vendor/gems/authlogic-2.1.3/test/test_helper.rb +0 -182
  262. data/vendor/gems/factory_girl-1.2.3/.specification +0 -121
  263. data/vendor/gems/factory_girl-1.2.3/CONTRIBUTION_GUIDELINES.rdoc +0 -9
  264. data/vendor/gems/factory_girl-1.2.3/Changelog +0 -29
  265. data/vendor/gems/factory_girl-1.2.3/LICENSE +0 -19
  266. data/vendor/gems/factory_girl-1.2.3/README.rdoc +0 -228
  267. data/vendor/gems/factory_girl-1.2.3/Rakefile +0 -81
  268. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/aliases.rb +0 -50
  269. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/attribute/association.rb +0 -20
  270. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/attribute/callback.rb +0 -16
  271. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/attribute/dynamic.rb +0 -20
  272. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/attribute/static.rb +0 -17
  273. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/attribute.rb +0 -29
  274. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/factory.rb +0 -395
  275. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/proxy/attributes_for.rb +0 -21
  276. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/proxy/build.rb +0 -30
  277. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/proxy/create.rb +0 -12
  278. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/proxy/stub.rb +0 -50
  279. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/proxy.rb +0 -79
  280. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/sequence.rb +0 -63
  281. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/step_definitions.rb +0 -54
  282. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/syntax/blueprint.rb +0 -42
  283. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/syntax/generate.rb +0 -68
  284. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/syntax/make.rb +0 -39
  285. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/syntax/sham.rb +0 -42
  286. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl/syntax.rb +0 -12
  287. data/vendor/gems/factory_girl-1.2.3/lib/factory_girl.rb +0 -35
  288. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/aliases_spec.rb +0 -29
  289. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/attribute/association_spec.rb +0 -29
  290. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/attribute/callback_spec.rb +0 -23
  291. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/attribute/dynamic_spec.rb +0 -49
  292. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/attribute/static_spec.rb +0 -29
  293. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/attribute_spec.rb +0 -30
  294. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/factory_spec.rb +0 -571
  295. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/proxy/attributes_for_spec.rb +0 -52
  296. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/proxy/build_spec.rb +0 -81
  297. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/proxy/create_spec.rb +0 -94
  298. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/proxy/stub_spec.rb +0 -79
  299. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/proxy_spec.rb +0 -84
  300. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/sequence_spec.rb +0 -66
  301. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/syntax/blueprint_spec.rb +0 -34
  302. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/syntax/generate_spec.rb +0 -57
  303. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/syntax/make_spec.rb +0 -35
  304. data/vendor/gems/factory_girl-1.2.3/spec/factory_girl/syntax/sham_spec.rb +0 -35
  305. data/vendor/gems/factory_girl-1.2.3/spec/integration_spec.rb +0 -304
  306. data/vendor/gems/factory_girl-1.2.3/spec/models.rb +0 -43
  307. data/vendor/gems/factory_girl-1.2.3/spec/spec_helper.rb +0 -18
  308. data/vendor/gems/paperclip-2.3.1.1/.specification +0 -161
  309. data/vendor/gems/paperclip-2.3.1.1/LICENSE +0 -26
  310. data/vendor/gems/paperclip-2.3.1.1/README.rdoc +0 -174
  311. data/vendor/gems/paperclip-2.3.1.1/Rakefile +0 -103
  312. data/vendor/gems/paperclip-2.3.1.1/generators/paperclip/USAGE +0 -5
  313. data/vendor/gems/paperclip-2.3.1.1/generators/paperclip/paperclip_generator.rb +0 -27
  314. data/vendor/gems/paperclip-2.3.1.1/generators/paperclip/templates/paperclip_migration.rb.erb +0 -19
  315. data/vendor/gems/paperclip-2.3.1.1/init.rb +0 -1
  316. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/attachment.rb +0 -414
  317. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/callback_compatability.rb +0 -33
  318. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/geometry.rb +0 -115
  319. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/interpolations.rb +0 -108
  320. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/iostream.rb +0 -58
  321. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/matchers/have_attached_file_matcher.rb +0 -49
  322. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/matchers/validate_attachment_content_type_matcher.rb +0 -66
  323. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/matchers/validate_attachment_presence_matcher.rb +0 -48
  324. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/matchers/validate_attachment_size_matcher.rb +0 -83
  325. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/matchers.rb +0 -4
  326. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/processor.rb +0 -49
  327. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/storage.rb +0 -243
  328. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/thumbnail.rb +0 -73
  329. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip/upfile.rb +0 -49
  330. data/vendor/gems/paperclip-2.3.1.1/lib/paperclip.rb +0 -353
  331. data/vendor/gems/paperclip-2.3.1.1/shoulda_macros/paperclip.rb +0 -117
  332. data/vendor/gems/paperclip-2.3.1.1/tasks/paperclip_tasks.rake +0 -79
  333. data/vendor/gems/paperclip-2.3.1.1/test/attachment_test.rb +0 -780
  334. data/vendor/gems/paperclip-2.3.1.1/test/database.yml +0 -4
  335. data/vendor/gems/paperclip-2.3.1.1/test/fixtures/12k.png +0 -0
  336. data/vendor/gems/paperclip-2.3.1.1/test/fixtures/50x50.png +0 -0
  337. data/vendor/gems/paperclip-2.3.1.1/test/fixtures/5k.png +0 -0
  338. data/vendor/gems/paperclip-2.3.1.1/test/fixtures/bad.png +0 -1
  339. data/vendor/gems/paperclip-2.3.1.1/test/fixtures/s3.yml +0 -8
  340. data/vendor/gems/paperclip-2.3.1.1/test/fixtures/text.txt +0 -0
  341. data/vendor/gems/paperclip-2.3.1.1/test/fixtures/twopage.pdf +0 -0
  342. data/vendor/gems/paperclip-2.3.1.1/test/geometry_test.rb +0 -177
  343. data/vendor/gems/paperclip-2.3.1.1/test/helper.rb +0 -108
  344. data/vendor/gems/paperclip-2.3.1.1/test/integration_test.rb +0 -483
  345. data/vendor/gems/paperclip-2.3.1.1/test/interpolations_test.rb +0 -124
  346. data/vendor/gems/paperclip-2.3.1.1/test/iostream_test.rb +0 -71
  347. data/vendor/gems/paperclip-2.3.1.1/test/matchers/have_attached_file_matcher_test.rb +0 -21
  348. data/vendor/gems/paperclip-2.3.1.1/test/matchers/validate_attachment_content_type_matcher_test.rb +0 -30
  349. data/vendor/gems/paperclip-2.3.1.1/test/matchers/validate_attachment_presence_matcher_test.rb +0 -21
  350. data/vendor/gems/paperclip-2.3.1.1/test/matchers/validate_attachment_size_matcher_test.rb +0 -50
  351. data/vendor/gems/paperclip-2.3.1.1/test/paperclip_test.rb +0 -327
  352. data/vendor/gems/paperclip-2.3.1.1/test/processor_test.rb +0 -10
  353. data/vendor/gems/paperclip-2.3.1.1/test/storage_test.rb +0 -303
  354. data/vendor/gems/paperclip-2.3.1.1/test/thumbnail_test.rb +0 -227
  355. data/vendor/gems/paperclip-2.3.1.1/test/upfile_test.rb +0 -28
  356. data/vendor/gems/shoulda-2.10.2/.specification +0 -224
  357. data/vendor/gems/shoulda-2.10.2/CONTRIBUTION_GUIDELINES.rdoc +0 -10
  358. data/vendor/gems/shoulda-2.10.2/MIT-LICENSE +0 -22
  359. data/vendor/gems/shoulda-2.10.2/README.rdoc +0 -171
  360. data/vendor/gems/shoulda-2.10.2/Rakefile +0 -72
  361. data/vendor/gems/shoulda-2.10.2/bin/convert_to_should_syntax +0 -42
  362. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/macros.rb +0 -240
  363. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/assign_to_matcher.rb +0 -109
  364. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/filter_param_matcher.rb +0 -57
  365. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/render_with_layout_matcher.rb +0 -81
  366. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/respond_with_content_type_matcher.rb +0 -74
  367. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/respond_with_matcher.rb +0 -81
  368. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/route_matcher.rb +0 -93
  369. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/set_session_matcher.rb +0 -87
  370. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers/set_the_flash_matcher.rb +0 -85
  371. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller/matchers.rb +0 -37
  372. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_controller.rb +0 -26
  373. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_mailer/assertions.rb +0 -38
  374. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_mailer.rb +0 -10
  375. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_view/macros.rb +0 -61
  376. data/vendor/gems/shoulda-2.10.2/lib/shoulda/action_view.rb +0 -10
  377. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/assertions.rb +0 -69
  378. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/helpers.rb +0 -27
  379. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/macros.rb +0 -512
  380. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/allow_mass_assignment_of_matcher.rb +0 -83
  381. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/allow_value_matcher.rb +0 -102
  382. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/association_matcher.rb +0 -226
  383. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/ensure_inclusion_of_matcher.rb +0 -87
  384. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/ensure_length_of_matcher.rb +0 -141
  385. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/have_db_column_matcher.rb +0 -169
  386. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/have_db_index_matcher.rb +0 -112
  387. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/have_named_scope_matcher.rb +0 -128
  388. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/have_readonly_attribute_matcher.rb +0 -59
  389. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validate_acceptance_of_matcher.rb +0 -41
  390. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validate_format_of_matcher.rb +0 -67
  391. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validate_numericality_of_matcher.rb +0 -39
  392. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validate_presence_of_matcher.rb +0 -60
  393. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validate_uniqueness_of_matcher.rb +0 -148
  394. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers/validation_matcher.rb +0 -57
  395. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record/matchers.rb +0 -43
  396. data/vendor/gems/shoulda-2.10.2/lib/shoulda/active_record.rb +0 -16
  397. data/vendor/gems/shoulda-2.10.2/lib/shoulda/assertions.rb +0 -71
  398. data/vendor/gems/shoulda-2.10.2/lib/shoulda/autoload_macros.rb +0 -46
  399. data/vendor/gems/shoulda-2.10.2/lib/shoulda/context.rb +0 -402
  400. data/vendor/gems/shoulda-2.10.2/lib/shoulda/helpers.rb +0 -8
  401. data/vendor/gems/shoulda-2.10.2/lib/shoulda/macros.rb +0 -133
  402. data/vendor/gems/shoulda-2.10.2/lib/shoulda/private_helpers.rb +0 -13
  403. data/vendor/gems/shoulda-2.10.2/lib/shoulda/proc_extensions.rb +0 -14
  404. data/vendor/gems/shoulda-2.10.2/lib/shoulda/rails.rb +0 -13
  405. data/vendor/gems/shoulda-2.10.2/lib/shoulda/rspec.rb +0 -11
  406. data/vendor/gems/shoulda-2.10.2/lib/shoulda/tasks/list_tests.rake +0 -29
  407. data/vendor/gems/shoulda-2.10.2/lib/shoulda/tasks/yaml_to_shoulda.rake +0 -28
  408. data/vendor/gems/shoulda-2.10.2/lib/shoulda/tasks.rb +0 -3
  409. data/vendor/gems/shoulda-2.10.2/lib/shoulda/test_unit.rb +0 -22
  410. data/vendor/gems/shoulda-2.10.2/lib/shoulda.rb +0 -9
  411. data/vendor/gems/shoulda-2.10.2/rails/init.rb +0 -7
  412. data/vendor/gems/shoulda-2.10.2/test/README +0 -36
  413. data/vendor/gems/shoulda-2.10.2/test/fail_macros.rb +0 -39
  414. data/vendor/gems/shoulda-2.10.2/test/fixtures/addresses.yml +0 -3
  415. data/vendor/gems/shoulda-2.10.2/test/fixtures/friendships.yml +0 -0
  416. data/vendor/gems/shoulda-2.10.2/test/fixtures/posts.yml +0 -5
  417. data/vendor/gems/shoulda-2.10.2/test/fixtures/products.yml +0 -0
  418. data/vendor/gems/shoulda-2.10.2/test/fixtures/taggings.yml +0 -0
  419. data/vendor/gems/shoulda-2.10.2/test/fixtures/tags.yml +0 -9
  420. data/vendor/gems/shoulda-2.10.2/test/fixtures/users.yml +0 -6
  421. data/vendor/gems/shoulda-2.10.2/test/functional/posts_controller_test.rb +0 -121
  422. data/vendor/gems/shoulda-2.10.2/test/functional/users_controller_test.rb +0 -19
  423. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/allow_mass_assignment_of_matcher_test.rb +0 -68
  424. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/allow_value_matcher_test.rb +0 -64
  425. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/association_matcher_test.rb +0 -263
  426. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/ensure_inclusion_of_matcher_test.rb +0 -80
  427. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/ensure_length_of_matcher_test.rb +0 -158
  428. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/have_db_column_matcher_test.rb +0 -169
  429. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/have_db_index_matcher_test.rb +0 -91
  430. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/have_named_scope_matcher_test.rb +0 -65
  431. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/have_readonly_attributes_matcher_test.rb +0 -29
  432. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/validate_acceptance_of_matcher_test.rb +0 -44
  433. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/validate_format_of_matcher_test.rb +0 -39
  434. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/validate_numericality_of_matcher_test.rb +0 -52
  435. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/validate_presence_of_matcher_test.rb +0 -86
  436. data/vendor/gems/shoulda-2.10.2/test/matchers/active_record/validate_uniqueness_of_matcher_test.rb +0 -147
  437. data/vendor/gems/shoulda-2.10.2/test/matchers/controller/assign_to_matcher_test.rb +0 -35
  438. data/vendor/gems/shoulda-2.10.2/test/matchers/controller/filter_param_matcher_test.rb +0 -32
  439. data/vendor/gems/shoulda-2.10.2/test/matchers/controller/render_with_layout_matcher_test.rb +0 -33
  440. data/vendor/gems/shoulda-2.10.2/test/matchers/controller/respond_with_content_type_matcher_test.rb +0 -32
  441. data/vendor/gems/shoulda-2.10.2/test/matchers/controller/respond_with_matcher_test.rb +0 -106
  442. data/vendor/gems/shoulda-2.10.2/test/matchers/controller/route_matcher_test.rb +0 -58
  443. data/vendor/gems/shoulda-2.10.2/test/matchers/controller/set_session_matcher_test.rb +0 -38
  444. data/vendor/gems/shoulda-2.10.2/test/matchers/controller/set_the_flash_matcher.rb +0 -41
  445. data/vendor/gems/shoulda-2.10.2/test/model_builder.rb +0 -106
  446. data/vendor/gems/shoulda-2.10.2/test/other/autoload_macro_test.rb +0 -18
  447. data/vendor/gems/shoulda-2.10.2/test/other/context_test.rb +0 -189
  448. data/vendor/gems/shoulda-2.10.2/test/other/convert_to_should_syntax_test.rb +0 -63
  449. data/vendor/gems/shoulda-2.10.2/test/other/helpers_test.rb +0 -340
  450. data/vendor/gems/shoulda-2.10.2/test/other/private_helpers_test.rb +0 -32
  451. data/vendor/gems/shoulda-2.10.2/test/other/should_test.rb +0 -271
  452. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/controllers/application_controller.rb +0 -25
  453. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/controllers/posts_controller.rb +0 -87
  454. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/controllers/users_controller.rb +0 -84
  455. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/helpers/application_helper.rb +0 -3
  456. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/helpers/posts_helper.rb +0 -2
  457. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/helpers/users_helper.rb +0 -2
  458. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/address.rb +0 -7
  459. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/flea.rb +0 -3
  460. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/friendship.rb +0 -4
  461. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/pets/cat.rb +0 -7
  462. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/pets/dog.rb +0 -10
  463. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/post.rb +0 -12
  464. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/product.rb +0 -12
  465. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/profile.rb +0 -2
  466. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/registration.rb +0 -2
  467. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/tag.rb +0 -8
  468. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/tagging.rb +0 -4
  469. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/treat.rb +0 -3
  470. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/models/user.rb +0 -32
  471. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/layouts/posts.rhtml +0 -19
  472. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/layouts/users.rhtml +0 -17
  473. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/layouts/wide.html.erb +0 -1
  474. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/posts/edit.rhtml +0 -27
  475. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/posts/index.rhtml +0 -25
  476. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/posts/new.rhtml +0 -26
  477. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/posts/show.rhtml +0 -18
  478. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/users/edit.rhtml +0 -22
  479. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/users/index.rhtml +0 -22
  480. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/users/new.rhtml +0 -21
  481. data/vendor/gems/shoulda-2.10.2/test/rails_root/app/views/users/show.rhtml +0 -13
  482. data/vendor/gems/shoulda-2.10.2/test/rails_root/config/boot.rb +0 -110
  483. data/vendor/gems/shoulda-2.10.2/test/rails_root/config/database.yml +0 -4
  484. data/vendor/gems/shoulda-2.10.2/test/rails_root/config/environment.rb +0 -18
  485. data/vendor/gems/shoulda-2.10.2/test/rails_root/config/environments/test.rb +0 -0
  486. data/vendor/gems/shoulda-2.10.2/test/rails_root/config/initializers/new_rails_defaults.rb +0 -15
  487. data/vendor/gems/shoulda-2.10.2/test/rails_root/config/initializers/shoulda.rb +0 -8
  488. data/vendor/gems/shoulda-2.10.2/test/rails_root/config/routes.rb +0 -6
  489. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/001_create_users.rb +0 -19
  490. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/002_create_posts.rb +0 -13
  491. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/003_create_taggings.rb +0 -12
  492. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/004_create_tags.rb +0 -11
  493. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/005_create_dogs.rb +0 -12
  494. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/006_create_addresses.rb +0 -14
  495. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/007_create_fleas.rb +0 -11
  496. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/008_create_dogs_fleas.rb +0 -12
  497. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/009_create_products.rb +0 -17
  498. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/010_create_friendships.rb +0 -14
  499. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/011_create_treats.rb +0 -12
  500. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/20090506203502_create_profiles.rb +0 -12
  501. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/20090506203536_create_registrations.rb +0 -14
  502. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/migrate/20090513104502_create_cats.rb +0 -12
  503. data/vendor/gems/shoulda-2.10.2/test/rails_root/db/schema.rb +0 -0
  504. data/vendor/gems/shoulda-2.10.2/test/rails_root/public/404.html +0 -30
  505. data/vendor/gems/shoulda-2.10.2/test/rails_root/public/422.html +0 -30
  506. data/vendor/gems/shoulda-2.10.2/test/rails_root/public/500.html +0 -30
  507. data/vendor/gems/shoulda-2.10.2/test/rails_root/script/console +0 -3
  508. data/vendor/gems/shoulda-2.10.2/test/rails_root/script/generate +0 -3
  509. data/vendor/gems/shoulda-2.10.2/test/rails_root/test/shoulda_macros/custom_macro.rb +0 -6
  510. data/vendor/gems/shoulda-2.10.2/test/rails_root/vendor/gems/gem_with_macro-0.0.1/shoulda_macros/gem_macro.rb +0 -6
  511. data/vendor/gems/shoulda-2.10.2/test/rails_root/vendor/plugins/plugin_with_macro/shoulda_macros/plugin_macro.rb +0 -6
  512. data/vendor/gems/shoulda-2.10.2/test/rspec_test.rb +0 -207
  513. data/vendor/gems/shoulda-2.10.2/test/test_helper.rb +0 -28
  514. data/vendor/gems/shoulda-2.10.2/test/unit/address_test.rb +0 -10
  515. data/vendor/gems/shoulda-2.10.2/test/unit/cat_test.rb +0 -7
  516. data/vendor/gems/shoulda-2.10.2/test/unit/dog_test.rb +0 -9
  517. data/vendor/gems/shoulda-2.10.2/test/unit/flea_test.rb +0 -6
  518. data/vendor/gems/shoulda-2.10.2/test/unit/friendship_test.rb +0 -6
  519. data/vendor/gems/shoulda-2.10.2/test/unit/post_test.rb +0 -19
  520. data/vendor/gems/shoulda-2.10.2/test/unit/product_test.rb +0 -23
  521. data/vendor/gems/shoulda-2.10.2/test/unit/tag_test.rb +0 -15
  522. data/vendor/gems/shoulda-2.10.2/test/unit/tagging_test.rb +0 -6
  523. data/vendor/gems/shoulda-2.10.2/test/unit/user_test.rb +0 -80
  524. data/vendor/plugins/active_scaffold/.autotest +0 -27
  525. data/vendor/plugins/active_scaffold/CHANGELOG +0 -152
  526. data/vendor/plugins/active_scaffold/MIT-LICENSE +0 -20
  527. data/vendor/plugins/active_scaffold/README +0 -31
  528. data/vendor/plugins/active_scaffold/Rakefile +0 -24
  529. data/vendor/plugins/active_scaffold/environment.rb +0 -17
  530. data/vendor/plugins/active_scaffold/frontends/default/images/add.gif +0 -0
  531. data/vendor/plugins/active_scaffold/frontends/default/images/arrow_down.gif +0 -0
  532. data/vendor/plugins/active_scaffold/frontends/default/images/arrow_up.gif +0 -0
  533. data/vendor/plugins/active_scaffold/frontends/default/images/close.gif +0 -0
  534. data/vendor/plugins/active_scaffold/frontends/default/images/cross.png +0 -0
  535. data/vendor/plugins/active_scaffold/frontends/default/images/indicator-small.gif +0 -0
  536. data/vendor/plugins/active_scaffold/frontends/default/images/indicator.gif +0 -0
  537. data/vendor/plugins/active_scaffold/frontends/default/images/magnifier.png +0 -0
  538. data/vendor/plugins/active_scaffold/frontends/default/javascripts/active_scaffold.js +0 -434
  539. data/vendor/plugins/active_scaffold/frontends/default/javascripts/dhtml_history.js +0 -867
  540. data/vendor/plugins/active_scaffold/frontends/default/javascripts/form_enhancements.js +0 -117
  541. data/vendor/plugins/active_scaffold/frontends/default/javascripts/rico_corner.js +0 -370
  542. data/vendor/plugins/active_scaffold/frontends/default/stylesheets/stylesheet-ie.css +0 -35
  543. data/vendor/plugins/active_scaffold/frontends/default/stylesheets/stylesheet.css +0 -822
  544. data/vendor/plugins/active_scaffold/frontends/default/views/_add_existing_form.html.erb +0 -40
  545. data/vendor/plugins/active_scaffold/frontends/default/views/_create_form.html.erb +0 -51
  546. data/vendor/plugins/active_scaffold/frontends/default/views/_create_form_on_list.html.erb +0 -38
  547. data/vendor/plugins/active_scaffold/frontends/default/views/_field_search.html.erb +0 -45
  548. data/vendor/plugins/active_scaffold/frontends/default/views/_form.html.erb +0 -18
  549. data/vendor/plugins/active_scaffold/frontends/default/views/_form_association.html.erb +0 -20
  550. data/vendor/plugins/active_scaffold/frontends/default/views/_form_association_footer.html.erb +0 -42
  551. data/vendor/plugins/active_scaffold/frontends/default/views/_form_attribute.html.erb +0 -12
  552. data/vendor/plugins/active_scaffold/frontends/default/views/_form_hidden_attribute.html.erb +0 -1
  553. data/vendor/plugins/active_scaffold/frontends/default/views/_form_messages.html.erb +0 -5
  554. data/vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform.html.erb +0 -19
  555. data/vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform_header.html.erb +0 -10
  556. data/vendor/plugins/active_scaffold/frontends/default/views/_horizontal_subform_record.html.erb +0 -29
  557. data/vendor/plugins/active_scaffold/frontends/default/views/_list.html.erb +0 -37
  558. data/vendor/plugins/active_scaffold/frontends/default/views/_list_actions.html.erb +0 -13
  559. data/vendor/plugins/active_scaffold/frontends/default/views/_list_calculations.html.erb +0 -22
  560. data/vendor/plugins/active_scaffold/frontends/default/views/_list_column_headings.html.erb +0 -32
  561. data/vendor/plugins/active_scaffold/frontends/default/views/_list_header.html.erb +0 -14
  562. data/vendor/plugins/active_scaffold/frontends/default/views/_list_inline_adapter.html.erb +0 -9
  563. data/vendor/plugins/active_scaffold/frontends/default/views/_list_pagination_links.html.erb +0 -30
  564. data/vendor/plugins/active_scaffold/frontends/default/views/_list_record.html.erb +0 -36
  565. data/vendor/plugins/active_scaffold/frontends/default/views/_live_search.html.erb +0 -23
  566. data/vendor/plugins/active_scaffold/frontends/default/views/_messages.html.erb +0 -10
  567. data/vendor/plugins/active_scaffold/frontends/default/views/_nested.html.erb +0 -44
  568. data/vendor/plugins/active_scaffold/frontends/default/views/_search.html.erb +0 -20
  569. data/vendor/plugins/active_scaffold/frontends/default/views/_show.html.erb +0 -8
  570. data/vendor/plugins/active_scaffold/frontends/default/views/_show_columns.html.erb +0 -12
  571. data/vendor/plugins/active_scaffold/frontends/default/views/_update_actions.html.erb +0 -9
  572. data/vendor/plugins/active_scaffold/frontends/default/views/_update_form.html.erb +0 -55
  573. data/vendor/plugins/active_scaffold/frontends/default/views/_vertical_subform.html.erb +0 -12
  574. data/vendor/plugins/active_scaffold/frontends/default/views/_vertical_subform_record.html.erb +0 -31
  575. data/vendor/plugins/active_scaffold/frontends/default/views/add_existing.js.rjs +0 -16
  576. data/vendor/plugins/active_scaffold/frontends/default/views/add_existing_form.html.erb +0 -5
  577. data/vendor/plugins/active_scaffold/frontends/default/views/create.html.erb +0 -5
  578. data/vendor/plugins/active_scaffold/frontends/default/views/delete.html.erb +0 -13
  579. data/vendor/plugins/active_scaffold/frontends/default/views/destroy.js.rjs +0 -10
  580. data/vendor/plugins/active_scaffold/frontends/default/views/edit_associated.js.rjs +0 -14
  581. data/vendor/plugins/active_scaffold/frontends/default/views/field_search.html.erb +0 -5
  582. data/vendor/plugins/active_scaffold/frontends/default/views/form_messages.js.rjs +0 -1
  583. data/vendor/plugins/active_scaffold/frontends/default/views/form_messages_on_create.js.rjs +0 -2
  584. data/vendor/plugins/active_scaffold/frontends/default/views/form_messages_on_update.js.rjs +0 -2
  585. data/vendor/plugins/active_scaffold/frontends/default/views/list.html.erb +0 -48
  586. data/vendor/plugins/active_scaffold/frontends/default/views/on_create.js.rjs +0 -25
  587. data/vendor/plugins/active_scaffold/frontends/default/views/on_update.js.rjs +0 -11
  588. data/vendor/plugins/active_scaffold/frontends/default/views/render_field.js.rjs +0 -9
  589. data/vendor/plugins/active_scaffold/frontends/default/views/search.html.erb +0 -5
  590. data/vendor/plugins/active_scaffold/frontends/default/views/show.html.erb +0 -5
  591. data/vendor/plugins/active_scaffold/frontends/default/views/update.html.erb +0 -8
  592. data/vendor/plugins/active_scaffold/frontends/default/views/update_column.js.rjs +0 -12
  593. data/vendor/plugins/active_scaffold/init.rb +0 -18
  594. data/vendor/plugins/active_scaffold/install.rb +0 -39
  595. data/vendor/plugins/active_scaffold/install_assets.rb +0 -36
  596. data/vendor/plugins/active_scaffold/lib/active_record_permissions.rb +0 -128
  597. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/core.rb +0 -136
  598. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/create.rb +0 -158
  599. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/delete.rb +0 -72
  600. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/field_search.rb +0 -58
  601. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/list.rb +0 -95
  602. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/live_search.rb +0 -57
  603. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/nested.rb +0 -217
  604. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/search.rb +0 -50
  605. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/show.rb +0 -54
  606. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/subform.rb +0 -17
  607. data/vendor/plugins/active_scaffold/lib/active_scaffold/actions/update.rb +0 -126
  608. data/vendor/plugins/active_scaffold/lib/active_scaffold/attribute_params.rb +0 -192
  609. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/base.rb +0 -45
  610. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/core.rb +0 -230
  611. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/create.rb +0 -43
  612. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/delete.rb +0 -25
  613. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/field_search.rb +0 -53
  614. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/form.rb +0 -49
  615. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/list.rb +0 -134
  616. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/live_search.rb +0 -52
  617. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/nested.rb +0 -34
  618. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/search.rb +0 -52
  619. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/show.rb +0 -36
  620. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/subform.rb +0 -36
  621. data/vendor/plugins/active_scaffold/lib/active_scaffold/config/update.rb +0 -32
  622. data/vendor/plugins/active_scaffold/lib/active_scaffold/configurable.rb +0 -29
  623. data/vendor/plugins/active_scaffold/lib/active_scaffold/constraints.rb +0 -181
  624. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_columns.rb +0 -97
  625. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_link.rb +0 -140
  626. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/action_links.rb +0 -47
  627. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/actions.rb +0 -45
  628. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/column.rb +0 -311
  629. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/columns.rb +0 -75
  630. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/error_message.rb +0 -24
  631. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/set.rb +0 -62
  632. data/vendor/plugins/active_scaffold/lib/active_scaffold/data_structures/sorting.rb +0 -159
  633. data/vendor/plugins/active_scaffold/lib/active_scaffold/finder.rb +0 -216
  634. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/association_helpers.rb +0 -40
  635. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/controller_helpers.rb +0 -41
  636. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/country_helpers.rb +0 -347
  637. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/form_column_helpers.rb +0 -301
  638. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/id_helpers.rb +0 -129
  639. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/list_column_helpers.rb +0 -234
  640. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/pagination_helpers.rb +0 -39
  641. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/search_column_helpers.rb +0 -172
  642. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/show_column_helpers.rb +0 -46
  643. data/vendor/plugins/active_scaffold/lib/active_scaffold/helpers/view_helpers.rb +0 -202
  644. data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/de.rb +0 -67
  645. data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/en.rb +0 -67
  646. data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/es.yml +0 -65
  647. data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/fr.rb +0 -65
  648. data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/hu.yml +0 -62
  649. data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/ja.yml +0 -63
  650. data/vendor/plugins/active_scaffold/lib/active_scaffold/locale/ru.yml +0 -61
  651. data/vendor/plugins/active_scaffold/lib/active_scaffold.rb +0 -213
  652. data/vendor/plugins/active_scaffold/lib/bridges/bridge.rb +0 -52
  653. data/vendor/plugins/active_scaffold/lib/bridges/calendar_date_select/bridge.rb +0 -11
  654. data/vendor/plugins/active_scaffold/lib/bridges/calendar_date_select/lib/as_cds_bridge.rb +0 -86
  655. data/vendor/plugins/active_scaffold/lib/bridges/file_column/bridge.rb +0 -12
  656. data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/as_file_column_bridge.rb +0 -49
  657. data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/file_column_helpers.rb +0 -51
  658. data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/form_ui.rb +0 -32
  659. data/vendor/plugins/active_scaffold/lib/bridges/file_column/lib/list_ui.rb +0 -26
  660. data/vendor/plugins/active_scaffold/lib/bridges/file_column/test/functional/file_column_keep_test.rb +0 -43
  661. data/vendor/plugins/active_scaffold/lib/bridges/file_column/test/mock_model.rb +0 -9
  662. data/vendor/plugins/active_scaffold/lib/bridges/file_column/test/test_helper.rb +0 -15
  663. data/vendor/plugins/active_scaffold/lib/bridges/tiny_mce/bridge.rb +0 -5
  664. data/vendor/plugins/active_scaffold/lib/bridges/tiny_mce/lib/tiny_mce_bridge.rb +0 -45
  665. data/vendor/plugins/active_scaffold/lib/dhtml_confirm.rb +0 -54
  666. data/vendor/plugins/active_scaffold/lib/extensions/action_controller_rendering.rb +0 -20
  667. data/vendor/plugins/active_scaffold/lib/extensions/action_view_rendering.rb +0 -88
  668. data/vendor/plugins/active_scaffold/lib/extensions/array.rb +0 -7
  669. data/vendor/plugins/active_scaffold/lib/extensions/component_response_with_namespacing.rb +0 -17
  670. data/vendor/plugins/active_scaffold/lib/extensions/generic_view_paths.rb +0 -33
  671. data/vendor/plugins/active_scaffold/lib/extensions/localize.rb +0 -10
  672. data/vendor/plugins/active_scaffold/lib/extensions/name_option_for_datetime.rb +0 -12
  673. data/vendor/plugins/active_scaffold/lib/extensions/nil_id_in_url_params.rb +0 -7
  674. data/vendor/plugins/active_scaffold/lib/extensions/resources.rb +0 -27
  675. data/vendor/plugins/active_scaffold/lib/extensions/reverse_associations.rb +0 -56
  676. data/vendor/plugins/active_scaffold/lib/extensions/to_label.rb +0 -8
  677. data/vendor/plugins/active_scaffold/lib/extensions/unsaved_associated.rb +0 -61
  678. data/vendor/plugins/active_scaffold/lib/extensions/unsaved_record.rb +0 -20
  679. data/vendor/plugins/active_scaffold/lib/extensions/usa_state.rb +0 -46
  680. data/vendor/plugins/active_scaffold/lib/paginator.rb +0 -136
  681. data/vendor/plugins/active_scaffold/lib/responds_to_parent.rb +0 -68
  682. data/vendor/plugins/active_scaffold/public/blank.html +0 -33
  683. data/vendor/plugins/active_scaffold/uninstall.rb +0 -13
  684. data/vendor/plugins/asset_packager/CHANGELOG +0 -122
  685. data/vendor/plugins/asset_packager/README +0 -178
  686. data/vendor/plugins/asset_packager/Rakefile +0 -22
  687. data/vendor/plugins/asset_packager/about.yml +0 -8
  688. data/vendor/plugins/asset_packager/init.rb +0 -3
  689. data/vendor/plugins/asset_packager/install.rb +0 -1
  690. data/vendor/plugins/asset_packager/lib/jsmin.rb +0 -211
  691. data/vendor/plugins/asset_packager/lib/synthesis/asset_package.rb +0 -210
  692. data/vendor/plugins/asset_packager/lib/synthesis/asset_package_helper.rb +0 -39
  693. data/vendor/plugins/asset_packager/lib/tasks/asset_packager_tasks.rake +0 -23
  694. data/vendor/plugins/asset_packager/test/asset_package_helper_development_test.rb +0 -102
  695. data/vendor/plugins/asset_packager/test/asset_package_helper_production_test.rb +0 -142
  696. data/vendor/plugins/asset_packager/test/asset_packager_test.rb +0 -91
  697. data/vendor/plugins/asset_packager/test/asset_packages.yml +0 -20
  698. data/vendor/plugins/asset_packager/test/assets/javascripts/application.js +0 -2
  699. data/vendor/plugins/asset_packager/test/assets/javascripts/bar.js +0 -4
  700. data/vendor/plugins/asset_packager/test/assets/javascripts/controls.js +0 -815
  701. data/vendor/plugins/asset_packager/test/assets/javascripts/dragdrop.js +0 -913
  702. data/vendor/plugins/asset_packager/test/assets/javascripts/effects.js +0 -958
  703. data/vendor/plugins/asset_packager/test/assets/javascripts/foo.js +0 -4
  704. data/vendor/plugins/asset_packager/test/assets/javascripts/prototype.js +0 -2006
  705. data/vendor/plugins/asset_packager/test/assets/stylesheets/bar.css +0 -16
  706. data/vendor/plugins/asset_packager/test/assets/stylesheets/foo.css +0 -16
  707. data/vendor/plugins/asset_packager/test/assets/stylesheets/header.css +0 -16
  708. data/vendor/plugins/asset_packager/test/assets/stylesheets/screen.css +0 -16
  709. data/vendor/plugins/asset_packager/test/assets/stylesheets/subdir/bar.css +0 -16
  710. data/vendor/plugins/asset_packager/test/assets/stylesheets/subdir/foo.css +0 -16
  711. data/vendor/plugins/exception_notification/README +0 -111
  712. data/vendor/plugins/exception_notification/init.rb +0 -1
  713. data/vendor/plugins/exception_notification/lib/exception_notifiable.rb +0 -99
  714. data/vendor/plugins/exception_notification/lib/exception_notifier.rb +0 -66
  715. data/vendor/plugins/exception_notification/lib/exception_notifier_helper.rb +0 -78
  716. data/vendor/plugins/exception_notification/test/exception_notifier_helper_test.rb +0 -61
  717. data/vendor/plugins/exception_notification/test/test_helper.rb +0 -7
  718. data/vendor/plugins/exception_notification/views/exception_notifier/_backtrace.rhtml +0 -1
  719. data/vendor/plugins/exception_notification/views/exception_notifier/_environment.rhtml +0 -7
  720. data/vendor/plugins/exception_notification/views/exception_notifier/_inspect_model.rhtml +0 -16
  721. data/vendor/plugins/exception_notification/views/exception_notifier/_request.rhtml +0 -4
  722. data/vendor/plugins/exception_notification/views/exception_notifier/_session.rhtml +0 -2
  723. data/vendor/plugins/exception_notification/views/exception_notifier/_title.rhtml +0 -3
  724. data/vendor/plugins/exception_notification/views/exception_notifier/exception_notification.rhtml +0 -6
  725. data/vendor/plugins/required_attributes/MIT-LICENSE +0 -20
  726. data/vendor/plugins/required_attributes/README +0 -13
  727. data/vendor/plugins/required_attributes/Rakefile +0 -22
  728. data/vendor/plugins/required_attributes/init.rb +0 -1
  729. data/vendor/plugins/required_attributes/install.rb +0 -1
  730. data/vendor/plugins/required_attributes/lib/required_attributes.rb +0 -68
  731. data/vendor/plugins/required_attributes/required_attributes/MIT-LICENSE +0 -20
  732. data/vendor/plugins/required_attributes/required_attributes/README +0 -13
  733. data/vendor/plugins/required_attributes/required_attributes/Rakefile +0 -22
  734. data/vendor/plugins/required_attributes/required_attributes/init.rb +0 -1
  735. data/vendor/plugins/required_attributes/required_attributes/install.rb +0 -1
  736. data/vendor/plugins/required_attributes/required_attributes/lib/required_attributes.rb +0 -68
  737. data/vendor/plugins/required_attributes/required_attributes/tasks/required_attributes_tasks.rake +0 -4
  738. data/vendor/plugins/required_attributes/required_attributes/uninstall.rb +0 -1
  739. data/vendor/plugins/required_attributes/tasks/required_attributes_tasks.rake +0 -4
  740. data/vendor/plugins/required_attributes/uninstall.rb +0 -1
@@ -1,780 +0,0 @@
1
- # encoding: utf-8
2
- require 'test/helper'
3
-
4
- class Dummy
5
- # This is a dummy class
6
- end
7
-
8
- class AttachmentTest < Test::Unit::TestCase
9
- should "return the path based on the url by default" do
10
- @attachment = attachment :url => "/:class/:id/:basename"
11
- @model = @attachment.instance
12
- @model.id = 1234
13
- @model.avatar_file_name = "fake.jpg"
14
- assert_equal "#{RAILS_ROOT}/public/fake_models/1234/fake", @attachment.path
15
- end
16
-
17
- should "call a proc sent to check_guard" do
18
- @dummy = Dummy.new
19
- @dummy.expects(:one).returns(:one)
20
- assert_equal :one, @dummy.avatar.send(:check_guard, lambda{|x| x.one })
21
- end
22
-
23
- should "call a method name sent to check_guard" do
24
- @dummy = Dummy.new
25
- @dummy.expects(:one).returns(:one)
26
- assert_equal :one, @dummy.avatar.send(:check_guard, :one)
27
- end
28
-
29
- context "Attachment default_options" do
30
- setup do
31
- rebuild_model
32
- @old_default_options = Paperclip::Attachment.default_options.dup
33
- @new_default_options = @old_default_options.merge({
34
- :path => "argle/bargle",
35
- :url => "fooferon",
36
- :default_url => "not here.png"
37
- })
38
- end
39
-
40
- teardown do
41
- Paperclip::Attachment.default_options.merge! @old_default_options
42
- end
43
-
44
- should "be overrideable" do
45
- Paperclip::Attachment.default_options.merge!(@new_default_options)
46
- @new_default_options.keys.each do |key|
47
- assert_equal @new_default_options[key],
48
- Paperclip::Attachment.default_options[key]
49
- end
50
- end
51
-
52
- context "without an Attachment" do
53
- setup do
54
- @dummy = Dummy.new
55
- end
56
-
57
- should "return false when asked exists?" do
58
- assert !@dummy.avatar.exists?
59
- end
60
- end
61
-
62
- context "on an Attachment" do
63
- setup do
64
- @dummy = Dummy.new
65
- @attachment = @dummy.avatar
66
- end
67
-
68
- Paperclip::Attachment.default_options.keys.each do |key|
69
- should "be the default_options for #{key}" do
70
- assert_equal @old_default_options[key],
71
- @attachment.instance_variable_get("@#{key}"),
72
- key
73
- end
74
- end
75
-
76
- context "when redefined" do
77
- setup do
78
- Paperclip::Attachment.default_options.merge!(@new_default_options)
79
- @dummy = Dummy.new
80
- @attachment = @dummy.avatar
81
- end
82
-
83
- Paperclip::Attachment.default_options.keys.each do |key|
84
- should "be the new default_options for #{key}" do
85
- assert_equal @new_default_options[key],
86
- @attachment.instance_variable_get("@#{key}"),
87
- key
88
- end
89
- end
90
- end
91
- end
92
- end
93
-
94
- context "An attachment with similarly named interpolations" do
95
- setup do
96
- rebuild_model :path => ":id.omg/:id-bbq/:idwhat/:id_partition.wtf"
97
- @dummy = Dummy.new
98
- @dummy.stubs(:id).returns(1024)
99
- @file = File.new(File.join(File.dirname(__FILE__),
100
- "fixtures",
101
- "5k.png"), 'rb')
102
- @dummy.avatar = @file
103
- end
104
-
105
- teardown { @file.close }
106
-
107
- should "make sure that they are interpolated correctly" do
108
- assert_equal "1024.omg/1024-bbq/1024what/000/001/024.wtf", @dummy.avatar.path
109
- end
110
- end
111
-
112
- context "An attachment with a :rails_env interpolation" do
113
- setup do
114
- @rails_env = "blah"
115
- @id = 1024
116
- rebuild_model :path => ":rails_env/:id.png"
117
- @dummy = Dummy.new
118
- @dummy.stubs(:id).returns(@id)
119
- @file = StringIO.new(".")
120
- @dummy.avatar = @file
121
- end
122
-
123
- should "return the proper path" do
124
- temporary_rails_env(@rails_env) {
125
- assert_equal "#{@rails_env}/#{@id}.png", @dummy.avatar.path
126
- }
127
- end
128
- end
129
-
130
- context "An attachment with a default style and an extension interpolation" do
131
- setup do
132
- @attachment = attachment :path => ":basename.:extension",
133
- :styles => { :default => ["100x100", :png] },
134
- :default_style => :default
135
- @file = StringIO.new("...")
136
- @file.expects(:original_filename).returns("file.jpg")
137
- end
138
- should "return the right extension for the path" do
139
- @attachment.assign(@file)
140
- assert_equal "file.png", @attachment.path
141
- end
142
- end
143
-
144
- context "An attachment with :convert_options" do
145
- setup do
146
- rebuild_model :styles => {
147
- :thumb => "100x100",
148
- :large => "400x400"
149
- },
150
- :convert_options => {
151
- :all => "-do_stuff",
152
- :thumb => "-thumbnailize"
153
- }
154
- @dummy = Dummy.new
155
- @dummy.avatar
156
- end
157
-
158
- should "report the correct options when sent #extra_options_for(:thumb)" do
159
- assert_equal "-thumbnailize -do_stuff", @dummy.avatar.send(:extra_options_for, :thumb), @dummy.avatar.convert_options.inspect
160
- end
161
-
162
- should "report the correct options when sent #extra_options_for(:large)" do
163
- assert_equal "-do_stuff", @dummy.avatar.send(:extra_options_for, :large)
164
- end
165
-
166
- before_should "call extra_options_for(:thumb/:large)" do
167
- Paperclip::Attachment.any_instance.expects(:extra_options_for).with(:thumb)
168
- Paperclip::Attachment.any_instance.expects(:extra_options_for).with(:large)
169
- end
170
- end
171
-
172
- context "An attachment with :convert_options that is a proc" do
173
- setup do
174
- rebuild_model :styles => {
175
- :thumb => "100x100",
176
- :large => "400x400"
177
- },
178
- :convert_options => {
179
- :all => lambda{|i| i.all },
180
- :thumb => lambda{|i| i.thumb }
181
- }
182
- Dummy.class_eval do
183
- def all; "-all"; end
184
- def thumb; "-thumb"; end
185
- end
186
- @dummy = Dummy.new
187
- @dummy.avatar
188
- end
189
-
190
- should "report the correct options when sent #extra_options_for(:thumb)" do
191
- assert_equal "-thumb -all", @dummy.avatar.send(:extra_options_for, :thumb), @dummy.avatar.convert_options.inspect
192
- end
193
-
194
- should "report the correct options when sent #extra_options_for(:large)" do
195
- assert_equal "-all", @dummy.avatar.send(:extra_options_for, :large)
196
- end
197
-
198
- before_should "call extra_options_for(:thumb/:large)" do
199
- Paperclip::Attachment.any_instance.expects(:extra_options_for).with(:thumb)
200
- Paperclip::Attachment.any_instance.expects(:extra_options_for).with(:large)
201
- end
202
- end
203
-
204
- context "An attachment with :path that is a proc" do
205
- setup do
206
- rebuild_model :path => lambda{ |attachment| "path/#{attachment.instance.other}.:extension" }
207
-
208
- @file = File.new(File.join(File.dirname(__FILE__),
209
- "fixtures",
210
- "5k.png"), 'rb')
211
- @dummyA = Dummy.new(:other => 'a')
212
- @dummyA.avatar = @file
213
- @dummyB = Dummy.new(:other => 'b')
214
- @dummyB.avatar = @file
215
- end
216
-
217
- teardown { @file.close }
218
-
219
- should "return correct path" do
220
- assert_equal "path/a.png", @dummyA.avatar.path
221
- assert_equal "path/b.png", @dummyB.avatar.path
222
- end
223
- end
224
-
225
- context "An attachment with :styles that is a proc" do
226
- setup do
227
- rebuild_model :styles => lambda{ |attachment| {:thumb => "50x50#", :large => "400x400"} }
228
-
229
- @attachment = Dummy.new.avatar
230
- end
231
-
232
- should "have the correct geometry" do
233
- assert_equal "50x50#", @attachment.styles[:thumb][:geometry]
234
- end
235
- end
236
-
237
- context "An attachment with :url that is a proc" do
238
- setup do
239
- rebuild_model :url => lambda{ |attachment| "path/#{attachment.instance.other}.:extension" }
240
-
241
- @file = File.new(File.join(File.dirname(__FILE__),
242
- "fixtures",
243
- "5k.png"), 'rb')
244
- @dummyA = Dummy.new(:other => 'a')
245
- @dummyA.avatar = @file
246
- @dummyB = Dummy.new(:other => 'b')
247
- @dummyB.avatar = @file
248
- end
249
-
250
- teardown { @file.close }
251
-
252
- should "return correct url" do
253
- assert_equal "path/a.png", @dummyA.avatar.url(:original, false)
254
- assert_equal "path/b.png", @dummyB.avatar.url(:original, false)
255
- end
256
- end
257
-
258
- geometry_specs = [
259
- [ lambda{|z| "50x50#" }, :png ],
260
- lambda{|z| "50x50#" },
261
- { :geometry => lambda{|z| "50x50#" } }
262
- ]
263
- geometry_specs.each do |geometry_spec|
264
- context "An attachment geometry like #{geometry_spec}" do
265
- setup do
266
- rebuild_model :styles => { :normal => geometry_spec }
267
- @attachment = Dummy.new.avatar
268
- end
269
-
270
- should "not run the procs immediately" do
271
- assert_kind_of Proc, @attachment.styles[:normal][:geometry]
272
- end
273
-
274
- context "when assigned" do
275
- setup do
276
- @file = StringIO.new(".")
277
- @attachment.assign(@file)
278
- end
279
-
280
- should "have the correct geometry" do
281
- assert_equal "50x50#", @attachment.styles[:normal][:geometry]
282
- end
283
- end
284
- end
285
- end
286
-
287
- context "An attachment with both 'normal' and hash-style styles" do
288
- setup do
289
- rebuild_model :styles => {
290
- :normal => ["50x50#", :png],
291
- :hash => { :geometry => "50x50#", :format => :png }
292
- }
293
- @dummy = Dummy.new
294
- @attachment = @dummy.avatar
295
- end
296
-
297
- [:processors, :whiny, :convert_options, :geometry, :format].each do |field|
298
- should "have the same #{field} field" do
299
- assert_equal @attachment.styles[:normal][field], @attachment.styles[:hash][field]
300
- end
301
- end
302
- end
303
-
304
- context "An attachment with :processors that is a proc" do
305
- setup do
306
- rebuild_model :styles => { :normal => '' }, :processors => lambda { |a| [ :test ] }
307
- @attachment = Dummy.new.avatar
308
- end
309
-
310
- should "not run the proc immediately" do
311
- assert_kind_of Proc, @attachment.styles[:normal][:processors]
312
- end
313
-
314
- context "when assigned" do
315
- setup do
316
- @attachment.assign(StringIO.new("."))
317
- end
318
-
319
- should "have the correct processors" do
320
- assert_equal [ :test ], @attachment.styles[:normal][:processors]
321
- end
322
- end
323
- end
324
-
325
- context "An attachment with erroring processor" do
326
- setup do
327
- rebuild_model :processor => [:thumbnail], :styles => { :small => '' }, :whiny_thumbnails => true
328
- @dummy = Dummy.new
329
- Paperclip::Thumbnail.expects(:make).raises(Paperclip::PaperclipError, "cannot be processed.")
330
- @file = StringIO.new("...")
331
- @file.stubs(:to_tempfile).returns(@file)
332
- @dummy.avatar = @file
333
- end
334
-
335
- should "correctly forward processing error message to the instance" do
336
- @dummy.valid?
337
- assert_contains @dummy.errors.full_messages, "Avatar cannot be processed."
338
- end
339
- end
340
-
341
- context "An attachment with multiple processors" do
342
- setup do
343
- class Paperclip::Test < Paperclip::Processor; end
344
- @style_params = { :once => {:one => 1, :two => 2} }
345
- rebuild_model :processors => [:thumbnail, :test], :styles => @style_params
346
- @dummy = Dummy.new
347
- @file = StringIO.new("...")
348
- @file.stubs(:to_tempfile).returns(@file)
349
- Paperclip::Test.stubs(:make).returns(@file)
350
- Paperclip::Thumbnail.stubs(:make).returns(@file)
351
- end
352
-
353
- context "when assigned" do
354
- setup { @dummy.avatar = @file }
355
-
356
- before_should "call #make on all specified processors" do
357
- expected_params = @style_params[:once].merge({:processors => [:thumbnail, :test], :whiny => true, :convert_options => ""})
358
- Paperclip::Thumbnail.expects(:make).with(@file, expected_params, @dummy.avatar).returns(@file)
359
- Paperclip::Test.expects(:make).with(@file, expected_params, @dummy.avatar).returns(@file)
360
- end
361
-
362
- before_should "call #make with attachment passed as third argument" do
363
- expected_params = @style_params[:once].merge({:processors => [:thumbnail, :test], :whiny => true, :convert_options => ""})
364
- Paperclip::Test.expects(:make).with(@file, expected_params, @dummy.avatar).returns(@file)
365
- end
366
- end
367
- end
368
-
369
- context "An attachment with no processors defined" do
370
- setup do
371
- rebuild_model :processors => [], :styles => {:something => 1}
372
- @dummy = Dummy.new
373
- @file = StringIO.new("...")
374
- end
375
- should "raise when assigned to" do
376
- assert_raises(RuntimeError){ @dummy.avatar = @file }
377
- end
378
- end
379
-
380
- context "Assigning an attachment with post_process hooks" do
381
- setup do
382
- rebuild_model :styles => { :something => "100x100#" }
383
- Dummy.class_eval do
384
- before_avatar_post_process :do_before_avatar
385
- after_avatar_post_process :do_after_avatar
386
- before_post_process :do_before_all
387
- after_post_process :do_after_all
388
- def do_before_avatar; end
389
- def do_after_avatar; end
390
- def do_before_all; end
391
- def do_after_all; end
392
- end
393
- @file = StringIO.new(".")
394
- @file.stubs(:to_tempfile).returns(@file)
395
- @dummy = Dummy.new
396
- Paperclip::Thumbnail.stubs(:make).returns(@file)
397
- @attachment = @dummy.avatar
398
- end
399
-
400
- should "call the defined callbacks when assigned" do
401
- @dummy.expects(:do_before_avatar).with()
402
- @dummy.expects(:do_after_avatar).with()
403
- @dummy.expects(:do_before_all).with()
404
- @dummy.expects(:do_after_all).with()
405
- Paperclip::Thumbnail.expects(:make).returns(@file)
406
- @dummy.avatar = @file
407
- end
408
-
409
- should "not cancel the processing if a before_post_process returns nil" do
410
- @dummy.expects(:do_before_avatar).with().returns(nil)
411
- @dummy.expects(:do_after_avatar).with()
412
- @dummy.expects(:do_before_all).with().returns(nil)
413
- @dummy.expects(:do_after_all).with()
414
- Paperclip::Thumbnail.expects(:make).returns(@file)
415
- @dummy.avatar = @file
416
- end
417
-
418
- should "cancel the processing if a before_post_process returns false" do
419
- @dummy.expects(:do_before_avatar).never
420
- @dummy.expects(:do_after_avatar).never
421
- @dummy.expects(:do_before_all).with().returns(false)
422
- @dummy.expects(:do_after_all).never
423
- Paperclip::Thumbnail.expects(:make).never
424
- @dummy.avatar = @file
425
- end
426
-
427
- should "cancel the processing if a before_avatar_post_process returns false" do
428
- @dummy.expects(:do_before_avatar).with().returns(false)
429
- @dummy.expects(:do_after_avatar).never
430
- @dummy.expects(:do_before_all).with().returns(true)
431
- @dummy.expects(:do_after_all).never
432
- Paperclip::Thumbnail.expects(:make).never
433
- @dummy.avatar = @file
434
- end
435
- end
436
-
437
- context "Assigning an attachment" do
438
- setup do
439
- rebuild_model :styles => { :something => "100x100#" }
440
- @file = StringIO.new(".")
441
- @file.expects(:original_filename).returns("5k.png\n\n")
442
- @file.expects(:content_type).returns("image/png\n\n")
443
- @file.stubs(:to_tempfile).returns(@file)
444
- @dummy = Dummy.new
445
- Paperclip::Thumbnail.expects(:make).returns(@file)
446
- @dummy.expects(:run_callbacks).with(:before_avatar_post_process, {:original => @file})
447
- @dummy.expects(:run_callbacks).with(:before_post_process, {:original => @file})
448
- @dummy.expects(:run_callbacks).with(:after_avatar_post_process, {:original => @file, :something => @file})
449
- @dummy.expects(:run_callbacks).with(:after_post_process, {:original => @file, :something => @file})
450
- @attachment = @dummy.avatar
451
- @dummy.avatar = @file
452
- end
453
-
454
- should "strip whitespace from original_filename field" do
455
- assert_equal "5k.png", @dummy.avatar.original_filename
456
- end
457
-
458
- should "strip whitespace from content_type field" do
459
- assert_equal "image/png", @dummy.avatar.instance.avatar_content_type
460
- end
461
- end
462
-
463
- context "Attachment with strange letters" do
464
- setup do
465
- rebuild_model
466
-
467
- @not_file = mock
468
- @tempfile = mock
469
- @not_file.stubs(:nil?).returns(false)
470
- @not_file.expects(:size).returns(10)
471
- @tempfile.expects(:size).returns(10)
472
- @not_file.expects(:to_tempfile).returns(@tempfile)
473
- @not_file.expects(:original_filename).returns("sheep_say_bæ.png\r\n")
474
- @not_file.expects(:content_type).returns("image/png\r\n")
475
-
476
- @dummy = Dummy.new
477
- @attachment = @dummy.avatar
478
- @attachment.expects(:valid_assignment?).with(@not_file).returns(true)
479
- @attachment.expects(:queue_existing_for_delete)
480
- @attachment.expects(:post_process)
481
- @attachment.expects(:valid?).returns(true)
482
- @attachment.expects(:validate)
483
- @dummy.avatar = @not_file
484
- end
485
-
486
- should "remove strange letters and replace with underscore (_)" do
487
- assert_equal "sheep_say_b_.png", @dummy.avatar.original_filename
488
- end
489
-
490
- end
491
-
492
- context "An attachment" do
493
- setup do
494
- @old_defaults = Paperclip::Attachment.default_options.dup
495
- Paperclip::Attachment.default_options.merge!({
496
- :path => ":rails_root/tmp/:attachment/:class/:style/:id/:basename.:extension"
497
- })
498
- FileUtils.rm_rf("tmp")
499
- rebuild_model
500
- @instance = Dummy.new
501
- @attachment = Paperclip::Attachment.new(:avatar, @instance)
502
- @file = File.new(File.join(File.dirname(__FILE__), "fixtures", "5k.png"), 'rb')
503
- end
504
-
505
- teardown do
506
- @file.close
507
- Paperclip::Attachment.default_options.merge!(@old_defaults)
508
- end
509
-
510
- should "raise if there are not the correct columns when you try to assign" do
511
- @other_attachment = Paperclip::Attachment.new(:not_here, @instance)
512
- assert_raises(Paperclip::PaperclipError) do
513
- @other_attachment.assign(@file)
514
- end
515
- end
516
-
517
- should "return its default_url when no file assigned" do
518
- assert @attachment.to_file.nil?
519
- assert_equal "/avatars/original/missing.png", @attachment.url
520
- assert_equal "/avatars/blah/missing.png", @attachment.url(:blah)
521
- end
522
-
523
- should "return nil as path when no file assigned" do
524
- assert @attachment.to_file.nil?
525
- assert_equal nil, @attachment.path
526
- assert_equal nil, @attachment.path(:blah)
527
- end
528
-
529
- context "with a file assigned in the database" do
530
- setup do
531
- @attachment.stubs(:instance_read).with(:file_name).returns("5k.png")
532
- @attachment.stubs(:instance_read).with(:content_type).returns("image/png")
533
- @attachment.stubs(:instance_read).with(:file_size).returns(12345)
534
- dtnow = DateTime.now
535
- @now = Time.now
536
- Time.stubs(:now).returns(@now)
537
- @attachment.stubs(:instance_read).with(:updated_at).returns(dtnow)
538
- end
539
-
540
- should "return a correct url even if the file does not exist" do
541
- assert_nil @attachment.to_file
542
- assert_match %r{^/system/avatars/#{@instance.id}/blah/5k\.png}, @attachment.url(:blah)
543
- end
544
-
545
- should "make sure the updated_at mtime is in the url if it is defined" do
546
- assert_match %r{#{@now.to_i}$}, @attachment.url(:blah)
547
- end
548
-
549
- should "make sure the updated_at mtime is NOT in the url if false is passed to the url method" do
550
- assert_no_match %r{#{@now.to_i}$}, @attachment.url(:blah, false)
551
- end
552
-
553
- context "with the updated_at field removed" do
554
- setup do
555
- @attachment.stubs(:instance_read).with(:updated_at).returns(nil)
556
- end
557
-
558
- should "only return the url without the updated_at when sent #url" do
559
- assert_match "/avatars/#{@instance.id}/blah/5k.png", @attachment.url(:blah)
560
- end
561
- end
562
-
563
- should "return the proper path when filename has a single .'s" do
564
- assert_equal File.expand_path("./test/../tmp/avatars/dummies/original/#{@instance.id}/5k.png"), File.expand_path(@attachment.path)
565
- end
566
-
567
- should "return the proper path when filename has multiple .'s" do
568
- @attachment.stubs(:instance_read).with(:file_name).returns("5k.old.png")
569
- assert_equal File.expand_path("./test/../tmp/avatars/dummies/original/#{@instance.id}/5k.old.png"), File.expand_path(@attachment.path)
570
- end
571
-
572
- context "when expecting three styles" do
573
- setup do
574
- styles = {:styles => { :large => ["400x400", :png],
575
- :medium => ["100x100", :gif],
576
- :small => ["32x32#", :jpg]}}
577
- @attachment = Paperclip::Attachment.new(:avatar,
578
- @instance,
579
- styles)
580
- end
581
-
582
- context "and assigned a file" do
583
- setup do
584
- now = Time.now
585
- Time.stubs(:now).returns(now)
586
- @attachment.assign(@file)
587
- end
588
-
589
- should "be dirty" do
590
- assert @attachment.dirty?
591
- end
592
-
593
- context "and saved" do
594
- setup do
595
- @attachment.save
596
- end
597
-
598
- should "return the real url" do
599
- file = @attachment.to_file
600
- assert file
601
- assert_match %r{^/system/avatars/#{@instance.id}/original/5k\.png}, @attachment.url
602
- assert_match %r{^/system/avatars/#{@instance.id}/small/5k\.jpg}, @attachment.url(:small)
603
- file.close
604
- end
605
-
606
- should "commit the files to disk" do
607
- [:large, :medium, :small].each do |style|
608
- io = @attachment.to_file(style)
609
- assert File.exists?(io)
610
- assert ! io.is_a?(::Tempfile)
611
- io.close
612
- end
613
- end
614
-
615
- should "save the files as the right formats and sizes" do
616
- [[:large, 400, 61, "PNG"],
617
- [:medium, 100, 15, "GIF"],
618
- [:small, 32, 32, "JPEG"]].each do |style|
619
- cmd = %Q[identify -format "%w %h %b %m" "#{@attachment.path(style.first)}"]
620
- out = `#{cmd}`
621
- width, height, size, format = out.split(" ")
622
- assert_equal style[1].to_s, width.to_s
623
- assert_equal style[2].to_s, height.to_s
624
- assert_equal style[3].to_s, format.to_s
625
- end
626
- end
627
-
628
- should "still have its #file attribute not be nil" do
629
- assert ! (file = @attachment.to_file).nil?
630
- file.close
631
- end
632
-
633
- context "and trying to delete" do
634
- setup do
635
- @existing_names = @attachment.styles.keys.collect do |style|
636
- @attachment.path(style)
637
- end
638
- end
639
-
640
- should "delete the files after assigning nil" do
641
- @attachment.expects(:instance_write).with(:file_name, nil)
642
- @attachment.expects(:instance_write).with(:content_type, nil)
643
- @attachment.expects(:instance_write).with(:file_size, nil)
644
- @attachment.expects(:instance_write).with(:updated_at, nil)
645
- @attachment.assign nil
646
- @attachment.save
647
- @existing_names.each{|f| assert ! File.exists?(f) }
648
- end
649
-
650
- should "delete the files when you call #clear and #save" do
651
- @attachment.expects(:instance_write).with(:file_name, nil)
652
- @attachment.expects(:instance_write).with(:content_type, nil)
653
- @attachment.expects(:instance_write).with(:file_size, nil)
654
- @attachment.expects(:instance_write).with(:updated_at, nil)
655
- @attachment.clear
656
- @attachment.save
657
- @existing_names.each{|f| assert ! File.exists?(f) }
658
- end
659
-
660
- should "delete the files when you call #delete" do
661
- @attachment.expects(:instance_write).with(:file_name, nil)
662
- @attachment.expects(:instance_write).with(:content_type, nil)
663
- @attachment.expects(:instance_write).with(:file_size, nil)
664
- @attachment.expects(:instance_write).with(:updated_at, nil)
665
- @attachment.destroy
666
- @existing_names.each{|f| assert ! File.exists?(f) }
667
- end
668
- end
669
- end
670
- end
671
- end
672
-
673
- end
674
-
675
- context "when trying a nonexistant storage type" do
676
- setup do
677
- rebuild_model :storage => :not_here
678
- end
679
-
680
- should "not be able to find the module" do
681
- assert_raise(NameError){ Dummy.new.avatar }
682
- end
683
- end
684
- end
685
-
686
- context "An attachment with only a avatar_file_name column" do
687
- setup do
688
- ActiveRecord::Base.connection.create_table :dummies, :force => true do |table|
689
- table.column :avatar_file_name, :string
690
- end
691
- rebuild_class
692
- @dummy = Dummy.new
693
- @file = File.new(File.join(File.dirname(__FILE__), "fixtures", "5k.png"), 'rb')
694
- end
695
-
696
- teardown { @file.close }
697
-
698
- should "not error when assigned an attachment" do
699
- assert_nothing_raised { @dummy.avatar = @file }
700
- end
701
-
702
- should "return the time when sent #avatar_updated_at" do
703
- now = Time.now
704
- Time.stubs(:now).returns(now)
705
- @dummy.avatar = @file
706
- assert now, @dummy.avatar.updated_at
707
- end
708
-
709
- should "return nil when reloaded and sent #avatar_updated_at" do
710
- @dummy.save
711
- @dummy.reload
712
- assert_nil @dummy.avatar.updated_at
713
- end
714
-
715
- should "return the right value when sent #avatar_file_size" do
716
- @dummy.avatar = @file
717
- assert_equal @file.size, @dummy.avatar.size
718
- end
719
-
720
- context "and avatar_updated_at column" do
721
- setup do
722
- ActiveRecord::Base.connection.add_column :dummies, :avatar_updated_at, :timestamp
723
- rebuild_class
724
- @dummy = Dummy.new
725
- end
726
-
727
- should "not error when assigned an attachment" do
728
- assert_nothing_raised { @dummy.avatar = @file }
729
- end
730
-
731
- should "return the right value when sent #avatar_updated_at" do
732
- now = Time.now
733
- Time.stubs(:now).returns(now)
734
- @dummy.avatar = @file
735
- assert_equal now.to_i, @dummy.avatar.updated_at
736
- end
737
- end
738
-
739
- context "and avatar_content_type column" do
740
- setup do
741
- ActiveRecord::Base.connection.add_column :dummies, :avatar_content_type, :string
742
- rebuild_class
743
- @dummy = Dummy.new
744
- end
745
-
746
- should "not error when assigned an attachment" do
747
- assert_nothing_raised { @dummy.avatar = @file }
748
- end
749
-
750
- should "return the right value when sent #avatar_content_type" do
751
- @dummy.avatar = @file
752
- assert_equal "image/png", @dummy.avatar.content_type
753
- end
754
- end
755
-
756
- context "and avatar_file_size column" do
757
- setup do
758
- ActiveRecord::Base.connection.add_column :dummies, :avatar_file_size, :integer
759
- rebuild_class
760
- @dummy = Dummy.new
761
- end
762
-
763
- should "not error when assigned an attachment" do
764
- assert_nothing_raised { @dummy.avatar = @file }
765
- end
766
-
767
- should "return the right value when sent #avatar_file_size" do
768
- @dummy.avatar = @file
769
- assert_equal @file.size, @dummy.avatar.size
770
- end
771
-
772
- should "return the right value when saved, reloaded, and sent #avatar_file_size" do
773
- @dummy.avatar = @file
774
- @dummy.save
775
- @dummy = Dummy.find(@dummy.id)
776
- assert_equal @file.size, @dummy.avatar.size
777
- end
778
- end
779
- end
780
- end