radiant 0.6.9 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of radiant might be problematic. Click here for more details.

Files changed (2127) hide show
  1. data/CHANGELOG +105 -3
  2. data/CONTRIBUTORS +29 -0
  3. data/INSTALL +4 -2
  4. data/LICENSE +1 -1
  5. data/README +4 -0
  6. data/app/controllers/admin/abstract_model_controller.rb +4 -0
  7. data/app/controllers/admin/extensions_controller.rb +5 -0
  8. data/app/controllers/admin/layouts_controller.rb +6 -0
  9. data/app/controllers/admin/page_parts_controller.rb +9 -0
  10. data/app/controllers/admin/pages_controller.rb +56 -0
  11. data/app/controllers/admin/preferences_controller.rb +46 -0
  12. data/app/controllers/admin/references_controller.rb +7 -0
  13. data/app/controllers/admin/resource_controller.rb +180 -0
  14. data/app/controllers/admin/snippets_controller.rb +2 -0
  15. data/app/controllers/admin/users_controller.rb +21 -0
  16. data/app/controllers/admin/welcome_controller.rb +1 -1
  17. data/app/controllers/application.rb +7 -3
  18. data/app/controllers/site_controller.rb +0 -7
  19. data/app/helpers/admin/extensions_helper.rb +2 -0
  20. data/app/helpers/admin/layouts_helper.rb +2 -0
  21. data/app/helpers/admin/pages_helper.rb +59 -0
  22. data/app/helpers/admin/preferences_helper.rb +2 -0
  23. data/app/helpers/admin/references_helper.rb +42 -0
  24. data/app/helpers/admin/snippets_helper.rb +2 -0
  25. data/app/helpers/admin/users_helper.rb +8 -0
  26. data/app/helpers/application_helper.rb +12 -8
  27. data/app/models/page.rb +33 -3
  28. data/app/models/page_part.rb +5 -1
  29. data/app/models/radiant/config.rb +3 -3
  30. data/app/models/response_cache.rb +20 -12
  31. data/app/models/standard_tags.rb +285 -180
  32. data/app/models/user.rb +5 -1
  33. data/app/views/admin/extensions/index.html.haml +40 -0
  34. data/app/views/admin/layouts/_form.html.haml +36 -0
  35. data/app/views/admin/layouts/edit.html.haml +7 -0
  36. data/app/views/admin/layouts/index.html.haml +34 -0
  37. data/app/views/admin/layouts/new.html.haml +5 -0
  38. data/app/views/admin/layouts/remove.html.haml +16 -0
  39. data/app/views/admin/page_parts/_page_part.html.haml +15 -0
  40. data/app/views/admin/pages/_edit_styles.html.haml +15 -0
  41. data/app/views/admin/pages/_fields.html.haml +60 -0
  42. data/app/views/admin/pages/_meta_row.html.haml +6 -0
  43. data/app/views/admin/pages/_node.html.haml +25 -0
  44. data/app/views/admin/pages/_popups.html.haml +30 -0
  45. data/app/views/admin/pages/children.html.haml +2 -0
  46. data/app/views/admin/pages/edit.html.haml +9 -0
  47. data/app/views/admin/pages/index.html.haml +28 -0
  48. data/app/views/admin/pages/new.html.haml +9 -0
  49. data/app/views/admin/pages/remove.html.haml +21 -0
  50. data/app/views/admin/preferences/edit.html.haml +36 -0
  51. data/app/views/admin/references/_tag_reference.haml +3 -0
  52. data/app/views/admin/references/filters.js.erb +5 -0
  53. data/app/views/admin/references/tags.js.erb +5 -0
  54. data/app/views/admin/snippets/_form.html.haml +29 -0
  55. data/app/views/admin/snippets/edit.html.haml +5 -0
  56. data/app/views/admin/snippets/index.html.haml +30 -0
  57. data/app/views/admin/snippets/new.html.haml +5 -0
  58. data/app/views/admin/snippets/remove.html.haml +19 -0
  59. data/app/views/admin/users/_form.html.haml +74 -0
  60. data/app/views/admin/users/edit.html.haml +5 -0
  61. data/app/views/admin/users/index.html.haml +35 -0
  62. data/app/views/admin/users/new.html.haml +5 -0
  63. data/app/views/admin/users/remove.html.haml +18 -0
  64. data/app/views/layouts/application.html.haml +5 -5
  65. data/config/boot.rb +24 -7
  66. data/config/environment.rb +7 -3
  67. data/config/environments/development.rb +0 -1
  68. data/config/environments/test.rb +1 -5
  69. data/config/routes.rb +21 -49
  70. data/db/migrate/20081203140407_add_indexes.rb +19 -0
  71. data/db/schema.rb +10 -3
  72. data/db/templates/roasters.yml +1210 -0
  73. data/lib/generators/extension/templates/extension.rb +4 -2
  74. data/lib/generators/extension/templates/spec_helper.rb +2 -3
  75. data/lib/generators/extension/templates/tasks.rake +1 -1
  76. data/lib/generators/extension_controller/extension_controller_generator.rb +11 -3
  77. data/lib/generators/extension_controller/templates/controller.rb +0 -4
  78. data/lib/generators/extension_controller/templates/functional_test.rb +1 -7
  79. data/lib/generators/extension_controller/templates/{view.rhtml → view.html.erb} +0 -0
  80. data/lib/generators/extension_mailer/USAGE +17 -0
  81. data/lib/generators/extension_mailer/extension_mailer_generator.rb +68 -0
  82. data/lib/generators/extension_mailer/templates/fixture.erb +3 -0
  83. data/lib/generators/extension_mailer/templates/mailer.rb +15 -0
  84. data/lib/generators/extension_mailer/templates/unit_test.rb +21 -0
  85. data/lib/generators/extension_mailer/templates/view.erb +3 -0
  86. data/lib/generators/extension_migration/USAGE +34 -0
  87. data/lib/generators/extension_migration/extension_migration_generator.rb +25 -0
  88. data/lib/generators/extension_migration/templates/migration.rb +11 -0
  89. data/lib/generators/extension_model/extension_model_generator.rb +10 -2
  90. data/lib/generators/extension_model/templates/fixtures.yml +11 -3
  91. data/lib/generators/extension_model/templates/migration.rb +4 -1
  92. data/lib/generators/extension_model/templates/unit_test.rb +2 -4
  93. data/lib/generators/generator_base_extension.rb +0 -7
  94. data/lib/generators/instance/templates/instance_boot.rb +27 -7
  95. data/lib/generators/instance/templates/instance_environment.rb +1 -2
  96. data/lib/generators/instance/templates/instance_generate +2 -0
  97. data/lib/local_time.rb +2 -2
  98. data/lib/login_system.rb +18 -31
  99. data/lib/plugins/active_record_extensions/lib/active_record_extensions.rb +30 -1
  100. data/lib/plugins/extension_patches/lib/mailer_view_paths_extension.rb +1 -1
  101. data/lib/plugins/string_extensions/lib/string_extensions.rb +7 -0
  102. data/lib/radiant.rb +2 -2
  103. data/lib/radiant/admin_ui.rb +41 -3
  104. data/lib/radiant/compat.rb +10 -0
  105. data/lib/radiant/extension.rb +9 -10
  106. data/lib/radiant/extension/script.rb +103 -7
  107. data/lib/radiant/extension_loader.rb +1 -1
  108. data/lib/radiant/extension_migrator.rb +77 -38
  109. data/lib/radiant/initializer.rb +13 -1
  110. data/lib/radiant/legacy_routes.rb +72 -0
  111. data/lib/radiant/resource_responses.rb +115 -0
  112. data/lib/radiant/taggable.rb +17 -0
  113. data/lib/tasks/database.rake +0 -42
  114. data/lib/tasks/extensions.rake +1 -23
  115. data/lib/tasks/framework.rake +3 -1
  116. data/lib/tasks/instance.rake +7 -10
  117. data/lib/tasks/release.rake +22 -8
  118. data/lib/tasks/rspec.rake +173 -0
  119. data/lib/tasks/undefine.rake +1 -1
  120. data/public/javascripts/admin/admin.js +14 -16
  121. data/public/javascripts/admin/sitemap.js +1 -1
  122. data/public/javascripts/controls.js +4 -6
  123. data/public/javascripts/dragdrop.js +1 -3
  124. data/public/javascripts/effects.js +1 -3
  125. data/public/javascripts/prototype.js +132 -91
  126. data/public/stylesheets/admin/main.css +13 -1
  127. data/script/autospec +5 -0
  128. data/script/dbconsole +3 -0
  129. data/script/generate +2 -2
  130. data/script/performance/request +3 -0
  131. data/script/spec +3 -10
  132. data/script/spec_server +22 -5
  133. data/spec/controllers/admin/export_controller_spec.rb +1 -1
  134. data/spec/controllers/admin/extensions_controller_spec.rb +21 -0
  135. data/spec/controllers/admin/layouts_controller_spec.rb +56 -0
  136. data/spec/controllers/admin/pages_controller_spec.rb +187 -0
  137. data/spec/controllers/admin/preferences_controller_spec.rb +38 -0
  138. data/spec/controllers/admin/references_controller_spec.rb +15 -0
  139. data/spec/controllers/admin/snippets_controller_spec.rb +51 -0
  140. data/spec/controllers/admin/users_controller_spec.rb +48 -0
  141. data/spec/controllers/admin/welcome_controller_spec.rb +2 -2
  142. data/spec/controllers/application_controller_spec.rb +7 -3
  143. data/spec/controllers/site_controller_spec.rb +5 -38
  144. data/spec/datasets/file_not_found_dataset.rb +22 -0
  145. data/spec/datasets/home_page_dataset.rb +64 -0
  146. data/spec/datasets/layouts_dataset.rb +58 -0
  147. data/spec/datasets/markup_pages_dataset.rb +13 -0
  148. data/spec/datasets/pages_dataset.rb +56 -0
  149. data/spec/datasets/pages_with_layouts_dataset.rb +10 -0
  150. data/spec/datasets/snippets_dataset.rb +38 -0
  151. data/spec/datasets/users_and_pages_dataset.rb +9 -0
  152. data/spec/datasets/users_dataset.rb +43 -0
  153. data/spec/fixtures/example_extension/README +3 -0
  154. data/spec/fixtures/example_extension/Rakefile +120 -0
  155. data/spec/fixtures/example_extension/example_extension.rb +21 -0
  156. data/spec/fixtures/example_extension/lib/tasks/example_extension_tasks.rake +28 -0
  157. data/spec/fixtures/example_extension/spec/spec.opts +6 -0
  158. data/spec/fixtures/example_extension/spec/spec_helper.rb +36 -0
  159. data/spec/generators/extension_controller_generator_spec.rb +85 -0
  160. data/spec/generators/extension_generator_spec.rb +172 -0
  161. data/spec/generators/extension_generators_spec_helper.rb +139 -0
  162. data/spec/generators/extension_mailer_generator_spec.rb +60 -0
  163. data/spec/generators/extension_migration_generator_spec.rb +21 -0
  164. data/spec/generators/extension_model_generator_spec.rb +61 -0
  165. data/spec/helpers/admin/extensions_helper_spec.rb +4 -0
  166. data/spec/helpers/admin/layouts_helper_spec.rb +4 -0
  167. data/spec/helpers/admin/node_helper_spec.rb +33 -31
  168. data/spec/helpers/admin/pages_helper_spec.rb +63 -0
  169. data/spec/helpers/admin/preferences_helper_spec.rb +11 -0
  170. data/spec/helpers/admin/regions_helper_spec.rb +16 -13
  171. data/spec/helpers/admin/snippets_helper_spec.rb +4 -0
  172. data/spec/helpers/admin/users_helper_spec.rb +11 -0
  173. data/spec/helpers/application_helper_spec.rb +75 -61
  174. data/spec/integration/admin/content_negotiation_spec.rb +27 -0
  175. data/spec/integration/admin/pages_integration_spec.rb +118 -0
  176. data/spec/integration/admin/permission_integration_spec.rb +24 -0
  177. data/spec/integration/admin/snippets_integration_spec.rb +73 -0
  178. data/spec/integration/admin/user_management_integration_spec.rb +80 -0
  179. data/spec/integration/admin/user_preferences_integration_spec.rb +19 -0
  180. data/spec/integration/page_serving_spec.rb +37 -0
  181. data/spec/lib/autotest_spec.rb +1 -1
  182. data/spec/lib/core_ext/string_ext_spec.rb +10 -0
  183. data/spec/lib/login_system_spec.rb +143 -135
  184. data/spec/lib/radiant/admin_ui_spec.rb +33 -1
  185. data/spec/lib/radiant/extension/script_spec.rb +111 -4
  186. data/spec/lib/radiant/extension_migrator_spec.rb +31 -2
  187. data/spec/lib/radiant/extension_spec.rb +5 -1
  188. data/spec/lib/radiant/legacy_routes_spec.rb +14 -0
  189. data/spec/lib/radiant/resource_responses_spec.rb +207 -0
  190. data/spec/lib/radiant/taggable_spec.rb +38 -2
  191. data/{vendor/plugins/rspec/spec → spec/matchers}/autotest_matchers.rb +0 -0
  192. data/spec/matchers/generator_matchers.rb +237 -0
  193. data/spec/matchers/login_system_matcher.rb +1 -1
  194. data/spec/matchers/render_form_errors_matcher.rb +62 -0
  195. data/spec/matchers/render_matcher.rb +2 -2
  196. data/spec/models/file_not_found_page_spec.rb +1 -1
  197. data/spec/models/layout_spec.rb +1 -1
  198. data/spec/models/page_context_spec.rb +2 -4
  199. data/spec/models/page_part_spec.rb +24 -4
  200. data/spec/models/page_spec.rb +162 -110
  201. data/spec/models/radiant/exporter_spec.rb +1 -1
  202. data/spec/models/response_cache_spec.rb +28 -1
  203. data/spec/models/snippet_spec.rb +1 -1
  204. data/spec/models/standard_tags_spec.rb +52 -8
  205. data/spec/models/user_action_observer_spec.rb +1 -1
  206. data/spec/models/user_spec.rb +3 -3
  207. data/spec/spec.opts +1 -0
  208. data/spec/spec_helper.rb +45 -2
  209. data/test/fixtures/extensions/01_basic/basic_extension.rb +1 -1
  210. data/test/fixtures/extensions/01_basic/db/migrate/200812131420_create_initial_schema.rb +10 -0
  211. data/test/fixtures/extensions/01_basic/db/migrate/200812131421_modify_initial_schema.rb +10 -0
  212. data/test/fixtures/extensions/03_upgrading/db/migrate/01_first.rb +7 -0
  213. data/test/fixtures/extensions/03_upgrading/db/migrate/02_second.rb +7 -0
  214. data/test/fixtures/extensions/03_upgrading/db/migrate/03_pending.rb +7 -0
  215. data/test/fixtures/extensions/03_upgrading/db/migrate/04_dont_run.rb +7 -0
  216. data/test/fixtures/extensions/03_upgrading/upgrading_extension.rb +2 -0
  217. data/test/fixtures/extensions/special_characters/db/migrate/001_create_initial_schema.rb +10 -0
  218. data/test/fixtures/extensions/special_characters/special_characters_extension.rb +3 -0
  219. data/test/helpers/page_test_helper.rb +3 -1
  220. data/vendor/extensions/archive/spec/datasets/archive_dataset.rb +51 -0
  221. data/vendor/extensions/archive/spec/models/archive_day_index_page_spec.rb +1 -1
  222. data/vendor/extensions/archive/spec/models/archive_month_index_page_spec.rb +1 -1
  223. data/vendor/extensions/archive/spec/models/archive_page_spec.rb +1 -1
  224. data/vendor/extensions/archive/spec/models/archive_year_index_page_spec.rb +1 -1
  225. data/vendor/extensions/archive/spec/spec_helper.rb +2 -3
  226. data/vendor/extensions/markdown_filter/lib/markdown_filter.rb +5 -4
  227. data/vendor/extensions/markdown_filter/lib/markdown_tags.rb +33 -0
  228. data/vendor/extensions/markdown_filter/lib/smarty_pants_filter.rb +0 -2
  229. data/vendor/extensions/markdown_filter/markdown_filter_extension.rb +18 -1
  230. data/vendor/extensions/markdown_filter/spec/models/markdown_filter_spec.rb +11 -4
  231. data/vendor/extensions/markdown_filter/spec/models/smarty_pants_filter_spec.rb +8 -1
  232. data/vendor/extensions/markdown_filter/spec/spec_helper.rb +2 -3
  233. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/CHANGES +0 -0
  234. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/LICENSE +0 -0
  235. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/README +0 -0
  236. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/bin/bluecloth +0 -0
  237. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/install.rb +0 -0
  238. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/lib/bluecloth.rb +0 -0
  239. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/test.rb +0 -0
  240. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/tests/00_Class.tests.rb +0 -0
  241. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/tests/05_Markdown.tests.rb +0 -0
  242. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/tests/10_Bug.tests.rb +0 -0
  243. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/tests/15_Contrib.tests.rb +0 -0
  244. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/tests/bctestcase.rb +0 -0
  245. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/tests/data/antsugar.txt +0 -0
  246. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/tests/data/ml-announce.txt +0 -0
  247. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/tests/data/re-overflow.txt +0 -0
  248. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/tests/data/re-overflow2.txt +0 -0
  249. data/vendor/{bluecloth → extensions/markdown_filter/vendor/bluecloth}/utils.rb +0 -0
  250. data/vendor/{rubypants → extensions/markdown_filter/vendor/rubypants}/README +0 -0
  251. data/vendor/{rubypants → extensions/markdown_filter/vendor/rubypants}/Rakefile +0 -0
  252. data/vendor/{rubypants → extensions/markdown_filter/vendor/rubypants}/install.rb +0 -0
  253. data/vendor/{rubypants → extensions/markdown_filter/vendor/rubypants}/rubypants.rb +0 -0
  254. data/vendor/{rubypants → extensions/markdown_filter/vendor/rubypants}/test_rubypants.rb +0 -0
  255. data/vendor/extensions/textile_filter/lib/textile_filter.rb +0 -2
  256. data/vendor/extensions/textile_filter/lib/textile_tags.rb +24 -0
  257. data/vendor/extensions/textile_filter/spec/models/textile_filter_spec.rb +9 -1
  258. data/vendor/extensions/textile_filter/spec/spec_helper.rb +2 -3
  259. data/vendor/extensions/textile_filter/textile_filter_extension.rb +3 -2
  260. data/vendor/plugins/dataset/History.txt +9 -0
  261. data/vendor/plugins/dataset/LICENSE +19 -0
  262. data/vendor/plugins/dataset/Manifest.txt +21 -0
  263. data/vendor/plugins/dataset/README.txt +111 -0
  264. data/vendor/plugins/dataset/Rakefile +20 -0
  265. data/vendor/plugins/dataset/TODO +19 -0
  266. data/vendor/plugins/dataset/lib/dataset.rb +123 -0
  267. data/vendor/plugins/dataset/lib/dataset/base.rb +157 -0
  268. data/vendor/plugins/dataset/lib/dataset/collection.rb +19 -0
  269. data/vendor/plugins/dataset/lib/dataset/database/base.rb +30 -0
  270. data/vendor/plugins/dataset/lib/dataset/database/mysql.rb +34 -0
  271. data/vendor/plugins/dataset/lib/dataset/database/postgresql.rb +34 -0
  272. data/vendor/plugins/dataset/lib/dataset/database/sqlite3.rb +32 -0
  273. data/vendor/plugins/dataset/lib/dataset/extensions/rspec.rb +21 -0
  274. data/vendor/plugins/dataset/lib/dataset/extensions/test_unit.rb +60 -0
  275. data/vendor/plugins/dataset/lib/dataset/instance_methods.rb +10 -0
  276. data/vendor/plugins/dataset/lib/dataset/load.rb +47 -0
  277. data/vendor/plugins/dataset/lib/dataset/record/fixture.rb +54 -0
  278. data/vendor/plugins/dataset/lib/dataset/record/meta.rb +42 -0
  279. data/vendor/plugins/dataset/lib/dataset/record/model.rb +41 -0
  280. data/vendor/plugins/dataset/lib/dataset/resolver.rb +110 -0
  281. data/vendor/plugins/dataset/lib/dataset/session.rb +51 -0
  282. data/vendor/plugins/dataset/lib/dataset/session_binding.rb +299 -0
  283. data/vendor/plugins/dataset/lib/dataset/version.rb +9 -0
  284. data/vendor/plugins/dataset/spec/dataset/database/base_spec.rb +21 -0
  285. data/vendor/plugins/dataset/spec/dataset/resolver_spec.rb +110 -0
  286. data/vendor/plugins/dataset/spec/dataset/rspec_spec.rb +137 -0
  287. data/vendor/plugins/dataset/spec/dataset/session_binding_spec.rb +160 -0
  288. data/vendor/plugins/dataset/spec/dataset/session_spec.rb +299 -0
  289. data/vendor/plugins/dataset/spec/dataset/test_unit_spec.rb +209 -0
  290. data/vendor/plugins/{rspec/spec/spec/runner/empty_file.txt → dataset/spec/fixtures/datasets/constant_not_defined.rb} +0 -0
  291. data/vendor/plugins/dataset/spec/fixtures/datasets/ending_with_dataset.rb +2 -0
  292. data/vendor/plugins/dataset/spec/fixtures/datasets/exact_name.rb +2 -0
  293. data/vendor/plugins/dataset/spec/fixtures/datasets/not_a_dataset_base.rb +2 -0
  294. data/vendor/plugins/dataset/spec/fixtures/more_datasets/in_another_directory.rb +2 -0
  295. data/vendor/plugins/dataset/spec/models.rb +6 -0
  296. data/vendor/plugins/dataset/spec/schema.rb +24 -0
  297. data/vendor/plugins/{scenarios → dataset}/spec/spec.opts +0 -0
  298. data/vendor/plugins/dataset/spec/spec_helper.rb +49 -0
  299. data/vendor/plugins/dataset/tasks/dataset.rake +19 -0
  300. data/vendor/plugins/{scenarios → spec_integration}/LICENSE +0 -0
  301. data/vendor/plugins/spec_integration/README +117 -0
  302. data/vendor/plugins/spec_integration/Rakefile +10 -0
  303. data/vendor/plugins/spec_integration/lib/spec/integration.rb +10 -0
  304. data/vendor/plugins/spec_integration/lib/spec/integration/dsl.rb +11 -0
  305. data/vendor/plugins/spec_integration/lib/spec/integration/dsl/form.rb +157 -0
  306. data/vendor/plugins/spec_integration/lib/spec/integration/dsl/integration_example_group.rb +97 -0
  307. data/vendor/plugins/spec_integration/lib/spec/integration/dsl/navigation.rb +102 -0
  308. data/vendor/plugins/spec_integration/lib/spec/integration/extensions.rb +8 -0
  309. data/vendor/plugins/spec_integration/lib/spec/integration/extensions/action_controller.rb +25 -0
  310. data/vendor/plugins/spec_integration/lib/spec/integration/extensions/hash.rb +48 -0
  311. data/vendor/plugins/spec_integration/lib/spec/integration/matchers.rb +1 -0
  312. data/vendor/plugins/spec_integration/lib/spec/integration/matchers/display_object.rb +41 -0
  313. data/vendor/plugins/spec_integration/lib/spec/integration/matchers/have_link_to.rb +35 -0
  314. data/vendor/plugins/spec_integration/lib/spec/integration/matchers/navigate_successfully.rb +60 -0
  315. data/vendor/plugins/spec_integration/lib/spec/integration/matchers/showing.rb +44 -0
  316. data/vendor/plugins/spec_integration/spec/application.rb +3 -0
  317. data/vendor/plugins/spec_integration/spec/dispatcher.rb +24 -0
  318. data/vendor/plugins/spec_integration/spec/dsl/form_spec.rb +130 -0
  319. data/vendor/plugins/spec_integration/spec/dsl/integration_spec_spec.rb +38 -0
  320. data/vendor/plugins/spec_integration/spec/dsl/navigation_spec.rb +35 -0
  321. data/vendor/plugins/spec_integration/spec/integration_dsl_controller.rb +5 -0
  322. data/vendor/plugins/spec_integration/spec/spec.opts +7 -0
  323. data/vendor/plugins/spec_integration/spec/spec_helper.rb +10 -0
  324. data/vendor/plugins/spec_integration/tasks/integration.rake +14 -0
  325. data/vendor/plugins/vizres/CHANGELOG +15 -0
  326. data/vendor/plugins/vizres/MIT-LICENSE +16 -0
  327. data/vendor/plugins/vizres/README +80 -0
  328. data/vendor/plugins/vizres/Rakefile +22 -0
  329. data/vendor/plugins/vizres/init.rb +1 -0
  330. data/vendor/plugins/vizres/lib/vizres.rb +33 -0
  331. data/vendor/plugins/vizres/lib/vizres/browser.rb +36 -0
  332. data/vendor/plugins/vizres/lib/vizres/scm.rb +27 -0
  333. data/vendor/plugins/vizres/test/vizres/browser_test.rb +76 -0
  334. data/vendor/plugins/vizres/test/vizres/scm_test.rb +41 -0
  335. data/vendor/plugins/vizres/test/vizres_test.rb +55 -0
  336. data/vendor/plugins/vizres/vizres.gemspec +26 -0
  337. data/vendor/rails/actionmailer/CHANGELOG +21 -0
  338. data/vendor/rails/actionmailer/MIT-LICENSE +1 -1
  339. data/vendor/rails/actionmailer/README +14 -10
  340. data/vendor/rails/actionmailer/Rakefile +8 -4
  341. data/vendor/rails/actionmailer/lib/action_mailer.rb +1 -1
  342. data/vendor/rails/actionmailer/lib/action_mailer/adv_attr_accessor.rb +1 -1
  343. data/vendor/rails/actionmailer/lib/action_mailer/base.rb +145 -101
  344. data/vendor/rails/actionmailer/lib/action_mailer/helpers.rb +7 -7
  345. data/vendor/rails/actionmailer/lib/action_mailer/part.rb +2 -2
  346. data/vendor/rails/actionmailer/lib/action_mailer/quoting.rb +3 -1
  347. data/vendor/rails/actionmailer/lib/action_mailer/test_case.rb +15 -10
  348. data/vendor/rails/actionmailer/lib/action_mailer/vendor.rb +2 -2
  349. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail.rb +5 -0
  350. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/address.rb +426 -0
  351. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/attachments.rb +46 -0
  352. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/base64.rb +46 -0
  353. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/compat.rb +41 -0
  354. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/config.rb +67 -0
  355. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/core_extensions.rb +63 -0
  356. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/encode.rb +581 -0
  357. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/header.rb +960 -0
  358. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/index.rb +9 -0
  359. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/interface.rb +1130 -0
  360. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/loader.rb +3 -0
  361. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mail.rb +578 -0
  362. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mailbox.rb +495 -0
  363. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/main.rb +6 -0
  364. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mbox.rb +3 -0
  365. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/net.rb +248 -0
  366. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/obsolete.rb +132 -0
  367. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/parser.rb +1476 -0
  368. data/vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail-1.1.0 → tmail-1.2.3}/tmail/port.rb +0 -0
  369. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/quoting.rb +118 -0
  370. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb +58 -0
  371. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner.rb +49 -0
  372. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner_r.rb +261 -0
  373. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/stringio.rb +280 -0
  374. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/utils.rb +337 -0
  375. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/version.rb +39 -0
  376. data/vendor/rails/actionmailer/lib/action_mailer/version.rb +1 -1
  377. data/vendor/rails/actionmailer/test/abstract_unit.rb +13 -6
  378. data/vendor/rails/actionmailer/test/delivery_method_test.rb +1 -1
  379. data/vendor/rails/actionmailer/test/mail_helper_test.rb +1 -1
  380. data/vendor/rails/actionmailer/test/mail_render_test.rb +1 -1
  381. data/vendor/rails/actionmailer/test/mail_service_test.rb +50 -10
  382. data/vendor/rails/actionmailer/test/quoting_test.rb +19 -32
  383. data/vendor/rails/actionmailer/test/test_helper_test.rb +14 -2
  384. data/vendor/rails/actionmailer/test/tmail_test.rb +1 -1
  385. data/vendor/rails/actionmailer/test/url_test.rb +2 -2
  386. data/vendor/rails/actionpack/CHANGELOG +216 -0
  387. data/vendor/rails/actionpack/MIT-LICENSE +1 -1
  388. data/vendor/rails/actionpack/README +1 -1
  389. data/vendor/rails/actionpack/Rakefile +13 -8
  390. data/vendor/rails/actionpack/lib/action_controller.rb +2 -2
  391. data/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb +2 -1
  392. data/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb +8 -2
  393. data/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb +8 -5
  394. data/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb +56 -73
  395. data/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb +3 -3
  396. data/vendor/rails/actionpack/lib/action_controller/base.rb +115 -136
  397. data/vendor/rails/actionpack/lib/action_controller/benchmarking.rb +3 -3
  398. data/vendor/rails/actionpack/lib/action_controller/caching.rb +41 -652
  399. data/vendor/rails/actionpack/lib/action_controller/caching/actions.rb +144 -0
  400. data/vendor/rails/actionpack/lib/action_controller/caching/fragments.rb +138 -0
  401. data/vendor/rails/actionpack/lib/action_controller/caching/pages.rb +154 -0
  402. data/vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb +18 -0
  403. data/vendor/rails/actionpack/lib/action_controller/caching/sweeping.rb +97 -0
  404. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie.rb +28 -24
  405. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb +1 -0
  406. data/vendor/rails/actionpack/lib/action_controller/cgi_process.rb +6 -4
  407. data/vendor/rails/actionpack/lib/action_controller/components.rb +7 -6
  408. data/vendor/rails/actionpack/lib/action_controller/cookies.rb +31 -19
  409. data/vendor/rails/actionpack/lib/action_controller/dispatcher.rb +51 -84
  410. data/vendor/rails/actionpack/lib/action_controller/filters.rb +294 -419
  411. data/vendor/rails/actionpack/lib/action_controller/flash.rb +1 -6
  412. data/vendor/rails/actionpack/lib/action_controller/headers.rb +31 -0
  413. data/vendor/rails/actionpack/lib/action_controller/helpers.rb +26 -9
  414. data/vendor/rails/actionpack/lib/action_controller/http_authentication.rb +3 -5
  415. data/vendor/rails/actionpack/lib/action_controller/integration.rb +68 -15
  416. data/vendor/rails/actionpack/lib/action_controller/layout.rb +38 -54
  417. data/vendor/rails/actionpack/lib/action_controller/mime_responds.rb +7 -3
  418. data/vendor/rails/actionpack/lib/action_controller/mime_type.rb +26 -7
  419. data/vendor/rails/actionpack/lib/action_controller/mime_types.rb +1 -1
  420. data/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb +123 -20
  421. data/vendor/rails/actionpack/lib/action_controller/record_identifier.rb +30 -17
  422. data/vendor/rails/actionpack/lib/action_controller/request.rb +79 -45
  423. data/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb +48 -40
  424. data/vendor/rails/actionpack/lib/action_controller/request_profiler.rb +44 -13
  425. data/vendor/rails/actionpack/lib/action_controller/rescue.rb +24 -24
  426. data/vendor/rails/actionpack/lib/action_controller/resources.rb +66 -23
  427. data/vendor/rails/actionpack/lib/action_controller/response.rb +2 -2
  428. data/vendor/rails/actionpack/lib/action_controller/routing.rb +120 -1232
  429. data/vendor/rails/actionpack/lib/action_controller/routing/builder.rb +203 -0
  430. data/vendor/rails/actionpack/lib/action_controller/routing/optimisations.rb +120 -0
  431. data/vendor/rails/actionpack/lib/action_controller/routing/recognition_optimisation.rb +162 -0
  432. data/vendor/rails/actionpack/lib/action_controller/routing/route.rb +240 -0
  433. data/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb +436 -0
  434. data/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb +46 -0
  435. data/vendor/rails/actionpack/lib/action_controller/routing/segments.rb +283 -0
  436. data/vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb +18 -14
  437. data/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb +22 -20
  438. data/vendor/rails/actionpack/lib/action_controller/session_management.rb +10 -3
  439. data/vendor/rails/actionpack/lib/action_controller/streaming.rb +45 -31
  440. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb +5 -5
  441. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb +1 -1
  442. data/vendor/rails/actionpack/lib/action_controller/test_case.rb +41 -11
  443. data/vendor/rails/actionpack/lib/action_controller/test_process.rb +46 -40
  444. data/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb +44 -37
  445. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb +1 -1
  446. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/sanitizer.rb +2 -2
  447. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb +1 -1
  448. data/vendor/rails/actionpack/lib/action_controller/verification.rb +73 -57
  449. data/vendor/rails/actionpack/lib/action_pack.rb +1 -1
  450. data/vendor/rails/actionpack/lib/action_pack/version.rb +1 -1
  451. data/vendor/rails/actionpack/lib/action_view.rb +11 -3
  452. data/vendor/rails/actionpack/lib/action_view/base.rb +86 -381
  453. data/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb +84 -63
  454. data/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb +126 -60
  455. data/vendor/rails/actionpack/lib/action_view/helpers/atom_feed_helper.rb +50 -18
  456. data/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb +5 -3
  457. data/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb +3 -2
  458. data/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb +1 -2
  459. data/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb +107 -85
  460. data/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb +156 -78
  461. data/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb +57 -24
  462. data/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb +47 -21
  463. data/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb +4 -4
  464. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/controls.js +1 -1
  465. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/dragdrop.js +1 -1
  466. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/effects.js +1 -1
  467. data/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb +11 -4
  468. data/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb +69 -37
  469. data/vendor/rails/actionpack/lib/action_view/helpers/record_tag_helper.rb +3 -3
  470. data/vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb +23 -17
  471. data/vendor/rails/actionpack/lib/action_view/helpers/scriptaculous_helper.rb +86 -60
  472. data/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb +4 -3
  473. data/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb +153 -125
  474. data/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb +90 -41
  475. data/vendor/rails/actionpack/lib/action_view/inline_template.rb +20 -0
  476. data/vendor/rails/actionpack/lib/action_view/partial_template.rb +70 -0
  477. data/vendor/rails/actionpack/lib/action_view/partials.rb +31 -73
  478. data/vendor/rails/actionpack/lib/action_view/template.rb +127 -0
  479. data/vendor/rails/actionpack/lib/action_view/template_error.rb +18 -10
  480. data/vendor/rails/actionpack/lib/action_view/template_finder.rb +177 -0
  481. data/vendor/rails/actionpack/lib/action_view/template_handler.rb +18 -1
  482. data/vendor/rails/actionpack/lib/action_view/template_handlers/builder.rb +10 -2
  483. data/vendor/rails/actionpack/lib/action_view/template_handlers/compilable.rb +128 -0
  484. data/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb +37 -2
  485. data/vendor/rails/actionpack/lib/action_view/template_handlers/rjs.rb +14 -1
  486. data/vendor/rails/actionpack/lib/action_view/test_case.rb +58 -0
  487. data/vendor/rails/actionpack/test/abstract_unit.rb +1 -1
  488. data/vendor/rails/actionpack/test/active_record_unit.rb +3 -6
  489. data/vendor/rails/actionpack/test/activerecord/active_record_store_test.rb +2 -3
  490. data/vendor/rails/actionpack/test/activerecord/render_partial_with_record_identification_test.rb +158 -41
  491. data/vendor/rails/actionpack/test/adv_attr_test.rb +20 -0
  492. data/vendor/rails/actionpack/test/controller/action_pack_assertions_test.rb +57 -6
  493. data/vendor/rails/actionpack/test/controller/addresses_render_test.rb +1 -1
  494. data/vendor/rails/actionpack/test/controller/assert_select_test.rb +19 -7
  495. data/vendor/rails/actionpack/test/controller/base_test.rb +88 -3
  496. data/vendor/rails/actionpack/test/controller/benchmark_test.rb +1 -2
  497. data/vendor/rails/actionpack/test/controller/caching_test.rb +282 -21
  498. data/vendor/rails/actionpack/test/controller/capture_test.rb +1 -1
  499. data/vendor/rails/actionpack/test/controller/cgi_test.rb +5 -4
  500. data/vendor/rails/actionpack/test/controller/components_test.rb +1 -1
  501. data/vendor/rails/actionpack/test/controller/content_type_test.rb +2 -2
  502. data/vendor/rails/actionpack/test/controller/cookie_test.rb +13 -2
  503. data/vendor/rails/actionpack/test/controller/custom_handler_test.rb +14 -10
  504. data/vendor/rails/actionpack/test/controller/deprecation/deprecated_base_methods_test.rb +1 -1
  505. data/vendor/rails/actionpack/test/controller/dispatcher_test.rb +33 -51
  506. data/vendor/rails/actionpack/test/controller/fake_controllers.rb +17 -0
  507. data/vendor/rails/actionpack/test/controller/fake_models.rb +6 -0
  508. data/vendor/rails/actionpack/test/controller/filter_params_test.rb +14 -8
  509. data/vendor/rails/actionpack/test/controller/filters_test.rb +44 -19
  510. data/vendor/rails/actionpack/test/controller/flash_test.rb +2 -2
  511. data/vendor/rails/actionpack/test/controller/header_test.rb +14 -0
  512. data/vendor/rails/actionpack/test/controller/helper_test.rb +19 -15
  513. data/vendor/rails/actionpack/test/controller/html-scanner/document_test.rb +26 -2
  514. data/vendor/rails/actionpack/test/controller/html-scanner/node_test.rb +1 -2
  515. data/vendor/rails/actionpack/test/controller/html-scanner/sanitizer_test.rb +15 -6
  516. data/vendor/rails/actionpack/test/controller/html-scanner/tag_node_test.rb +1 -2
  517. data/vendor/rails/actionpack/test/controller/html-scanner/text_node_test.rb +2 -3
  518. data/vendor/rails/actionpack/test/controller/html-scanner/tokenizer_test.rb +8 -2
  519. data/vendor/rails/actionpack/test/controller/http_authentication_test.rb +1 -1
  520. data/vendor/rails/actionpack/test/controller/integration_test.rb +14 -17
  521. data/vendor/rails/actionpack/test/controller/integration_upload_test.rb +43 -0
  522. data/vendor/rails/actionpack/test/controller/layout_test.rb +26 -6
  523. data/vendor/rails/actionpack/test/controller/mime_responds_test.rb +39 -7
  524. data/vendor/rails/actionpack/test/controller/mime_type_test.rb +34 -5
  525. data/vendor/rails/actionpack/test/controller/new_render_test.rb +150 -37
  526. data/vendor/rails/actionpack/test/controller/polymorphic_routes_test.rb +153 -77
  527. data/vendor/rails/actionpack/test/controller/record_identifier_test.rb +38 -2
  528. data/vendor/rails/actionpack/test/controller/redirect_test.rb +32 -1
  529. data/vendor/rails/actionpack/test/controller/render_test.rb +78 -15
  530. data/vendor/rails/actionpack/test/controller/request_forgery_protection_test.rb +101 -5
  531. data/vendor/rails/actionpack/test/controller/request_test.rb +103 -11
  532. data/vendor/rails/actionpack/test/controller/rescue_test.rb +22 -6
  533. data/vendor/rails/actionpack/test/controller/resources_test.rb +117 -31
  534. data/vendor/rails/actionpack/test/controller/routing_test.rb +286 -25
  535. data/vendor/rails/actionpack/test/controller/selector_test.rb +2 -2
  536. data/vendor/rails/actionpack/test/controller/send_file_test.rb +14 -3
  537. data/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb +16 -4
  538. data/vendor/rails/actionpack/test/controller/session/mem_cache_store_test.rb +3 -4
  539. data/vendor/rails/actionpack/test/controller/session_fixation_test.rb +1 -1
  540. data/vendor/rails/actionpack/test/controller/session_management_test.rb +23 -1
  541. data/vendor/rails/actionpack/test/controller/test_test.rb +82 -10
  542. data/vendor/rails/actionpack/test/controller/url_rewriter_test.rb +69 -5
  543. data/vendor/rails/actionpack/test/controller/verification_test.rb +35 -18
  544. data/vendor/rails/actionpack/test/controller/view_paths_test.rb +15 -12
  545. data/vendor/rails/actionpack/test/controller/webservice_test.rb +48 -3
  546. data/vendor/rails/actionpack/test/fixtures/bad_customers/_bad_customer.html.erb +1 -0
  547. data/vendor/rails/actionpack/test/fixtures/company.rb +1 -0
  548. data/vendor/rails/actionpack/test/fixtures/customers/_customer.html.erb +1 -0
  549. data/vendor/rails/actionpack/test/fixtures/db_definitions/sqlite.sql +6 -0
  550. data/vendor/rails/actionpack/test/fixtures/functional_caching/_partial.erb +3 -0
  551. data/vendor/rails/actionpack/test/fixtures/functional_caching/fragment_cached.html.erb +2 -0
  552. data/vendor/rails/actionpack/test/fixtures/functional_caching/html_fragment_cached_with_partial.html.erb +1 -0
  553. data/vendor/rails/actionpack/test/fixtures/functional_caching/js_fragment_cached_with_partial.js.rjs +1 -0
  554. data/vendor/rails/actionpack/test/fixtures/good_customers/_good_customer.html.erb +1 -0
  555. data/vendor/rails/actionpack/test/fixtures/layouts/block_with_layout.erb +3 -0
  556. data/vendor/rails/actionpack/test/fixtures/layouts/partial_with_layout.erb +3 -0
  557. data/vendor/rails/actionpack/test/fixtures/mascot.rb +3 -0
  558. data/vendor/rails/actionpack/test/fixtures/mascots.yml +4 -0
  559. data/vendor/rails/actionpack/test/fixtures/mascots/_mascot.html.erb +1 -0
  560. data/vendor/rails/actionpack/test/fixtures/multipart/boundary_problem_file +10 -0
  561. data/vendor/rails/actionpack/test/fixtures/public/javascripts/application.js +1 -0
  562. data/vendor/rails/actionpack/test/fixtures/public/javascripts/controls.js +1 -0
  563. data/vendor/rails/actionpack/test/fixtures/public/javascripts/dragdrop.js +1 -0
  564. data/vendor/rails/actionpack/test/fixtures/public/javascripts/effects.js +1 -0
  565. data/vendor/rails/actionpack/test/fixtures/public/javascripts/prototype.js +1 -0
  566. data/vendor/rails/actionpack/test/fixtures/public/javascripts/version.1.0.js +1 -0
  567. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/version.1.0.css +1 -0
  568. data/vendor/rails/actionpack/test/fixtures/reply.rb +1 -0
  569. data/vendor/rails/actionpack/test/fixtures/shared.html.erb +1 -0
  570. data/vendor/rails/actionpack/test/fixtures/symlink_parent/symlinked_layout.erb +5 -0
  571. data/vendor/rails/actionpack/test/fixtures/test/_customer_counter.erb +1 -0
  572. data/vendor/rails/actionpack/test/fixtures/test/_form.erb +1 -0
  573. data/vendor/rails/actionpack/test/fixtures/test/_labelling_form.erb +1 -0
  574. data/vendor/rails/actionpack/test/fixtures/test/_raise.html.erb +1 -0
  575. data/vendor/rails/actionpack/test/fixtures/test/greeting.js.rjs +1 -0
  576. data/vendor/rails/actionpack/test/fixtures/test/render_file_from_template.html.erb +1 -0
  577. data/vendor/rails/actionpack/test/fixtures/topics/_topic.html.erb +1 -0
  578. data/vendor/rails/actionpack/test/template/active_record_helper_test.rb +25 -8
  579. data/vendor/rails/actionpack/test/template/asset_tag_helper_test.rb +117 -30
  580. data/vendor/rails/actionpack/test/template/atom_feed_helper_test.rb +81 -3
  581. data/vendor/rails/actionpack/test/template/benchmark_helper_test.rb +10 -22
  582. data/vendor/rails/actionpack/test/template/date_helper_test.rb +515 -162
  583. data/vendor/rails/actionpack/test/template/deprecated_erb_variable_test.rb +9 -0
  584. data/vendor/rails/actionpack/test/template/erb_util_test.rb +10 -42
  585. data/vendor/rails/actionpack/test/template/form_helper_test.rb +192 -66
  586. data/vendor/rails/actionpack/test/template/form_options_helper_test.rb +514 -477
  587. data/vendor/rails/actionpack/test/template/form_tag_helper_test.rb +42 -8
  588. data/vendor/rails/actionpack/test/template/javascript_helper_test.rb +10 -13
  589. data/vendor/rails/actionpack/test/template/number_helper_test.rb +7 -3
  590. data/vendor/rails/actionpack/test/template/prototype_helper_test.rb +41 -46
  591. data/vendor/rails/actionpack/test/template/record_tag_helper_test.rb +54 -0
  592. data/vendor/rails/actionpack/test/template/sanitize_helper_test.rb +5 -6
  593. data/vendor/rails/actionpack/test/template/scriptaculous_helper_test.rb +7 -13
  594. data/vendor/rails/actionpack/test/template/tag_helper_test.rb +3 -6
  595. data/vendor/rails/actionpack/test/template/template_finder_test.rb +73 -0
  596. data/vendor/rails/actionpack/test/template/template_object_test.rb +95 -0
  597. data/vendor/rails/actionpack/test/template/test_test.rb +56 -0
  598. data/vendor/rails/actionpack/test/template/text_helper_test.rb +75 -43
  599. data/vendor/rails/actionpack/test/template/url_helper_test.rb +20 -12
  600. data/vendor/rails/actionpack/test/testing_sandbox.rb +8 -4
  601. data/vendor/rails/activerecord/CHANGELOG +235 -2
  602. data/vendor/rails/activerecord/README +27 -22
  603. data/vendor/rails/activerecord/RUNNING_UNIT_TESTS +7 -4
  604. data/vendor/rails/activerecord/Rakefile +27 -26
  605. data/vendor/rails/activerecord/lib/active_record.rb +16 -12
  606. data/vendor/rails/activerecord/lib/active_record/aggregations.rb +21 -12
  607. data/vendor/rails/activerecord/lib/active_record/association_preload.rb +285 -0
  608. data/vendor/rails/activerecord/lib/active_record/associations.rb +696 -453
  609. data/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb +167 -39
  610. data/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb +73 -13
  611. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb +5 -3
  612. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb +5 -6
  613. data/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb +26 -79
  614. data/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb +19 -72
  615. data/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb +90 -120
  616. data/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb +9 -7
  617. data/vendor/rails/activerecord/lib/active_record/associations/has_one_through_association.rb +32 -0
  618. data/vendor/rails/activerecord/lib/active_record/attribute_methods.rb +73 -22
  619. data/vendor/rails/activerecord/lib/active_record/base.rb +581 -308
  620. data/vendor/rails/activerecord/lib/active_record/calculations.rb +52 -27
  621. data/vendor/rails/activerecord/lib/active_record/callbacks.rb +9 -38
  622. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb +4 -3
  623. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb +9 -4
  624. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb +6 -0
  625. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb +248 -56
  626. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +159 -37
  627. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +10 -13
  628. data/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +99 -36
  629. data/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +204 -57
  630. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +1 -1
  631. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +43 -16
  632. data/vendor/rails/activerecord/lib/active_record/dirty.rb +165 -0
  633. data/vendor/rails/activerecord/lib/active_record/fixtures.rb +144 -181
  634. data/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb +15 -11
  635. data/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb +2 -2
  636. data/vendor/rails/activerecord/lib/active_record/migration.rb +187 -81
  637. data/vendor/rails/activerecord/lib/active_record/named_scope.rb +168 -0
  638. data/vendor/rails/activerecord/lib/active_record/observer.rb +24 -8
  639. data/vendor/rails/activerecord/lib/active_record/reflection.rb +38 -14
  640. data/vendor/rails/activerecord/lib/active_record/schema.rb +7 -14
  641. data/vendor/rails/activerecord/lib/active_record/schema_dumper.rb +4 -4
  642. data/vendor/rails/activerecord/lib/active_record/serialization.rb +5 -5
  643. data/vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb +37 -28
  644. data/vendor/rails/activerecord/lib/active_record/serializers/xml_serializer.rb +52 -29
  645. data/vendor/rails/activerecord/lib/active_record/test_case.rb +47 -0
  646. data/vendor/rails/activerecord/lib/active_record/timestamp.rb +4 -4
  647. data/vendor/rails/activerecord/lib/active_record/transactions.rb +6 -8
  648. data/vendor/rails/activerecord/lib/active_record/validations.rb +201 -255
  649. data/vendor/rails/activerecord/lib/active_record/version.rb +1 -1
  650. data/vendor/rails/activerecord/test/{fixtures → assets}/example.log +0 -0
  651. data/vendor/rails/activerecord/test/{fixtures → assets}/flowers.jpg +0 -0
  652. data/vendor/rails/activerecord/test/cases/aaa_create_tables_test.rb +24 -0
  653. data/vendor/rails/activerecord/test/cases/active_schema_test_mysql.rb +95 -0
  654. data/vendor/rails/activerecord/test/cases/active_schema_test_postgresql.rb +24 -0
  655. data/vendor/rails/activerecord/test/cases/adapter_test.rb +127 -0
  656. data/vendor/rails/activerecord/test/cases/adapter_test_sqlserver.rb +95 -0
  657. data/vendor/rails/activerecord/test/cases/aggregations_test.rb +128 -0
  658. data/vendor/rails/activerecord/test/cases/ar_schema_test.rb +33 -0
  659. data/vendor/rails/activerecord/test/cases/associations/belongs_to_associations_test.rb +431 -0
  660. data/vendor/rails/activerecord/test/cases/associations/callbacks_test.rb +161 -0
  661. data/vendor/rails/activerecord/test/cases/associations/cascaded_eager_loading_test.rb +123 -0
  662. data/vendor/rails/activerecord/test/cases/associations/eager_load_includes_full_sti_class_test.rb +36 -0
  663. data/vendor/rails/activerecord/test/cases/associations/eager_load_nested_include_test.rb +83 -0
  664. data/vendor/rails/activerecord/test/cases/associations/eager_singularization_test.rb +145 -0
  665. data/vendor/rails/activerecord/test/cases/associations/eager_test.rb +643 -0
  666. data/vendor/rails/activerecord/test/cases/associations/extension_test.rb +62 -0
  667. data/vendor/rails/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb +706 -0
  668. data/vendor/rails/activerecord/test/cases/associations/has_many_associations_test.rb +1034 -0
  669. data/vendor/rails/activerecord/test/cases/associations/has_many_through_associations_test.rb +200 -0
  670. data/vendor/rails/activerecord/test/cases/associations/has_one_associations_test.rb +345 -0
  671. data/vendor/rails/activerecord/test/cases/associations/has_one_through_associations_test.rb +113 -0
  672. data/vendor/rails/activerecord/test/cases/associations/inner_join_association_test.rb +88 -0
  673. data/vendor/rails/activerecord/test/cases/associations/join_model_test.rb +714 -0
  674. data/vendor/rails/activerecord/test/cases/associations_test.rb +262 -0
  675. data/vendor/rails/activerecord/test/cases/attribute_methods_test.rb +238 -0
  676. data/vendor/rails/activerecord/test/cases/base_test.rb +2015 -0
  677. data/vendor/rails/activerecord/test/cases/binary_test.rb +34 -0
  678. data/vendor/rails/activerecord/test/cases/calculations_test.rb +323 -0
  679. data/vendor/rails/activerecord/test/cases/callbacks_test.rb +400 -0
  680. data/vendor/rails/activerecord/test/cases/class_inheritable_attributes_test.rb +32 -0
  681. data/vendor/rails/activerecord/test/cases/column_alias_test.rb +17 -0
  682. data/vendor/rails/activerecord/test/cases/column_definition_test.rb +36 -0
  683. data/vendor/rails/activerecord/test/cases/connection_test_firebird.rb +8 -0
  684. data/vendor/rails/activerecord/test/cases/connection_test_mysql.rb +30 -0
  685. data/vendor/rails/activerecord/test/cases/copy_table_test_sqlite.rb +69 -0
  686. data/vendor/rails/activerecord/test/cases/database_statements_test.rb +12 -0
  687. data/vendor/rails/activerecord/test/cases/datatype_test_postgresql.rb +203 -0
  688. data/vendor/rails/activerecord/test/cases/date_time_test.rb +37 -0
  689. data/vendor/rails/activerecord/test/cases/default_test_firebird.rb +16 -0
  690. data/vendor/rails/activerecord/test/cases/defaults_test.rb +69 -0
  691. data/vendor/rails/activerecord/test/cases/deprecated_finder_test.rb +30 -0
  692. data/vendor/rails/activerecord/test/cases/dirty_test.rb +257 -0
  693. data/vendor/rails/activerecord/test/cases/finder_respond_to_test.rb +76 -0
  694. data/vendor/rails/activerecord/test/cases/finder_test.rb +898 -0
  695. data/vendor/rails/activerecord/test/cases/fixtures_test.rb +626 -0
  696. data/vendor/rails/activerecord/test/cases/helper.rb +47 -0
  697. data/vendor/rails/activerecord/test/cases/inheritance_test.rb +262 -0
  698. data/vendor/rails/activerecord/test/cases/invalid_date_test.rb +24 -0
  699. data/vendor/rails/activerecord/test/cases/json_serialization_test.rb +205 -0
  700. data/vendor/rails/activerecord/test/cases/lifecycle_test.rb +193 -0
  701. data/vendor/rails/activerecord/test/cases/locking_test.rb +309 -0
  702. data/vendor/rails/activerecord/test/cases/method_scoping_test.rb +462 -0
  703. data/vendor/rails/activerecord/test/cases/migration_test.rb +1444 -0
  704. data/vendor/rails/activerecord/test/cases/migration_test_firebird.rb +124 -0
  705. data/vendor/rails/activerecord/test/cases/mixin_test.rb +96 -0
  706. data/vendor/rails/activerecord/test/cases/modules_test.rb +39 -0
  707. data/vendor/rails/activerecord/test/cases/multiple_db_test.rb +60 -0
  708. data/vendor/rails/activerecord/test/cases/named_scope_test.rb +206 -0
  709. data/vendor/rails/activerecord/test/cases/pk_test.rb +101 -0
  710. data/vendor/rails/activerecord/test/cases/query_cache_test.rb +127 -0
  711. data/vendor/rails/activerecord/test/cases/readonly_test.rb +107 -0
  712. data/vendor/rails/activerecord/test/cases/reflection_test.rb +176 -0
  713. data/vendor/rails/activerecord/test/cases/reserved_word_test_mysql.rb +176 -0
  714. data/vendor/rails/activerecord/test/cases/schema_authorization_test_postgresql.rb +75 -0
  715. data/vendor/rails/activerecord/test/cases/schema_dumper_test.rb +184 -0
  716. data/vendor/rails/activerecord/test/cases/schema_test_postgresql.rb +102 -0
  717. data/vendor/rails/activerecord/test/cases/serialization_test.rb +47 -0
  718. data/vendor/rails/activerecord/test/cases/synonym_test_oracle.rb +17 -0
  719. data/vendor/rails/activerecord/test/cases/table_name_test_sqlserver.rb +23 -0
  720. data/vendor/rails/activerecord/test/cases/threaded_connections_test.rb +48 -0
  721. data/vendor/rails/activerecord/test/cases/transactions_test.rb +307 -0
  722. data/vendor/rails/activerecord/test/cases/unconnected_test.rb +32 -0
  723. data/vendor/rails/activerecord/test/cases/validations_test.rb +1541 -0
  724. data/vendor/rails/activerecord/test/cases/xml_serialization_test.rb +202 -0
  725. data/vendor/rails/activerecord/test/config.rb +5 -0
  726. data/vendor/rails/activerecord/test/connections/native_db2/connection.rb +1 -1
  727. data/vendor/rails/activerecord/test/connections/native_firebird/connection.rb +1 -1
  728. data/vendor/rails/activerecord/test/connections/native_frontbase/connection.rb +1 -1
  729. data/vendor/rails/activerecord/test/connections/native_mysql/connection.rb +1 -1
  730. data/vendor/rails/activerecord/test/connections/native_openbase/connection.rb +1 -1
  731. data/vendor/rails/activerecord/test/connections/native_oracle/connection.rb +1 -1
  732. data/vendor/rails/activerecord/test/connections/native_postgresql/connection.rb +1 -3
  733. data/vendor/rails/activerecord/test/connections/native_sqlite/connection.rb +2 -2
  734. data/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb +2 -2
  735. data/vendor/rails/activerecord/test/connections/native_sqlite3/in_memory_connection.rb +3 -3
  736. data/vendor/rails/activerecord/test/connections/native_sybase/connection.rb +1 -1
  737. data/vendor/rails/activerecord/test/fixtures/author_addresses.yml +5 -0
  738. data/vendor/rails/activerecord/test/fixtures/authors.yml +2 -0
  739. data/vendor/rails/activerecord/test/fixtures/clubs.yml +6 -0
  740. data/vendor/rails/activerecord/test/fixtures/jobs.yml +7 -0
  741. data/vendor/rails/activerecord/test/fixtures/members.yml +4 -0
  742. data/vendor/rails/activerecord/test/fixtures/memberships.yml +20 -0
  743. data/vendor/rails/activerecord/test/fixtures/owners.yml +7 -0
  744. data/vendor/rails/activerecord/test/fixtures/people.yml +4 -1
  745. data/vendor/rails/activerecord/test/fixtures/pets.yml +14 -0
  746. data/vendor/rails/activerecord/test/fixtures/posts.yml +1 -0
  747. data/vendor/rails/activerecord/test/fixtures/price_estimates.yml +7 -0
  748. data/vendor/rails/activerecord/test/fixtures/readers.yml +5 -0
  749. data/vendor/rails/activerecord/test/fixtures/references.yml +17 -0
  750. data/vendor/rails/activerecord/test/fixtures/sponsors.yml +9 -0
  751. data/vendor/rails/activerecord/test/fixtures/subscribers.yml +7 -0
  752. data/vendor/rails/activerecord/test/fixtures/subscriptions.yml +12 -0
  753. data/vendor/rails/activerecord/test/fixtures/taggings.yml +4 -1
  754. data/vendor/rails/activerecord/test/fixtures/topics.yml +22 -2
  755. data/vendor/rails/activerecord/test/fixtures/warehouse-things.yml +3 -0
  756. data/vendor/rails/activerecord/test/{fixtures/migrations_with_decimal → migrations/decimal}/1_give_me_big_numbers.rb +0 -0
  757. data/vendor/rails/activerecord/test/migrations/duplicate/1_people_have_last_names.rb +9 -0
  758. data/vendor/rails/activerecord/test/migrations/duplicate/2_we_need_reminders.rb +12 -0
  759. data/vendor/rails/activerecord/test/{fixtures/migrations_with_duplicate → migrations/duplicate}/3_foo.rb +0 -0
  760. data/vendor/rails/activerecord/test/{fixtures/migrations → migrations/duplicate}/3_innocent_jointable.rb +0 -0
  761. data/vendor/rails/activerecord/test/migrations/duplicate_names/20080507052938_chunky.rb +7 -0
  762. data/vendor/rails/activerecord/test/migrations/duplicate_names/20080507053028_chunky.rb +7 -0
  763. data/vendor/rails/activerecord/test/{fixtures/migrations_with_duplicate → migrations/interleaved/pass_1}/3_innocent_jointable.rb +0 -0
  764. data/vendor/rails/activerecord/test/migrations/interleaved/pass_2/1_people_have_last_names.rb +9 -0
  765. data/vendor/rails/activerecord/test/{fixtures/migrations_with_missing_versions/4_innocent_jointable.rb → migrations/interleaved/pass_2/3_innocent_jointable.rb} +0 -0
  766. data/vendor/rails/activerecord/test/migrations/interleaved/pass_3/1_people_have_last_names.rb +9 -0
  767. data/vendor/rails/activerecord/test/migrations/interleaved/pass_3/2_i_raise_on_down.rb +8 -0
  768. data/vendor/rails/activerecord/test/migrations/interleaved/pass_3/3_innocent_jointable.rb +12 -0
  769. data/vendor/rails/activerecord/test/migrations/missing/1000_people_have_middle_names.rb +9 -0
  770. data/vendor/rails/activerecord/test/migrations/missing/1_people_have_last_names.rb +9 -0
  771. data/vendor/rails/activerecord/test/migrations/missing/3_we_need_reminders.rb +12 -0
  772. data/vendor/rails/activerecord/test/migrations/missing/4_innocent_jointable.rb +12 -0
  773. data/vendor/rails/activerecord/test/migrations/valid/1_people_have_last_names.rb +9 -0
  774. data/vendor/rails/activerecord/test/migrations/valid/2_we_need_reminders.rb +12 -0
  775. data/vendor/rails/activerecord/test/migrations/valid/3_innocent_jointable.rb +12 -0
  776. data/vendor/rails/activerecord/test/models/author.rb +137 -0
  777. data/vendor/rails/activerecord/test/{fixtures → models}/auto_id.rb +0 -0
  778. data/vendor/rails/activerecord/test/{fixtures → models}/binary.rb +0 -0
  779. data/vendor/rails/activerecord/test/{fixtures → models}/book.rb +0 -0
  780. data/vendor/rails/activerecord/test/{fixtures → models}/categorization.rb +0 -0
  781. data/vendor/rails/activerecord/test/models/category.rb +30 -0
  782. data/vendor/rails/activerecord/test/{fixtures → models}/citation.rb +0 -0
  783. data/vendor/rails/activerecord/test/models/club.rb +7 -0
  784. data/vendor/rails/activerecord/test/{fixtures → models}/column_name.rb +0 -0
  785. data/vendor/rails/activerecord/test/models/comment.rb +25 -0
  786. data/vendor/rails/activerecord/test/models/company.rb +132 -0
  787. data/vendor/rails/activerecord/test/models/company_in_module.rb +61 -0
  788. data/vendor/rails/activerecord/test/models/computer.rb +3 -0
  789. data/vendor/rails/activerecord/test/models/contact.rb +16 -0
  790. data/vendor/rails/activerecord/test/{fixtures → models}/course.rb +0 -0
  791. data/vendor/rails/activerecord/test/models/customer.rb +55 -0
  792. data/vendor/rails/activerecord/test/{fixtures → models}/default.rb +0 -0
  793. data/vendor/rails/activerecord/test/models/developer.rb +79 -0
  794. data/vendor/rails/activerecord/test/{fixtures → models}/edge.rb +0 -0
  795. data/vendor/rails/activerecord/test/{fixtures → models}/entrant.rb +0 -0
  796. data/vendor/rails/activerecord/test/models/guid.rb +2 -0
  797. data/vendor/rails/activerecord/test/{fixtures → models}/item.rb +0 -0
  798. data/vendor/rails/activerecord/test/models/job.rb +5 -0
  799. data/vendor/rails/activerecord/test/{fixtures → models}/joke.rb +0 -0
  800. data/vendor/rails/activerecord/test/{fixtures → models}/keyboard.rb +0 -0
  801. data/vendor/rails/activerecord/test/{fixtures → models}/legacy_thing.rb +0 -0
  802. data/vendor/rails/activerecord/test/{fixtures → models}/matey.rb +0 -0
  803. data/vendor/rails/activerecord/test/models/member.rb +9 -0
  804. data/vendor/rails/activerecord/test/models/membership.rb +9 -0
  805. data/vendor/rails/activerecord/test/{fixtures → models}/minimalistic.rb +0 -0
  806. data/vendor/rails/activerecord/test/{fixtures → models}/mixed_case_monkey.rb +0 -0
  807. data/vendor/rails/activerecord/test/{fixtures → models}/movie.rb +0 -0
  808. data/vendor/rails/activerecord/test/models/order.rb +4 -0
  809. data/vendor/rails/activerecord/test/models/owner.rb +4 -0
  810. data/vendor/rails/activerecord/test/{fixtures → models}/parrot.rb +0 -0
  811. data/vendor/rails/activerecord/test/models/person.rb +10 -0
  812. data/vendor/rails/activerecord/test/models/pet.rb +4 -0
  813. data/vendor/rails/activerecord/test/models/pirate.rb +9 -0
  814. data/vendor/rails/activerecord/test/models/post.rb +85 -0
  815. data/vendor/rails/activerecord/test/models/price_estimate.rb +3 -0
  816. data/vendor/rails/activerecord/test/models/project.rb +29 -0
  817. data/vendor/rails/activerecord/test/{fixtures → models}/reader.rb +0 -0
  818. data/vendor/rails/activerecord/test/models/reference.rb +4 -0
  819. data/vendor/rails/activerecord/test/models/reply.rb +39 -0
  820. data/vendor/rails/activerecord/test/{fixtures → models}/ship.rb +0 -0
  821. data/vendor/rails/activerecord/test/models/sponsor.rb +4 -0
  822. data/vendor/rails/activerecord/test/{fixtures → models}/subject.rb +0 -0
  823. data/vendor/rails/activerecord/test/models/subscriber.rb +8 -0
  824. data/vendor/rails/activerecord/test/models/subscription.rb +4 -0
  825. data/vendor/rails/activerecord/test/{fixtures → models}/tag.rb +0 -0
  826. data/vendor/rails/activerecord/test/{fixtures → models}/tagging.rb +0 -0
  827. data/vendor/rails/activerecord/test/{fixtures → models}/task.rb +0 -0
  828. data/vendor/rails/activerecord/test/models/topic.rb +66 -0
  829. data/vendor/rails/activerecord/test/models/treasure.rb +6 -0
  830. data/vendor/rails/activerecord/test/{fixtures → models}/vertex.rb +0 -0
  831. data/vendor/rails/activerecord/test/models/warehouse_thing.rb +5 -0
  832. data/vendor/rails/activerecord/test/schema/mysql_specific_schema.rb +12 -0
  833. data/vendor/rails/activerecord/test/schema/postgresql_specific_schema.rb +103 -0
  834. data/vendor/rails/activerecord/test/schema/schema.rb +429 -0
  835. data/vendor/rails/activerecord/test/schema/schema2.rb +6 -0
  836. data/vendor/rails/activerecord/test/schema/sqlite_specific_schema.rb +25 -0
  837. data/vendor/rails/activerecord/test/schema/sqlserver_specific_schema.rb +5 -0
  838. data/vendor/rails/activeresource/CHANGELOG +33 -0
  839. data/vendor/rails/activeresource/Rakefile +9 -5
  840. data/vendor/rails/activeresource/lib/active_resource.rb +1 -1
  841. data/vendor/rails/activeresource/lib/active_resource/base.rb +309 -160
  842. data/vendor/rails/activeresource/lib/active_resource/connection.rb +41 -6
  843. data/vendor/rails/activeresource/lib/active_resource/custom_methods.rb +58 -44
  844. data/vendor/rails/activeresource/lib/active_resource/formats/xml_format.rb +1 -1
  845. data/vendor/rails/activeresource/lib/active_resource/http_mock.rb +82 -12
  846. data/vendor/rails/activeresource/lib/active_resource/validations.rb +2 -2
  847. data/vendor/rails/activeresource/lib/active_resource/version.rb +1 -1
  848. data/vendor/rails/activeresource/test/abstract_unit.rb +17 -1
  849. data/vendor/rails/activeresource/test/authorization_test.rb +45 -5
  850. data/vendor/rails/activeresource/test/base/custom_methods_test.rb +6 -3
  851. data/vendor/rails/activeresource/test/base/equality_test.rb +1 -1
  852. data/vendor/rails/activeresource/test/base/load_test.rb +36 -1
  853. data/vendor/rails/activeresource/test/base_errors_test.rb +1 -1
  854. data/vendor/rails/activeresource/test/base_test.rb +422 -28
  855. data/vendor/rails/activeresource/test/connection_test.rb +22 -2
  856. data/vendor/rails/activeresource/test/fixtures/customer.rb +3 -0
  857. data/vendor/rails/activeresource/test/format_test.rb +43 -2
  858. data/vendor/rails/activeresource/test/setter_trap.rb +1 -1
  859. data/vendor/rails/activesupport/CHANGELOG +214 -2
  860. data/vendor/rails/activesupport/lib/active_support.rb +13 -1
  861. data/vendor/rails/activesupport/lib/active_support/base64.rb +22 -0
  862. data/vendor/rails/activesupport/lib/active_support/basic_object.rb +23 -4
  863. data/vendor/rails/activesupport/lib/active_support/buffered_logger.rb +17 -3
  864. data/vendor/rails/activesupport/lib/active_support/cache.rb +147 -0
  865. data/vendor/rails/activesupport/lib/active_support/cache/compressed_mem_cache_store.rb +15 -0
  866. data/vendor/rails/activesupport/lib/active_support/cache/drb_store.rb +15 -0
  867. data/vendor/rails/activesupport/lib/active_support/cache/file_store.rb +70 -0
  868. data/vendor/rails/activesupport/lib/active_support/cache/mem_cache_store.rb +100 -0
  869. data/vendor/rails/activesupport/lib/active_support/cache/memory_store.rb +38 -0
  870. data/vendor/rails/activesupport/lib/active_support/callbacks.rb +275 -0
  871. data/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb +2 -4
  872. data/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb +89 -5
  873. data/vendor/rails/activesupport/lib/active_support/core_ext/array/extract_options.rb +2 -1
  874. data/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb +3 -8
  875. data/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb +1 -1
  876. data/vendor/rails/activesupport/lib/active_support/core_ext/base64.rb +4 -0
  877. data/vendor/rails/activesupport/lib/active_support/core_ext/base64/encoding.rb +13 -0
  878. data/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb +12 -0
  879. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb +4 -0
  880. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/conversions.rb +39 -4
  881. data/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb +5 -2
  882. data/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb +7 -1
  883. data/vendor/rails/activesupport/lib/active_support/core_ext/class/delegating_attributes.rb +7 -1
  884. data/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb +1 -1
  885. data/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb +26 -0
  886. data/vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb +26 -0
  887. data/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb +28 -1
  888. data/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb +13 -4
  889. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb +2 -0
  890. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb +37 -2
  891. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb +41 -19
  892. data/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb +19 -13
  893. data/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb +8 -0
  894. data/vendor/rails/activesupport/lib/active_support/core_ext/file.rb +6 -6
  895. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb +27 -10
  896. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/except.rb +4 -3
  897. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb +35 -0
  898. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb +6 -8
  899. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb +4 -1
  900. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb +3 -1
  901. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb +10 -5
  902. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb +0 -1
  903. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb +2 -10
  904. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb +8 -0
  905. data/vendor/rails/activesupport/lib/active_support/core_ext/module.rb +5 -0
  906. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb +4 -3
  907. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb +11 -1
  908. data/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb +5 -3
  909. data/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb +19 -0
  910. data/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb +56 -16
  911. data/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb +10 -0
  912. data/vendor/rails/activesupport/lib/active_support/core_ext/module/model_naming.rb +22 -0
  913. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb +3 -1
  914. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/conversions.rb +19 -0
  915. data/vendor/rails/activesupport/lib/active_support/core_ext/object/instance_variables.rb +52 -0
  916. data/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb +1 -1
  917. data/vendor/rails/activesupport/lib/active_support/core_ext/process.rb +1 -0
  918. data/vendor/rails/activesupport/lib/active_support/core_ext/process/daemon.rb +25 -0
  919. data/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb +16 -6
  920. data/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb +5 -1
  921. data/vendor/rails/activesupport/lib/active_support/core_ext/range/include_range.rb +8 -0
  922. data/vendor/rails/activesupport/lib/active_support/core_ext/range/overlaps.rb +3 -0
  923. data/vendor/rails/activesupport/lib/active_support/core_ext/rexml.rb +36 -0
  924. data/vendor/rails/activesupport/lib/active_support/core_ext/string.rb +5 -10
  925. data/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb +72 -48
  926. data/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb +4 -4
  927. data/vendor/rails/activesupport/lib/active_support/core_ext/string/filters.rb +26 -0
  928. data/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb +58 -63
  929. data/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb +4 -0
  930. data/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb +12 -4
  931. data/vendor/rails/activesupport/lib/active_support/core_ext/string/unicode.rb +54 -30
  932. data/vendor/rails/activesupport/lib/active_support/core_ext/symbol.rb +1 -1
  933. data/vendor/rails/activesupport/lib/active_support/core_ext/test/unit/assertions.rb +5 -3
  934. data/vendor/rails/activesupport/lib/active_support/core_ext/time.rb +24 -1
  935. data/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb +75 -23
  936. data/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb +33 -38
  937. data/vendor/rails/activesupport/lib/active_support/core_ext/time/zones.rb +86 -0
  938. data/vendor/rails/activesupport/lib/active_support/dependencies.rb +418 -405
  939. data/vendor/rails/activesupport/lib/active_support/deprecation.rb +29 -10
  940. data/vendor/rails/activesupport/lib/active_support/duration.rb +4 -4
  941. data/vendor/rails/activesupport/lib/active_support/gzip.rb +25 -0
  942. data/vendor/rails/activesupport/lib/active_support/inflections.rb +51 -49
  943. data/vendor/rails/activesupport/lib/active_support/inflector.rb +267 -236
  944. data/vendor/rails/activesupport/lib/active_support/json.rb +17 -25
  945. data/vendor/rails/activesupport/lib/active_support/json/decoding.rb +9 -6
  946. data/vendor/rails/activesupport/lib/active_support/json/encoders/date.rb +11 -2
  947. data/vendor/rails/activesupport/lib/active_support/json/encoders/date_time.rb +11 -2
  948. data/vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb +2 -2
  949. data/vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb +3 -6
  950. data/vendor/rails/activesupport/lib/active_support/json/encoders/object.rb +1 -1
  951. data/vendor/rails/activesupport/lib/active_support/json/encoders/string.rb +8 -2
  952. data/vendor/rails/activesupport/lib/active_support/json/encoders/time.rb +11 -2
  953. data/vendor/rails/activesupport/lib/active_support/json/encoding.rb +0 -1
  954. data/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb +10 -14
  955. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb +11 -11
  956. data/vendor/rails/activesupport/lib/active_support/ordered_hash.rb +43 -0
  957. data/vendor/rails/activesupport/lib/active_support/ordered_options.rb +13 -43
  958. data/vendor/rails/activesupport/lib/active_support/string_inquirer.rb +11 -0
  959. data/vendor/rails/activesupport/lib/active_support/test_case.rb +10 -2
  960. data/vendor/rails/activesupport/lib/active_support/testing/default.rb +3 -6
  961. data/vendor/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb +93 -0
  962. data/vendor/rails/activesupport/lib/active_support/time_with_zone.rb +304 -0
  963. data/vendor/rails/activesupport/lib/active_support/values/time_zone.rb +378 -163
  964. data/vendor/rails/activesupport/lib/active_support/vendor.rb +12 -0
  965. data/vendor/rails/activesupport/lib/active_support/vendor/memcache-client-1.5.0/memcache.rb +849 -0
  966. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo.rb +33 -0
  967. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/data_timezone.rb +47 -0
  968. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/data_timezone_info.rb +228 -0
  969. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Africa/Algiers.rb +55 -0
  970. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Africa/Cairo.rb +219 -0
  971. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Africa/Casablanca.rb +40 -0
  972. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Africa/Harare.rb +18 -0
  973. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Africa/Johannesburg.rb +25 -0
  974. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Africa/Monrovia.rb +22 -0
  975. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Africa/Nairobi.rb +23 -0
  976. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Argentina/Buenos_Aires.rb +166 -0
  977. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Argentina/San_Juan.rb +170 -0
  978. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Bogota.rb +23 -0
  979. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Caracas.rb +23 -0
  980. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Chicago.rb +283 -0
  981. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Chihuahua.rb +136 -0
  982. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Denver.rb +204 -0
  983. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Godthab.rb +161 -0
  984. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Guatemala.rb +27 -0
  985. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Halifax.rb +274 -0
  986. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Indiana/Indianapolis.rb +149 -0
  987. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Juneau.rb +194 -0
  988. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/La_Paz.rb +22 -0
  989. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Lima.rb +35 -0
  990. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Los_Angeles.rb +232 -0
  991. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Mazatlan.rb +139 -0
  992. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Mexico_City.rb +144 -0
  993. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Monterrey.rb +131 -0
  994. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/New_York.rb +282 -0
  995. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Phoenix.rb +30 -0
  996. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Regina.rb +74 -0
  997. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Santiago.rb +205 -0
  998. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Sao_Paulo.rb +171 -0
  999. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/St_Johns.rb +288 -0
  1000. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Tijuana.rb +196 -0
  1001. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Almaty.rb +67 -0
  1002. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Baghdad.rb +73 -0
  1003. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Baku.rb +161 -0
  1004. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Bangkok.rb +20 -0
  1005. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Chongqing.rb +33 -0
  1006. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Dhaka.rb +27 -0
  1007. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Hong_Kong.rb +87 -0
  1008. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Irkutsk.rb +165 -0
  1009. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Jakarta.rb +30 -0
  1010. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Jerusalem.rb +163 -0
  1011. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Kabul.rb +20 -0
  1012. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Kamchatka.rb +163 -0
  1013. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Karachi.rb +30 -0
  1014. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Katmandu.rb +20 -0
  1015. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Kolkata.rb +25 -0
  1016. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Krasnoyarsk.rb +163 -0
  1017. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Kuala_Lumpur.rb +31 -0
  1018. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Kuwait.rb +18 -0
  1019. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Magadan.rb +163 -0
  1020. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Muscat.rb +18 -0
  1021. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Novosibirsk.rb +164 -0
  1022. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Rangoon.rb +24 -0
  1023. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Riyadh.rb +18 -0
  1024. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Seoul.rb +34 -0
  1025. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Shanghai.rb +35 -0
  1026. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Singapore.rb +33 -0
  1027. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Taipei.rb +59 -0
  1028. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Tashkent.rb +47 -0
  1029. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Tbilisi.rb +78 -0
  1030. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Tehran.rb +121 -0
  1031. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Tokyo.rb +30 -0
  1032. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Ulaanbaatar.rb +65 -0
  1033. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Urumqi.rb +33 -0
  1034. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Vladivostok.rb +164 -0
  1035. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Yakutsk.rb +163 -0
  1036. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Yekaterinburg.rb +165 -0
  1037. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Asia/Yerevan.rb +165 -0
  1038. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Atlantic/Azores.rb +270 -0
  1039. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Atlantic/Cape_Verde.rb +23 -0
  1040. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Atlantic/South_Georgia.rb +18 -0
  1041. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Australia/Adelaide.rb +187 -0
  1042. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Australia/Brisbane.rb +35 -0
  1043. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Australia/Darwin.rb +29 -0
  1044. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Australia/Hobart.rb +193 -0
  1045. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Australia/Melbourne.rb +185 -0
  1046. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Australia/Perth.rb +37 -0
  1047. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Australia/Sydney.rb +185 -0
  1048. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Etc/UTC.rb +16 -0
  1049. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Amsterdam.rb +228 -0
  1050. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Athens.rb +185 -0
  1051. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Belgrade.rb +163 -0
  1052. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Berlin.rb +188 -0
  1053. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Bratislava.rb +13 -0
  1054. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Brussels.rb +232 -0
  1055. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Bucharest.rb +181 -0
  1056. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Budapest.rb +197 -0
  1057. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Copenhagen.rb +179 -0
  1058. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Dublin.rb +276 -0
  1059. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Helsinki.rb +163 -0
  1060. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Istanbul.rb +218 -0
  1061. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Kiev.rb +168 -0
  1062. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Lisbon.rb +268 -0
  1063. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Ljubljana.rb +13 -0
  1064. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/London.rb +288 -0
  1065. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Madrid.rb +211 -0
  1066. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Minsk.rb +170 -0
  1067. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Moscow.rb +181 -0
  1068. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Paris.rb +232 -0
  1069. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Prague.rb +187 -0
  1070. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Riga.rb +176 -0
  1071. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Rome.rb +215 -0
  1072. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Sarajevo.rb +13 -0
  1073. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Skopje.rb +13 -0
  1074. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Sofia.rb +173 -0
  1075. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Stockholm.rb +165 -0
  1076. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Tallinn.rb +172 -0
  1077. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Vienna.rb +183 -0
  1078. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Vilnius.rb +170 -0
  1079. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Warsaw.rb +212 -0
  1080. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Europe/Zagreb.rb +13 -0
  1081. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Pacific/Auckland.rb +202 -0
  1082. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Pacific/Fiji.rb +23 -0
  1083. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Pacific/Guam.rb +22 -0
  1084. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Pacific/Honolulu.rb +28 -0
  1085. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Pacific/Majuro.rb +20 -0
  1086. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Pacific/Midway.rb +25 -0
  1087. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Pacific/Noumea.rb +25 -0
  1088. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Pacific/Pago_Pago.rb +26 -0
  1089. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Pacific/Port_Moresby.rb +20 -0
  1090. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/Pacific/Tongatapu.rb +27 -0
  1091. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/info_timezone.rb +52 -0
  1092. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/linked_timezone.rb +51 -0
  1093. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/linked_timezone_info.rb +44 -0
  1094. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/offset_rationals.rb +98 -0
  1095. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/ruby_core_support.rb +56 -0
  1096. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/time_or_datetime.rb +292 -0
  1097. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/timezone.rb +508 -0
  1098. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/timezone_definition.rb +56 -0
  1099. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/timezone_info.rb +40 -0
  1100. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/timezone_offset_info.rb +94 -0
  1101. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/timezone_period.rb +198 -0
  1102. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/timezone_transition_info.rb +129 -0
  1103. data/vendor/rails/activesupport/lib/active_support/version.rb +1 -1
  1104. data/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +30 -10
  1105. data/vendor/rails/railties/CHANGELOG +148 -0
  1106. data/vendor/rails/railties/MIT-LICENSE +1 -1
  1107. data/vendor/rails/railties/README +67 -14
  1108. data/vendor/rails/railties/Rakefile +15 -21
  1109. data/vendor/rails/railties/bin/about +2 -1
  1110. data/vendor/rails/railties/bin/dbconsole +3 -0
  1111. data/vendor/rails/railties/builtin/rails_info/rails/info.rb +22 -20
  1112. data/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb +1 -1
  1113. data/vendor/rails/railties/configs/databases/frontbase.yml +2 -2
  1114. data/vendor/rails/railties/configs/databases/mysql.yml +2 -2
  1115. data/vendor/rails/railties/configs/databases/oracle.yml +3 -3
  1116. data/vendor/rails/railties/configs/databases/postgresql.yml +2 -2
  1117. data/vendor/rails/railties/configs/databases/sqlite2.yml +2 -2
  1118. data/vendor/rails/railties/configs/databases/sqlite3.yml +2 -2
  1119. data/vendor/rails/railties/configs/initializers/inflections.rb +1 -1
  1120. data/vendor/rails/railties/configs/initializers/new_rails_defaults.rb +17 -0
  1121. data/vendor/rails/railties/configs/routes.rb +8 -0
  1122. data/vendor/rails/railties/dispatches/gateway.cgi +2 -2
  1123. data/vendor/rails/railties/environments/boot.rb +6 -6
  1124. data/vendor/rails/railties/environments/development.rb +0 -1
  1125. data/vendor/rails/railties/environments/environment.rb +15 -7
  1126. data/vendor/rails/railties/environments/production.rb +3 -0
  1127. data/vendor/rails/railties/environments/test.rb +1 -1
  1128. data/vendor/rails/railties/helpers/application.rb +5 -0
  1129. data/vendor/rails/railties/html/images/rails.png +0 -0
  1130. data/vendor/rails/railties/html/index.html +6 -9
  1131. data/vendor/rails/railties/html/javascripts/controls.js +1 -1
  1132. data/vendor/rails/railties/html/javascripts/dragdrop.js +1 -1
  1133. data/vendor/rails/railties/html/javascripts/effects.js +1 -1
  1134. data/vendor/rails/railties/lib/commands/about.rb +1 -0
  1135. data/vendor/rails/railties/lib/commands/console.rb +5 -5
  1136. data/vendor/rails/railties/lib/commands/dbconsole.rb +67 -0
  1137. data/vendor/rails/railties/lib/commands/performance/profiler.rb +1 -1
  1138. data/vendor/rails/railties/lib/commands/plugin.rb +30 -3
  1139. data/vendor/rails/railties/lib/commands/server.rb +2 -2
  1140. data/vendor/rails/railties/lib/commands/servers/lighttpd.rb +1 -1
  1141. data/vendor/rails/railties/lib/commands/servers/mongrel.rb +9 -9
  1142. data/vendor/rails/railties/lib/commands/servers/new_mongrel.rb +16 -0
  1143. data/vendor/rails/railties/lib/commands/servers/webrick.rb +1 -1
  1144. data/vendor/rails/railties/lib/console_app.rb +2 -2
  1145. data/vendor/rails/railties/lib/console_sandbox.rb +2 -2
  1146. data/vendor/rails/railties/lib/console_with_helpers.rb +1 -1
  1147. data/vendor/rails/railties/lib/dispatcher.rb +1 -1
  1148. data/vendor/rails/railties/lib/fcgi_handler.rb +32 -16
  1149. data/vendor/rails/railties/lib/initializer.rb +303 -70
  1150. data/vendor/rails/railties/lib/rails/gem_builder.rb +21 -0
  1151. data/vendor/rails/railties/lib/rails/gem_dependency.rb +129 -0
  1152. data/vendor/rails/railties/lib/rails/mongrel_server/commands.rb +342 -0
  1153. data/vendor/rails/railties/lib/rails/mongrel_server/handler.rb +55 -0
  1154. data/vendor/rails/railties/lib/rails/plugin.rb +51 -19
  1155. data/vendor/rails/railties/lib/rails/plugin/loader.rb +4 -2
  1156. data/vendor/rails/railties/lib/rails/plugin/locator.rb +24 -2
  1157. data/vendor/rails/railties/lib/rails/version.rb +1 -1
  1158. data/vendor/rails/railties/lib/rails_generator/base.rb +1 -1
  1159. data/vendor/rails/railties/lib/rails_generator/commands.rb +85 -54
  1160. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb +9 -10
  1161. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb +1 -4
  1162. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb +1 -1
  1163. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +1 -1
  1164. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb +2 -6
  1165. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb +8 -6
  1166. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +1 -1
  1167. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE +4 -4
  1168. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb +1 -1
  1169. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb +2 -2
  1170. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb +1 -1
  1171. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +4 -3
  1172. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +1 -1
  1173. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -20
  1174. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +3 -4
  1175. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +3 -4
  1176. data/vendor/rails/railties/lib/rails_generator/lookup.rb +9 -4
  1177. data/vendor/rails/railties/lib/rails_generator/options.rb +7 -0
  1178. data/vendor/rails/railties/lib/rails_generator/scripts.rb +8 -5
  1179. data/vendor/rails/railties/lib/rails_generator/secret_key_generator.rb +12 -8
  1180. data/vendor/rails/railties/lib/source_annotation_extractor.rb +40 -0
  1181. data/vendor/rails/railties/lib/tasks/databases.rake +81 -55
  1182. data/vendor/rails/railties/lib/tasks/documentation.rake +4 -4
  1183. data/vendor/rails/railties/lib/tasks/framework.rake +23 -27
  1184. data/vendor/rails/railties/lib/tasks/gems.rake +64 -0
  1185. data/vendor/rails/railties/lib/tasks/misc.rake +47 -0
  1186. data/vendor/rails/railties/lib/tasks/rails.rb +1 -1
  1187. data/vendor/rails/railties/lib/tasks/testing.rake +3 -3
  1188. data/vendor/rails/railties/lib/test_help.rb +8 -0
  1189. metadata +788 -1204
  1190. data/app/controllers/admin/extension_controller.rb +0 -5
  1191. data/app/controllers/admin/layout_controller.rb +0 -21
  1192. data/app/controllers/admin/page_controller.rb +0 -115
  1193. data/app/controllers/admin/snippet_controller.rb +0 -3
  1194. data/app/controllers/admin/user_controller.rb +0 -44
  1195. data/app/helpers/admin/extension_helper.rb +0 -2
  1196. data/app/helpers/admin/layout_helper.rb +0 -2
  1197. data/app/helpers/admin/page_helper.rb +0 -69
  1198. data/app/helpers/admin/snippet_helper.rb +0 -2
  1199. data/app/helpers/admin/user_helper.rb +0 -8
  1200. data/app/models/radiant/extension_meta.rb +0 -5
  1201. data/app/views/admin/extension/index.html.haml +0 -28
  1202. data/app/views/admin/layout/edit.html.haml +0 -44
  1203. data/app/views/admin/layout/index.html.haml +0 -25
  1204. data/app/views/admin/layout/remove.html.haml +0 -16
  1205. data/app/views/admin/page/_meta_row.html.haml +0 -6
  1206. data/app/views/admin/page/_node.html.haml +0 -25
  1207. data/app/views/admin/page/_part.html.haml +0 -17
  1208. data/app/views/admin/page/_tag_reference.html.haml +0 -3
  1209. data/app/views/admin/page/children.html.haml +0 -2
  1210. data/app/views/admin/page/edit.html.haml +0 -115
  1211. data/app/views/admin/page/filter_reference.rjs +0 -5
  1212. data/app/views/admin/page/index.html.haml +0 -28
  1213. data/app/views/admin/page/remove.html.haml +0 -20
  1214. data/app/views/admin/page/tag_reference.rjs +0 -5
  1215. data/app/views/admin/snippet/edit.html.haml +0 -36
  1216. data/app/views/admin/snippet/index.html.haml +0 -20
  1217. data/app/views/admin/snippet/remove.html.haml +0 -19
  1218. data/app/views/admin/user/edit.html.haml +0 -80
  1219. data/app/views/admin/user/index.html.haml +0 -23
  1220. data/app/views/admin/user/preferences.html.haml +0 -28
  1221. data/app/views/admin/user/remove.html.haml +0 -18
  1222. data/lib/plugins/dependencies_fix/init.rb +0 -6
  1223. data/lib/plugins/string_io/init.rb +0 -2
  1224. data/spec/controllers/admin/abstract_model_controller_spec.rb +0 -265
  1225. data/spec/controllers/admin/extension_controller_spec.rb +0 -21
  1226. data/spec/controllers/admin/layout_controller_spec.rb +0 -42
  1227. data/spec/controllers/admin/page_controller_spec.rb +0 -287
  1228. data/spec/controllers/admin/snippet_controller_spec.rb +0 -27
  1229. data/spec/controllers/admin/user_controller_spec.rb +0 -72
  1230. data/spec/helpers/admin/extension_helper_spec.rb +0 -4
  1231. data/spec/helpers/admin/layout_helper_spec.rb +0 -4
  1232. data/spec/helpers/admin/page_helper_spec.rb +0 -45
  1233. data/spec/helpers/admin/snippet_helper_spec.rb +0 -4
  1234. data/spec/helpers/admin/user_helper_spec.rb +0 -11
  1235. data/spec/scenarios/file_not_found_scenario.rb +0 -19
  1236. data/spec/scenarios/home_page_scenario.rb +0 -64
  1237. data/spec/scenarios/layouts_scenario.rb +0 -58
  1238. data/spec/scenarios/markup_pages_scenario.rb +0 -13
  1239. data/spec/scenarios/pages_scenario.rb +0 -56
  1240. data/spec/scenarios/pages_with_layouts_scenario.rb +0 -10
  1241. data/spec/scenarios/snippets_scenario.rb +0 -38
  1242. data/spec/scenarios/users_and_pages_scenario.rb +0 -9
  1243. data/spec/scenarios/users_scenario.rb +0 -43
  1244. data/test/fixtures/extensions/01_basic/db/migrate/001_create_initial_schema.rb +0 -8
  1245. data/test/fixtures/extensions/01_basic/db/migrate/002_modify_initial_schema.rb +0 -8
  1246. data/test/fixtures/layouts.yml +0 -26
  1247. data/test/fixtures/page_parts.yml +0 -119
  1248. data/test/fixtures/pages.yml +0 -353
  1249. data/test/fixtures/sample.txt +0 -1
  1250. data/test/fixtures/snippets.yml +0 -26
  1251. data/test/fixtures/users.yml +0 -35
  1252. data/test/helpers/caching_test_helper.rb +0 -42
  1253. data/test/helpers/difference_test_helper.rb +0 -13
  1254. data/test/helpers/extension_fixture_test_helper.rb +0 -40
  1255. data/test/helpers/extension_tag_test_helper.rb +0 -17
  1256. data/test/helpers/layout_test_helper.rb +0 -35
  1257. data/test/helpers/logging_test_helper.rb +0 -20
  1258. data/test/helpers/login_test_helper.rb +0 -23
  1259. data/test/helpers/page_part_test_helper.rb +0 -49
  1260. data/test/helpers/routing_test_helper.rb +0 -19
  1261. data/test/helpers/snippet_test_helper.rb +0 -32
  1262. data/vendor/extensions/archive/spec/scenarios/archive_scenario.rb +0 -51
  1263. data/vendor/plugins/rspec/CHANGES +0 -1079
  1264. data/vendor/plugins/rspec/MIT-LICENSE +0 -20
  1265. data/vendor/plugins/rspec/README +0 -71
  1266. data/vendor/plugins/rspec/Rakefile +0 -279
  1267. data/vendor/plugins/rspec/TODO +0 -2
  1268. data/vendor/plugins/rspec/UPGRADE +0 -31
  1269. data/vendor/plugins/rspec/bin/spec +0 -4
  1270. data/vendor/plugins/rspec/bin/spec_translator +0 -8
  1271. data/vendor/plugins/rspec/examples/pure/autogenerated_docstrings_example.rb +0 -19
  1272. data/vendor/plugins/rspec/examples/pure/before_and_after_example.rb +0 -40
  1273. data/vendor/plugins/rspec/examples/pure/behave_as_example.rb +0 -45
  1274. data/vendor/plugins/rspec/examples/pure/custom_expectation_matchers.rb +0 -54
  1275. data/vendor/plugins/rspec/examples/pure/custom_formatter.rb +0 -12
  1276. data/vendor/plugins/rspec/examples/pure/dynamic_spec.rb +0 -9
  1277. data/vendor/plugins/rspec/examples/pure/file_accessor.rb +0 -19
  1278. data/vendor/plugins/rspec/examples/pure/file_accessor_spec.rb +0 -38
  1279. data/vendor/plugins/rspec/examples/pure/greeter_spec.rb +0 -31
  1280. data/vendor/plugins/rspec/examples/pure/helper_method_example.rb +0 -14
  1281. data/vendor/plugins/rspec/examples/pure/io_processor.rb +0 -8
  1282. data/vendor/plugins/rspec/examples/pure/io_processor_spec.rb +0 -21
  1283. data/vendor/plugins/rspec/examples/pure/legacy_spec.rb +0 -11
  1284. data/vendor/plugins/rspec/examples/pure/mocking_example.rb +0 -27
  1285. data/vendor/plugins/rspec/examples/pure/multi_threaded_behaviour_runner.rb +0 -28
  1286. data/vendor/plugins/rspec/examples/pure/nested_classes_example.rb +0 -36
  1287. data/vendor/plugins/rspec/examples/pure/partial_mock_example.rb +0 -28
  1288. data/vendor/plugins/rspec/examples/pure/pending_example.rb +0 -20
  1289. data/vendor/plugins/rspec/examples/pure/predicate_example.rb +0 -27
  1290. data/vendor/plugins/rspec/examples/pure/priority.txt +0 -1
  1291. data/vendor/plugins/rspec/examples/pure/shared_example_group_example.rb +0 -81
  1292. data/vendor/plugins/rspec/examples/pure/shared_stack_examples.rb +0 -38
  1293. data/vendor/plugins/rspec/examples/pure/spec_helper.rb +0 -3
  1294. data/vendor/plugins/rspec/examples/pure/stack.rb +0 -36
  1295. data/vendor/plugins/rspec/examples/pure/stack_spec.rb +0 -63
  1296. data/vendor/plugins/rspec/examples/pure/stack_spec_with_nested_example_groups.rb +0 -67
  1297. data/vendor/plugins/rspec/examples/pure/stubbing_example.rb +0 -69
  1298. data/vendor/plugins/rspec/examples/stories/adder.rb +0 -13
  1299. data/vendor/plugins/rspec/examples/stories/addition +0 -34
  1300. data/vendor/plugins/rspec/examples/stories/addition.rb +0 -9
  1301. data/vendor/plugins/rspec/examples/stories/calculator.rb +0 -65
  1302. data/vendor/plugins/rspec/examples/stories/game-of-life/README.txt +0 -21
  1303. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/everything.rb +0 -6
  1304. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/examples.rb +0 -3
  1305. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +0 -35
  1306. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +0 -66
  1307. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +0 -21
  1308. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +0 -21
  1309. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +0 -42
  1310. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +0 -42
  1311. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +0 -17
  1312. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +0 -53
  1313. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +0 -52
  1314. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/helper.rb +0 -6
  1315. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +0 -26
  1316. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/steps.rb +0 -5
  1317. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/stories.rb +0 -3
  1318. data/vendor/plugins/rspec/examples/stories/game-of-life/behaviour/stories/stories.txt +0 -22
  1319. data/vendor/plugins/rspec/examples/stories/game-of-life/life.rb +0 -3
  1320. data/vendor/plugins/rspec/examples/stories/game-of-life/life/game.rb +0 -23
  1321. data/vendor/plugins/rspec/examples/stories/game-of-life/life/grid.rb +0 -43
  1322. data/vendor/plugins/rspec/examples/stories/helper.rb +0 -9
  1323. data/vendor/plugins/rspec/examples/stories/steps/addition_steps.rb +0 -18
  1324. data/vendor/plugins/rspec/failing_examples/README.txt +0 -7
  1325. data/vendor/plugins/rspec/failing_examples/diffing_spec.rb +0 -36
  1326. data/vendor/plugins/rspec/failing_examples/failing_autogenerated_docstrings_example.rb +0 -19
  1327. data/vendor/plugins/rspec/failing_examples/failure_in_setup.rb +0 -10
  1328. data/vendor/plugins/rspec/failing_examples/failure_in_teardown.rb +0 -10
  1329. data/vendor/plugins/rspec/failing_examples/mocking_example.rb +0 -40
  1330. data/vendor/plugins/rspec/failing_examples/mocking_with_flexmock.rb +0 -26
  1331. data/vendor/plugins/rspec/failing_examples/mocking_with_mocha.rb +0 -25
  1332. data/vendor/plugins/rspec/failing_examples/mocking_with_rr.rb +0 -27
  1333. data/vendor/plugins/rspec/failing_examples/partial_mock_example.rb +0 -20
  1334. data/vendor/plugins/rspec/failing_examples/predicate_example.rb +0 -29
  1335. data/vendor/plugins/rspec/failing_examples/raising_example.rb +0 -47
  1336. data/vendor/plugins/rspec/failing_examples/spec_helper.rb +0 -3
  1337. data/vendor/plugins/rspec/failing_examples/syntax_error_example.rb +0 -7
  1338. data/vendor/plugins/rspec/failing_examples/team_spec.rb +0 -44
  1339. data/vendor/plugins/rspec/failing_examples/timeout_behaviour.rb +0 -7
  1340. data/vendor/plugins/rspec/init.rb +0 -9
  1341. data/vendor/plugins/rspec/lib/autotest/discover.rb +0 -3
  1342. data/vendor/plugins/rspec/lib/autotest/rspec.rb +0 -72
  1343. data/vendor/plugins/rspec/lib/spec.rb +0 -30
  1344. data/vendor/plugins/rspec/lib/spec/example.rb +0 -12
  1345. data/vendor/plugins/rspec/lib/spec/example/configuration.rb +0 -144
  1346. data/vendor/plugins/rspec/lib/spec/example/errors.rb +0 -9
  1347. data/vendor/plugins/rspec/lib/spec/example/example_group.rb +0 -16
  1348. data/vendor/plugins/rspec/lib/spec/example/example_group_factory.rb +0 -58
  1349. data/vendor/plugins/rspec/lib/spec/example/example_group_methods.rb +0 -433
  1350. data/vendor/plugins/rspec/lib/spec/example/example_matcher.rb +0 -42
  1351. data/vendor/plugins/rspec/lib/spec/example/example_methods.rb +0 -110
  1352. data/vendor/plugins/rspec/lib/spec/example/module_reopening_fix.rb +0 -21
  1353. data/vendor/plugins/rspec/lib/spec/example/pending.rb +0 -18
  1354. data/vendor/plugins/rspec/lib/spec/example/shared_example_group.rb +0 -58
  1355. data/vendor/plugins/rspec/lib/spec/expectations.rb +0 -56
  1356. data/vendor/plugins/rspec/lib/spec/expectations/differs/default.rb +0 -66
  1357. data/vendor/plugins/rspec/lib/spec/expectations/errors.rb +0 -12
  1358. data/vendor/plugins/rspec/lib/spec/expectations/extensions.rb +0 -2
  1359. data/vendor/plugins/rspec/lib/spec/expectations/extensions/object.rb +0 -71
  1360. data/vendor/plugins/rspec/lib/spec/expectations/extensions/string_and_symbol.rb +0 -17
  1361. data/vendor/plugins/rspec/lib/spec/expectations/handler.rb +0 -52
  1362. data/vendor/plugins/rspec/lib/spec/extensions.rb +0 -4
  1363. data/vendor/plugins/rspec/lib/spec/extensions/class.rb +0 -24
  1364. data/vendor/plugins/rspec/lib/spec/extensions/main.rb +0 -102
  1365. data/vendor/plugins/rspec/lib/spec/extensions/metaclass.rb +0 -7
  1366. data/vendor/plugins/rspec/lib/spec/extensions/object.rb +0 -6
  1367. data/vendor/plugins/rspec/lib/spec/interop/test.rb +0 -12
  1368. data/vendor/plugins/rspec/lib/spec/interop/test/unit/autorunner.rb +0 -6
  1369. data/vendor/plugins/rspec/lib/spec/interop/test/unit/testcase.rb +0 -61
  1370. data/vendor/plugins/rspec/lib/spec/interop/test/unit/testresult.rb +0 -6
  1371. data/vendor/plugins/rspec/lib/spec/interop/test/unit/testsuite_adapter.rb +0 -34
  1372. data/vendor/plugins/rspec/lib/spec/interop/test/unit/ui/console/testrunner.rb +0 -61
  1373. data/vendor/plugins/rspec/lib/spec/matchers.rb +0 -156
  1374. data/vendor/plugins/rspec/lib/spec/matchers/be.rb +0 -224
  1375. data/vendor/plugins/rspec/lib/spec/matchers/be_close.rb +0 -37
  1376. data/vendor/plugins/rspec/lib/spec/matchers/change.rb +0 -144
  1377. data/vendor/plugins/rspec/lib/spec/matchers/eql.rb +0 -43
  1378. data/vendor/plugins/rspec/lib/spec/matchers/equal.rb +0 -43
  1379. data/vendor/plugins/rspec/lib/spec/matchers/exist.rb +0 -17
  1380. data/vendor/plugins/rspec/lib/spec/matchers/has.rb +0 -34
  1381. data/vendor/plugins/rspec/lib/spec/matchers/have.rb +0 -145
  1382. data/vendor/plugins/rspec/lib/spec/matchers/include.rb +0 -70
  1383. data/vendor/plugins/rspec/lib/spec/matchers/match.rb +0 -41
  1384. data/vendor/plugins/rspec/lib/spec/matchers/operator_matcher.rb +0 -73
  1385. data/vendor/plugins/rspec/lib/spec/matchers/raise_error.rb +0 -132
  1386. data/vendor/plugins/rspec/lib/spec/matchers/respond_to.rb +0 -45
  1387. data/vendor/plugins/rspec/lib/spec/matchers/satisfy.rb +0 -47
  1388. data/vendor/plugins/rspec/lib/spec/matchers/simple_matcher.rb +0 -29
  1389. data/vendor/plugins/rspec/lib/spec/matchers/throw_symbol.rb +0 -74
  1390. data/vendor/plugins/rspec/lib/spec/mocks.rb +0 -211
  1391. data/vendor/plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb +0 -31
  1392. data/vendor/plugins/rspec/lib/spec/mocks/argument_constraint_matchers.rb.orig +0 -27
  1393. data/vendor/plugins/rspec/lib/spec/mocks/argument_expectation.rb +0 -209
  1394. data/vendor/plugins/rspec/lib/spec/mocks/error_generator.rb +0 -84
  1395. data/vendor/plugins/rspec/lib/spec/mocks/errors.rb +0 -10
  1396. data/vendor/plugins/rspec/lib/spec/mocks/extensions/object.rb +0 -3
  1397. data/vendor/plugins/rspec/lib/spec/mocks/message_expectation.rb +0 -269
  1398. data/vendor/plugins/rspec/lib/spec/mocks/methods.rb +0 -39
  1399. data/vendor/plugins/rspec/lib/spec/mocks/mock.rb +0 -50
  1400. data/vendor/plugins/rspec/lib/spec/mocks/order_group.rb +0 -29
  1401. data/vendor/plugins/rspec/lib/spec/mocks/proxy.rb +0 -166
  1402. data/vendor/plugins/rspec/lib/spec/mocks/space.rb +0 -28
  1403. data/vendor/plugins/rspec/lib/spec/mocks/spec_methods.rb +0 -38
  1404. data/vendor/plugins/rspec/lib/spec/rake/spectask.rb +0 -235
  1405. data/vendor/plugins/rspec/lib/spec/rake/verify_rcov.rb +0 -52
  1406. data/vendor/plugins/rspec/lib/spec/runner.rb +0 -202
  1407. data/vendor/plugins/rspec/lib/spec/runner/backtrace_tweaker.rb +0 -57
  1408. data/vendor/plugins/rspec/lib/spec/runner/class_and_arguments_parser.rb +0 -16
  1409. data/vendor/plugins/rspec/lib/spec/runner/command_line.rb +0 -28
  1410. data/vendor/plugins/rspec/lib/spec/runner/drb_command_line.rb +0 -20
  1411. data/vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb +0 -59
  1412. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_formatter.rb +0 -77
  1413. data/vendor/plugins/rspec/lib/spec/runner/formatter/base_text_formatter.rb +0 -130
  1414. data/vendor/plugins/rspec/lib/spec/runner/formatter/failing_example_groups_formatter.rb +0 -33
  1415. data/vendor/plugins/rspec/lib/spec/runner/formatter/failing_examples_formatter.rb +0 -20
  1416. data/vendor/plugins/rspec/lib/spec/runner/formatter/html_formatter.rb +0 -333
  1417. data/vendor/plugins/rspec/lib/spec/runner/formatter/profile_formatter.rb +0 -47
  1418. data/vendor/plugins/rspec/lib/spec/runner/formatter/progress_bar_formatter.rb +0 -30
  1419. data/vendor/plugins/rspec/lib/spec/runner/formatter/snippet_extractor.rb +0 -52
  1420. data/vendor/plugins/rspec/lib/spec/runner/formatter/specdoc_formatter.rb +0 -39
  1421. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/html_formatter.rb +0 -128
  1422. data/vendor/plugins/rspec/lib/spec/runner/formatter/story/plain_text_formatter.rb +0 -131
  1423. data/vendor/plugins/rspec/lib/spec/runner/formatter/text_mate_formatter.rb +0 -16
  1424. data/vendor/plugins/rspec/lib/spec/runner/heckle_runner.rb +0 -72
  1425. data/vendor/plugins/rspec/lib/spec/runner/heckle_runner_unsupported.rb +0 -10
  1426. data/vendor/plugins/rspec/lib/spec/runner/option_parser.rb +0 -205
  1427. data/vendor/plugins/rspec/lib/spec/runner/options.rb +0 -288
  1428. data/vendor/plugins/rspec/lib/spec/runner/reporter.rb +0 -147
  1429. data/vendor/plugins/rspec/lib/spec/runner/spec_parser.rb +0 -71
  1430. data/vendor/plugins/rspec/lib/spec/story.rb +0 -10
  1431. data/vendor/plugins/rspec/lib/spec/story/extensions.rb +0 -3
  1432. data/vendor/plugins/rspec/lib/spec/story/extensions/main.rb +0 -86
  1433. data/vendor/plugins/rspec/lib/spec/story/extensions/regexp.rb +0 -9
  1434. data/vendor/plugins/rspec/lib/spec/story/extensions/string.rb +0 -9
  1435. data/vendor/plugins/rspec/lib/spec/story/given_scenario.rb +0 -14
  1436. data/vendor/plugins/rspec/lib/spec/story/runner.rb +0 -56
  1437. data/vendor/plugins/rspec/lib/spec/story/runner/plain_text_story_runner.rb +0 -48
  1438. data/vendor/plugins/rspec/lib/spec/story/runner/scenario_collector.rb +0 -18
  1439. data/vendor/plugins/rspec/lib/spec/story/runner/scenario_runner.rb +0 -48
  1440. data/vendor/plugins/rspec/lib/spec/story/runner/story_mediator.rb +0 -123
  1441. data/vendor/plugins/rspec/lib/spec/story/runner/story_parser.rb +0 -227
  1442. data/vendor/plugins/rspec/lib/spec/story/runner/story_runner.rb +0 -70
  1443. data/vendor/plugins/rspec/lib/spec/story/scenario.rb +0 -14
  1444. data/vendor/plugins/rspec/lib/spec/story/step.rb +0 -58
  1445. data/vendor/plugins/rspec/lib/spec/story/step_group.rb +0 -89
  1446. data/vendor/plugins/rspec/lib/spec/story/step_mother.rb +0 -37
  1447. data/vendor/plugins/rspec/lib/spec/story/story.rb +0 -39
  1448. data/vendor/plugins/rspec/lib/spec/story/world.rb +0 -124
  1449. data/vendor/plugins/rspec/lib/spec/translator.rb +0 -114
  1450. data/vendor/plugins/rspec/lib/spec/version.rb +0 -22
  1451. data/vendor/plugins/rspec/plugins/mock_frameworks/flexmock.rb +0 -23
  1452. data/vendor/plugins/rspec/plugins/mock_frameworks/mocha.rb +0 -19
  1453. data/vendor/plugins/rspec/plugins/mock_frameworks/rr.rb +0 -21
  1454. data/vendor/plugins/rspec/plugins/mock_frameworks/rspec.rb +0 -18
  1455. data/vendor/plugins/rspec/pre_commit/lib/pre_commit.rb +0 -4
  1456. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/core.rb +0 -50
  1457. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/pre_commit.rb +0 -54
  1458. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/rspec.rb +0 -111
  1459. data/vendor/plugins/rspec/pre_commit/lib/pre_commit/rspec_on_rails.rb +0 -314
  1460. data/vendor/plugins/rspec/pre_commit/spec/pre_commit/pre_commit_spec.rb +0 -15
  1461. data/vendor/plugins/rspec/pre_commit/spec/pre_commit/rspec_on_rails_spec.rb +0 -51
  1462. data/vendor/plugins/rspec/pre_commit/spec/spec_helper.rb +0 -3
  1463. data/vendor/plugins/rspec/pre_commit/spec/spec_suite.rb +0 -11
  1464. data/vendor/plugins/rspec/rake_tasks/examples.rake +0 -7
  1465. data/vendor/plugins/rspec/rake_tasks/examples_with_rcov.rake +0 -9
  1466. data/vendor/plugins/rspec/rake_tasks/failing_examples_with_html.rake +0 -9
  1467. data/vendor/plugins/rspec/rake_tasks/verify_rcov.rake +0 -7
  1468. data/vendor/plugins/rspec/spec/README.jruby +0 -15
  1469. data/vendor/plugins/rspec/spec/autotest/discover_spec.rb +0 -19
  1470. data/vendor/plugins/rspec/spec/autotest/rspec_spec.rb +0 -197
  1471. data/vendor/plugins/rspec/spec/autotest_helper.rb +0 -6
  1472. data/vendor/plugins/rspec/spec/rspec_suite.rb +0 -7
  1473. data/vendor/plugins/rspec/spec/ruby_forker.rb +0 -13
  1474. data/vendor/plugins/rspec/spec/spec.opts +0 -6
  1475. data/vendor/plugins/rspec/spec/spec/example/configuration_spec.rb +0 -282
  1476. data/vendor/plugins/rspec/spec/spec/example/example_group_class_definition_spec.rb +0 -48
  1477. data/vendor/plugins/rspec/spec/spec/example/example_group_factory_spec.rb +0 -135
  1478. data/vendor/plugins/rspec/spec/spec/example/example_group_methods_spec.rb +0 -523
  1479. data/vendor/plugins/rspec/spec/spec/example/example_group_spec.rb +0 -711
  1480. data/vendor/plugins/rspec/spec/spec/example/example_matcher_spec.rb +0 -96
  1481. data/vendor/plugins/rspec/spec/spec/example/example_methods_spec.rb +0 -115
  1482. data/vendor/plugins/rspec/spec/spec/example/example_runner_spec.rb +0 -194
  1483. data/vendor/plugins/rspec/spec/spec/example/example_spec.rb +0 -53
  1484. data/vendor/plugins/rspec/spec/spec/example/nested_example_group_spec.rb +0 -71
  1485. data/vendor/plugins/rspec/spec/spec/example/pending_module_spec.rb +0 -31
  1486. data/vendor/plugins/rspec/spec/spec/example/predicate_matcher_spec.rb +0 -21
  1487. data/vendor/plugins/rspec/spec/spec/example/shared_example_group_spec.rb +0 -265
  1488. data/vendor/plugins/rspec/spec/spec/example/subclassing_example_group_spec.rb +0 -25
  1489. data/vendor/plugins/rspec/spec/spec/expectations/differs/default_spec.rb +0 -127
  1490. data/vendor/plugins/rspec/spec/spec/expectations/extensions/object_spec.rb +0 -107
  1491. data/vendor/plugins/rspec/spec/spec/expectations/fail_with_spec.rb +0 -71
  1492. data/vendor/plugins/rspec/spec/spec/extensions/main_spec.rb +0 -76
  1493. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_that_fails.rb +0 -10
  1494. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_that_passes.rb +0 -10
  1495. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/spec_with_errors.rb +0 -10
  1496. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +0 -10
  1497. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +0 -10
  1498. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +0 -10
  1499. data/vendor/plugins/rspec/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +0 -38
  1500. data/vendor/plugins/rspec/spec/spec/interop/test/unit/spec_spec.rb +0 -45
  1501. data/vendor/plugins/rspec/spec/spec/interop/test/unit/test_unit_spec_helper.rb +0 -14
  1502. data/vendor/plugins/rspec/spec/spec/interop/test/unit/testcase_spec.rb +0 -45
  1503. data/vendor/plugins/rspec/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +0 -9
  1504. data/vendor/plugins/rspec/spec/spec/matchers/be_close_spec.rb +0 -39
  1505. data/vendor/plugins/rspec/spec/spec/matchers/be_spec.rb +0 -248
  1506. data/vendor/plugins/rspec/spec/spec/matchers/change_spec.rb +0 -319
  1507. data/vendor/plugins/rspec/spec/spec/matchers/description_generation_spec.rb +0 -153
  1508. data/vendor/plugins/rspec/spec/spec/matchers/eql_spec.rb +0 -28
  1509. data/vendor/plugins/rspec/spec/spec/matchers/equal_spec.rb +0 -28
  1510. data/vendor/plugins/rspec/spec/spec/matchers/exist_spec.rb +0 -57
  1511. data/vendor/plugins/rspec/spec/spec/matchers/handler_spec.rb +0 -129
  1512. data/vendor/plugins/rspec/spec/spec/matchers/has_spec.rb +0 -53
  1513. data/vendor/plugins/rspec/spec/spec/matchers/have_spec.rb +0 -291
  1514. data/vendor/plugins/rspec/spec/spec/matchers/include_spec.rb +0 -45
  1515. data/vendor/plugins/rspec/spec/spec/matchers/match_spec.rb +0 -37
  1516. data/vendor/plugins/rspec/spec/spec/matchers/matcher_methods_spec.rb +0 -78
  1517. data/vendor/plugins/rspec/spec/spec/matchers/mock_constraint_matchers_spec.rb +0 -24
  1518. data/vendor/plugins/rspec/spec/spec/matchers/operator_matcher_spec.rb +0 -158
  1519. data/vendor/plugins/rspec/spec/spec/matchers/raise_error_spec.rb +0 -315
  1520. data/vendor/plugins/rspec/spec/spec/matchers/respond_to_spec.rb +0 -54
  1521. data/vendor/plugins/rspec/spec/spec/matchers/satisfy_spec.rb +0 -36
  1522. data/vendor/plugins/rspec/spec/spec/matchers/simple_matcher_spec.rb +0 -31
  1523. data/vendor/plugins/rspec/spec/spec/matchers/throw_symbol_spec.rb +0 -54
  1524. data/vendor/plugins/rspec/spec/spec/mocks/any_number_of_times_spec.rb +0 -29
  1525. data/vendor/plugins/rspec/spec/spec/mocks/argument_expectation_spec.rb +0 -23
  1526. data/vendor/plugins/rspec/spec/spec/mocks/at_least_spec.rb +0 -97
  1527. data/vendor/plugins/rspec/spec/spec/mocks/at_most_spec.rb +0 -93
  1528. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_10260_spec.rb +0 -8
  1529. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_10263_spec.rb +0 -24
  1530. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_11545_spec.rb +0 -33
  1531. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_15719_spec.rb +0 -30
  1532. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_7611_spec.rb +0 -19
  1533. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_7805_spec.rb +0 -22
  1534. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_8165_spec.rb +0 -31
  1535. data/vendor/plugins/rspec/spec/spec/mocks/bug_report_8302_spec.rb +0 -26
  1536. data/vendor/plugins/rspec/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +0 -123
  1537. data/vendor/plugins/rspec/spec/spec/mocks/hash_including_matcher_spec.rb +0 -32
  1538. data/vendor/plugins/rspec/spec/spec/mocks/mock_ordering_spec.rb +0 -84
  1539. data/vendor/plugins/rspec/spec/spec/mocks/mock_space_spec.rb +0 -54
  1540. data/vendor/plugins/rspec/spec/spec/mocks/mock_spec.rb +0 -481
  1541. data/vendor/plugins/rspec/spec/spec/mocks/multiple_return_value_spec.rb +0 -113
  1542. data/vendor/plugins/rspec/spec/spec/mocks/null_object_mock_spec.rb +0 -40
  1543. data/vendor/plugins/rspec/spec/spec/mocks/once_counts_spec.rb +0 -53
  1544. data/vendor/plugins/rspec/spec/spec/mocks/options_hash_spec.rb +0 -45
  1545. data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_spec.rb +0 -106
  1546. data/vendor/plugins/rspec/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +0 -66
  1547. data/vendor/plugins/rspec/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +0 -160
  1548. data/vendor/plugins/rspec/spec/spec/mocks/precise_counts_spec.rb +0 -52
  1549. data/vendor/plugins/rspec/spec/spec/mocks/record_messages_spec.rb +0 -26
  1550. data/vendor/plugins/rspec/spec/spec/mocks/stub_spec.rb +0 -181
  1551. data/vendor/plugins/rspec/spec/spec/mocks/twice_counts_spec.rb +0 -67
  1552. data/vendor/plugins/rspec/spec/spec/package/bin_spec_spec.rb +0 -14
  1553. data/vendor/plugins/rspec/spec/spec/runner/class_and_argument_parser_spec.rb +0 -23
  1554. data/vendor/plugins/rspec/spec/spec/runner/command_line_spec.rb +0 -147
  1555. data/vendor/plugins/rspec/spec/spec/runner/drb_command_line_spec.rb +0 -92
  1556. data/vendor/plugins/rspec/spec/spec/runner/examples.txt +0 -2
  1557. data/vendor/plugins/rspec/spec/spec/runner/execution_context_spec.rb +0 -37
  1558. data/vendor/plugins/rspec/spec/spec/runner/failed.txt +0 -3
  1559. data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +0 -45
  1560. data/vendor/plugins/rspec/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +0 -33
  1561. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.4.html +0 -365
  1562. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +0 -387
  1563. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.5.html +0 -371
  1564. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +0 -381
  1565. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html +0 -371
  1566. data/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb +0 -66
  1567. data/vendor/plugins/rspec/spec/spec/runner/formatter/profile_formatter_spec.rb +0 -65
  1568. data/vendor/plugins/rspec/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +0 -137
  1569. data/vendor/plugins/rspec/spec/spec/runner/formatter/snippet_extractor_spec.rb +0 -18
  1570. data/vendor/plugins/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +0 -103
  1571. data/vendor/plugins/rspec/spec/spec/runner/formatter/specdoc_formatter_spec.rb +0 -129
  1572. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/html_formatter_spec.rb +0 -61
  1573. data/vendor/plugins/rspec/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +0 -335
  1574. data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +0 -365
  1575. data/vendor/plugins/rspec/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +0 -371
  1576. data/vendor/plugins/rspec/spec/spec/runner/heckle_runner_spec.rb +0 -78
  1577. data/vendor/plugins/rspec/spec/spec/runner/heckler_spec.rb +0 -13
  1578. data/vendor/plugins/rspec/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +0 -45
  1579. data/vendor/plugins/rspec/spec/spec/runner/option_parser_spec.rb +0 -384
  1580. data/vendor/plugins/rspec/spec/spec/runner/options_spec.rb +0 -386
  1581. data/vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture.rb +0 -7
  1582. data/vendor/plugins/rspec/spec/spec/runner/output_one_time_fixture_runner.rb +0 -8
  1583. data/vendor/plugins/rspec/spec/spec/runner/output_one_time_spec.rb +0 -16
  1584. data/vendor/plugins/rspec/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +0 -56
  1585. data/vendor/plugins/rspec/spec/spec/runner/reporter_spec.rb +0 -192
  1586. data/vendor/plugins/rspec/spec/spec/runner/resources/a_bar.rb +0 -0
  1587. data/vendor/plugins/rspec/spec/spec/runner/resources/a_foo.rb +0 -0
  1588. data/vendor/plugins/rspec/spec/spec/runner/resources/a_spec.rb +0 -1
  1589. data/vendor/plugins/rspec/spec/spec/runner/spec.opts +0 -2
  1590. data/vendor/plugins/rspec/spec/spec/runner/spec_drb.opts +0 -1
  1591. data/vendor/plugins/rspec/spec/spec/runner/spec_parser/spec_parser_fixture.rb +0 -70
  1592. data/vendor/plugins/rspec/spec/spec/runner/spec_parser_spec.rb +0 -79
  1593. data/vendor/plugins/rspec/spec/spec/runner/spec_spaced.opts +0 -2
  1594. data/vendor/plugins/rspec/spec/spec/runner_spec.rb +0 -11
  1595. data/vendor/plugins/rspec/spec/spec/spec_classes.rb +0 -133
  1596. data/vendor/plugins/rspec/spec/spec/story/builders.rb +0 -46
  1597. data/vendor/plugins/rspec/spec/spec/story/extensions/main_spec.rb +0 -161
  1598. data/vendor/plugins/rspec/spec/spec/story/extensions_spec.rb +0 -14
  1599. data/vendor/plugins/rspec/spec/spec/story/given_scenario_spec.rb +0 -27
  1600. data/vendor/plugins/rspec/spec/spec/story/runner/plain_text_story_runner_spec.rb +0 -92
  1601. data/vendor/plugins/rspec/spec/spec/story/runner/scenario_collector_spec.rb +0 -27
  1602. data/vendor/plugins/rspec/spec/spec/story/runner/scenario_runner_spec.rb +0 -191
  1603. data/vendor/plugins/rspec/spec/spec/story/runner/story_mediator_spec.rb +0 -133
  1604. data/vendor/plugins/rspec/spec/spec/story/runner/story_parser_spec.rb +0 -384
  1605. data/vendor/plugins/rspec/spec/spec/story/runner/story_runner_spec.rb +0 -294
  1606. data/vendor/plugins/rspec/spec/spec/story/runner_spec.rb +0 -106
  1607. data/vendor/plugins/rspec/spec/spec/story/scenario_spec.rb +0 -20
  1608. data/vendor/plugins/rspec/spec/spec/story/step_group_spec.rb +0 -157
  1609. data/vendor/plugins/rspec/spec/spec/story/step_mother_spec.rb +0 -72
  1610. data/vendor/plugins/rspec/spec/spec/story/step_spec.rb +0 -200
  1611. data/vendor/plugins/rspec/spec/spec/story/story_helper.rb +0 -2
  1612. data/vendor/plugins/rspec/spec/spec/story/story_spec.rb +0 -86
  1613. data/vendor/plugins/rspec/spec/spec/story/world_spec.rb +0 -423
  1614. data/vendor/plugins/rspec/spec/spec/translator_spec.rb +0 -265
  1615. data/vendor/plugins/rspec/spec/spec_helper.rb +0 -103
  1616. data/vendor/plugins/rspec/stories/all.rb +0 -5
  1617. data/vendor/plugins/rspec/stories/example_groups/autogenerated_docstrings +0 -45
  1618. data/vendor/plugins/rspec/stories/example_groups/example_group_with_should_methods +0 -17
  1619. data/vendor/plugins/rspec/stories/example_groups/nested_groups +0 -17
  1620. data/vendor/plugins/rspec/stories/example_groups/output +0 -25
  1621. data/vendor/plugins/rspec/stories/example_groups/stories.rb +0 -7
  1622. data/vendor/plugins/rspec/stories/helper.rb +0 -6
  1623. data/vendor/plugins/rspec/stories/interop/examples_and_tests_together +0 -30
  1624. data/vendor/plugins/rspec/stories/interop/stories.rb +0 -7
  1625. data/vendor/plugins/rspec/stories/interop/test_case_with_should_methods +0 -17
  1626. data/vendor/plugins/rspec/stories/pending_stories/README +0 -3
  1627. data/vendor/plugins/rspec/stories/resources/helpers/cmdline.rb +0 -9
  1628. data/vendor/plugins/rspec/stories/resources/helpers/story_helper.rb +0 -16
  1629. data/vendor/plugins/rspec/stories/resources/matchers/smart_match.rb +0 -37
  1630. data/vendor/plugins/rspec/stories/resources/spec/example_group_with_should_methods.rb +0 -12
  1631. data/vendor/plugins/rspec/stories/resources/spec/simple_spec.rb +0 -8
  1632. data/vendor/plugins/rspec/stories/resources/steps/running_rspec.rb +0 -50
  1633. data/vendor/plugins/rspec/stories/resources/stories/failing_story.rb +0 -15
  1634. data/vendor/plugins/rspec/stories/resources/test/spec_and_test_together.rb +0 -57
  1635. data/vendor/plugins/rspec/stories/resources/test/test_case_with_should_methods.rb +0 -30
  1636. data/vendor/plugins/rspec/story_server/prototype/javascripts/builder.js +0 -136
  1637. data/vendor/plugins/rspec/story_server/prototype/javascripts/controls.js +0 -972
  1638. data/vendor/plugins/rspec/story_server/prototype/javascripts/dragdrop.js +0 -976
  1639. data/vendor/plugins/rspec/story_server/prototype/javascripts/effects.js +0 -1117
  1640. data/vendor/plugins/rspec/story_server/prototype/javascripts/prototype.js +0 -4140
  1641. data/vendor/plugins/rspec/story_server/prototype/javascripts/rspec.js +0 -149
  1642. data/vendor/plugins/rspec/story_server/prototype/javascripts/scriptaculous.js +0 -58
  1643. data/vendor/plugins/rspec/story_server/prototype/javascripts/slider.js +0 -276
  1644. data/vendor/plugins/rspec/story_server/prototype/javascripts/sound.js +0 -55
  1645. data/vendor/plugins/rspec/story_server/prototype/javascripts/unittest.js +0 -568
  1646. data/vendor/plugins/rspec/story_server/prototype/lib/server.rb +0 -24
  1647. data/vendor/plugins/rspec/story_server/prototype/stories.html +0 -176
  1648. data/vendor/plugins/rspec/story_server/prototype/stylesheets/rspec.css +0 -136
  1649. data/vendor/plugins/rspec/story_server/prototype/stylesheets/test.css +0 -90
  1650. data/vendor/plugins/rspec_on_rails/MIT-LICENSE +0 -31
  1651. data/vendor/plugins/rspec_on_rails/README +0 -3
  1652. data/vendor/plugins/rspec_on_rails/Rakefile +0 -9
  1653. data/vendor/plugins/rspec_on_rails/generators/rspec/CHANGES +0 -1
  1654. data/vendor/plugins/rspec_on_rails/generators/rspec/rspec_generator.rb +0 -35
  1655. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/all_stories.rb +0 -4
  1656. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/previous_failures.txt +0 -0
  1657. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/rcov.opts +0 -2
  1658. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec +0 -4
  1659. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/script/spec_server +0 -102
  1660. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec.opts +0 -4
  1661. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/spec_helper.rb +0 -39
  1662. data/vendor/plugins/rspec_on_rails/generators/rspec/templates/stories_helper.rb +0 -3
  1663. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/USAGE +0 -33
  1664. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/rspec_controller_generator.rb +0 -49
  1665. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/controller_spec.rb +0 -25
  1666. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/helper_spec.rb +0 -11
  1667. data/vendor/plugins/rspec_on_rails/generators/rspec_controller/templates/view_spec.rb +0 -12
  1668. data/vendor/plugins/rspec_on_rails/generators/rspec_model/USAGE +0 -18
  1669. data/vendor/plugins/rspec_on_rails/generators/rspec_model/rspec_model_generator.rb +0 -30
  1670. data/vendor/plugins/rspec_on_rails/generators/rspec_model/templates/model_spec.rb +0 -11
  1671. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/rspec_scaffold_generator.rb +0 -167
  1672. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/controller_spec.rb +0 -313
  1673. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/edit_erb_spec.rb +0 -25
  1674. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/helper_spec.rb +0 -11
  1675. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/index_erb_spec.rb +0 -22
  1676. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/new_erb_spec.rb +0 -26
  1677. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/routing_spec.rb +0 -61
  1678. data/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb +0 -22
  1679. data/vendor/plugins/rspec_on_rails/init.rb +0 -9
  1680. data/vendor/plugins/rspec_on_rails/lib/autotest/discover.rb +0 -1
  1681. data/vendor/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb +0 -81
  1682. data/vendor/plugins/rspec_on_rails/lib/spec/rails.rb +0 -51
  1683. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example.rb +0 -46
  1684. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/assigns_hash_proxy.rb +0 -43
  1685. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/controller_example_group.rb +0 -269
  1686. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/functional_example_group.rb +0 -59
  1687. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/helper_example_group.rb +0 -130
  1688. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/model_example_group.rb +0 -14
  1689. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/rails_example_group.rb +0 -98
  1690. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/render_observer.rb +0 -90
  1691. data/vendor/plugins/rspec_on_rails/lib/spec/rails/example/view_example_group.rb +0 -178
  1692. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions.rb +0 -12
  1693. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/base.rb +0 -14
  1694. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/rescue.rb +0 -21
  1695. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/test_response.rb +0 -11
  1696. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_view/base.rb +0 -27
  1697. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/active_record/base.rb +0 -30
  1698. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/object.rb +0 -5
  1699. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/example/configuration.rb +0 -66
  1700. data/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/matchers/have.rb +0 -21
  1701. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers.rb +0 -29
  1702. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/assert_select.rb +0 -130
  1703. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb +0 -55
  1704. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb +0 -113
  1705. data/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/render_template.rb +0 -70
  1706. data/vendor/plugins/rspec_on_rails/lib/spec/rails/story_adapter.rb +0 -71
  1707. data/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb +0 -23
  1708. data/vendor/plugins/rspec_on_rails/spec/rails/autotest/mappings_spec.rb +0 -36
  1709. data/vendor/plugins/rspec_on_rails/spec/rails/autotest/rails_rspec_spec.rb +0 -8
  1710. data/vendor/plugins/rspec_on_rails/spec/rails/example/assigns_hash_proxy_spec.rb +0 -60
  1711. data/vendor/plugins/rspec_on_rails/spec/rails/example/configuration_spec.rb +0 -83
  1712. data/vendor/plugins/rspec_on_rails/spec/rails/example/controller_isolation_spec.rb +0 -43
  1713. data/vendor/plugins/rspec_on_rails/spec/rails/example/controller_spec_spec.rb +0 -195
  1714. data/vendor/plugins/rspec_on_rails/spec/rails/example/example_group_factory_spec.rb +0 -112
  1715. data/vendor/plugins/rspec_on_rails/spec/rails/example/helper_spec_spec.rb +0 -133
  1716. data/vendor/plugins/rspec_on_rails/spec/rails/example/model_spec_spec.rb +0 -18
  1717. data/vendor/plugins/rspec_on_rails/spec/rails/example/shared_behaviour_spec.rb +0 -16
  1718. data/vendor/plugins/rspec_on_rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb +0 -33
  1719. data/vendor/plugins/rspec_on_rails/spec/rails/example/view_spec_spec.rb +0 -264
  1720. data/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_controller_rescue_action_spec.rb +0 -54
  1721. data/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_view_base_spec.rb +0 -48
  1722. data/vendor/plugins/rspec_on_rails/spec/rails/extensions/active_record_spec.rb +0 -14
  1723. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb +0 -783
  1724. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/description_generation_spec.rb +0 -37
  1725. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/errors_on_spec.rb +0 -13
  1726. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/have_text_spec.rb +0 -62
  1727. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb +0 -209
  1728. data/vendor/plugins/rspec_on_rails/spec/rails/matchers/render_spec.rb +0 -169
  1729. data/vendor/plugins/rspec_on_rails/spec/rails/mocks/ar_classes.rb +0 -10
  1730. data/vendor/plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb +0 -55
  1731. data/vendor/plugins/rspec_on_rails/spec/rails/mocks/stub_model_spec.rb +0 -54
  1732. data/vendor/plugins/rspec_on_rails/spec/rails/sample_spec.rb +0 -7
  1733. data/vendor/plugins/rspec_on_rails/spec/rails/spec_server_spec.rb +0 -89
  1734. data/vendor/plugins/rspec_on_rails/spec/rails/spec_spec.rb +0 -11
  1735. data/vendor/plugins/rspec_on_rails/spec/rails_suite.rb +0 -7
  1736. data/vendor/plugins/rspec_on_rails/spec/spec_helper.rb +0 -46
  1737. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/action_view_base_spec_controller.rb +0 -2
  1738. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb +0 -68
  1739. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/redirect_spec_controller.rb +0 -59
  1740. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/render_spec_controller.rb +0 -26
  1741. data/vendor/plugins/rspec_on_rails/spec_resources/controllers/rjs_spec_controller.rb +0 -58
  1742. data/vendor/plugins/rspec_on_rails/spec_resources/helpers/explicit_helper.rb +0 -10
  1743. data/vendor/plugins/rspec_on_rails/spec_resources/helpers/more_explicit_helper.rb +0 -5
  1744. data/vendor/plugins/rspec_on_rails/spec_resources/helpers/plugin_application_helper.rb +0 -6
  1745. data/vendor/plugins/rspec_on_rails/spec_resources/helpers/view_spec_helper.rb +0 -13
  1746. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/_partial.rhtml +0 -0
  1747. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml +0 -1
  1748. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml +0 -1
  1749. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_setting_the_assigns_hash.rhtml +0 -0
  1750. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_errors_in_template.rhtml +0 -1
  1751. data/vendor/plugins/rspec_on_rails/spec_resources/views/controller_spec/action_with_template.rhtml +0 -1
  1752. data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/_a_partial.rhtml +0 -0
  1753. data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.js.rjs +0 -1
  1754. data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rhtml +0 -0
  1755. data/vendor/plugins/rspec_on_rails/spec_resources/views/render_spec/some_action.rjs +0 -1
  1756. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/_replacement_partial.rhtml +0 -1
  1757. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_div.rjs +0 -1
  1758. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/hide_page_element.rjs +0 -1
  1759. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/insert_html.rjs +0 -1
  1760. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace.rjs +0 -1
  1761. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html.rjs +0 -1
  1762. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/replace_html_with_partial.rjs +0 -1
  1763. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_effect.rjs +0 -1
  1764. data/vendor/plugins/rspec_on_rails/spec_resources/views/rjs_spec/visual_toggle_effect.rjs +0 -1
  1765. data/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/no_tags.rhtml +0 -1
  1766. data/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_no_attributes.rhtml +0 -1
  1767. data/vendor/plugins/rspec_on_rails/spec_resources/views/tag_spec/single_div_with_one_attribute.rhtml +0 -1
  1768. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial.rhtml +0 -2
  1769. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_used_twice.rhtml +0 -0
  1770. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_local_variable.rhtml +0 -1
  1771. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_partial_with_sub_partial.rhtml +0 -1
  1772. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/_spacer.rhtml +0 -1
  1773. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/accessor.rhtml +0 -3
  1774. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/entry_form.rhtml +0 -2
  1775. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/explicit_helper.rhtml +0 -2
  1776. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/foo/show.rhtml +0 -1
  1777. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/implicit_helper.rhtml +0 -2
  1778. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/multiple_helpers.rhtml +0 -3
  1779. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial.rhtml +0 -5
  1780. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial_using_collection.rhtml +0 -3
  1781. data/vendor/plugins/rspec_on_rails/spec_resources/views/view_spec/template_with_partial_with_array.rhtml +0 -1
  1782. data/vendor/plugins/rspec_on_rails/stories/all.rb +0 -10
  1783. data/vendor/plugins/rspec_on_rails/stories/helper.rb +0 -5
  1784. data/vendor/plugins/rspec_on_rails/stories/steps/people.rb +0 -8
  1785. data/vendor/plugins/rspec_on_rails/stories/transactions_should_rollback +0 -15
  1786. data/vendor/plugins/rspec_on_rails/stories/transactions_should_rollback.rb +0 -25
  1787. data/vendor/plugins/rspec_on_rails/tasks/rspec.rake +0 -137
  1788. data/vendor/plugins/scenarios/README +0 -262
  1789. data/vendor/plugins/scenarios/Rakefile +0 -66
  1790. data/vendor/plugins/scenarios/TODO +0 -1
  1791. data/vendor/plugins/scenarios/lib/scenarios.rb +0 -34
  1792. data/vendor/plugins/scenarios/lib/scenarios/base.rb +0 -73
  1793. data/vendor/plugins/scenarios/lib/scenarios/builtin/blank_scenario.rb +0 -18
  1794. data/vendor/plugins/scenarios/lib/scenarios/configuration.rb +0 -55
  1795. data/vendor/plugins/scenarios/lib/scenarios/extensions.rb +0 -5
  1796. data/vendor/plugins/scenarios/lib/scenarios/extensions/active_record.rb +0 -14
  1797. data/vendor/plugins/scenarios/lib/scenarios/extensions/delegating_attributes.rb +0 -40
  1798. data/vendor/plugins/scenarios/lib/scenarios/extensions/object.rb +0 -5
  1799. data/vendor/plugins/scenarios/lib/scenarios/extensions/string.rb +0 -22
  1800. data/vendor/plugins/scenarios/lib/scenarios/extensions/symbol.rb +0 -14
  1801. data/vendor/plugins/scenarios/lib/scenarios/extensions/test_case.rb +0 -76
  1802. data/vendor/plugins/scenarios/lib/scenarios/loading.rb +0 -51
  1803. data/vendor/plugins/scenarios/lib/scenarios/table_blasting.rb +0 -20
  1804. data/vendor/plugins/scenarios/lib/scenarios/table_methods.rb +0 -205
  1805. data/vendor/plugins/scenarios/spec/scenarios/complex_composite_scenario.rb +0 -9
  1806. data/vendor/plugins/scenarios/spec/scenarios/composite_scenario.rb +0 -9
  1807. data/vendor/plugins/scenarios/spec/scenarios/empty_scenario.rb +0 -4
  1808. data/vendor/plugins/scenarios/spec/scenarios/people_scenario.rb +0 -26
  1809. data/vendor/plugins/scenarios/spec/scenarios/places_scenario.rb +0 -22
  1810. data/vendor/plugins/scenarios/spec/scenarios/things_scenario.rb +0 -22
  1811. data/vendor/plugins/scenarios/spec/scenarios_spec.rb +0 -189
  1812. data/vendor/plugins/scenarios/spec/spec_helper.rb +0 -6
  1813. data/vendor/plugins/scenarios/tasks/scenario.rake +0 -21
  1814. data/vendor/plugins/scenarios/test/scenarios_test.rb +0 -39
  1815. data/vendor/plugins/scenarios/test/test_helper.rb +0 -5
  1816. data/vendor/plugins/scenarios/testing/application.rb +0 -2
  1817. data/vendor/plugins/scenarios/testing/database.yml +0 -9
  1818. data/vendor/plugins/scenarios/testing/environment.rb +0 -68
  1819. data/vendor/plugins/scenarios/testing/library.rb +0 -128
  1820. data/vendor/plugins/scenarios/testing/models.rb +0 -14
  1821. data/vendor/plugins/scenarios/testing/rspec_on_rails_3014.patch +0 -52
  1822. data/vendor/plugins/scenarios/testing/rspec_on_rails_3119.patch +0 -53
  1823. data/vendor/plugins/scenarios/testing/schema.rb +0 -31
  1824. data/vendor/rails/Rakefile +0 -21
  1825. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail.rb +0 -4
  1826. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/Makefile +0 -19
  1827. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/address.rb +0 -245
  1828. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/attachments.rb +0 -47
  1829. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/base64.rb +0 -52
  1830. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/compat.rb +0 -39
  1831. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/config.rb +0 -71
  1832. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb +0 -67
  1833. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/encode.rb +0 -481
  1834. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/facade.rb +0 -552
  1835. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/header.rb +0 -931
  1836. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/info.rb +0 -35
  1837. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/interface.rb +0 -540
  1838. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/loader.rb +0 -1
  1839. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mail.rb +0 -462
  1840. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mailbox.rb +0 -435
  1841. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mbox.rb +0 -1
  1842. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/net.rb +0 -282
  1843. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/obsolete.rb +0 -137
  1844. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.rb +0 -1475
  1845. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.y +0 -381
  1846. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/quoting.rb +0 -142
  1847. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner.rb +0 -43
  1848. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner_r.rb +0 -263
  1849. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/stringio.rb +0 -279
  1850. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/tmail.rb +0 -1
  1851. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/utils.rb +0 -281
  1852. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/version.rb +0 -38
  1853. data/vendor/rails/actionmailer/test/fixtures/first_mailer/share.rhtml +0 -0
  1854. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml +0 -0
  1855. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml +0 -0
  1856. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml +0 -0
  1857. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml +0 -0
  1858. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml +0 -0
  1859. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/multipart_with_template_path_with_dots.rhtml +0 -0
  1860. data/vendor/rails/actionmailer/test/fixtures/raw_base64_decoded_string +0 -0
  1861. data/vendor/rails/actionmailer/test/fixtures/raw_base64_encoded_string +0 -1
  1862. data/vendor/rails/actionmailer/test/fixtures/second_mailer/share.rhtml +0 -0
  1863. data/vendor/rails/actionmailer/test/fixtures/templates/signed_up.rhtml +0 -0
  1864. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml +0 -0
  1865. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml +0 -0
  1866. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml +0 -0
  1867. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml +0 -0
  1868. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.rhtml +0 -0
  1869. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml +0 -0
  1870. data/vendor/rails/actionpack/lib/action_controller/routing_optimisation.rb +0 -119
  1871. data/vendor/rails/actionpack/lib/action_view/compiled_templates.rb +0 -69
  1872. data/vendor/rails/actionpack/test/action_view_test.rb +0 -44
  1873. data/vendor/rails/actionpack/test/controller/fragment_store_setting_test.rb +0 -47
  1874. data/vendor/rails/actionpack/test/template/compiled_templates_test.rb +0 -193
  1875. data/vendor/rails/activemodel/CHANGES +0 -12
  1876. data/vendor/rails/activemodel/README +0 -21
  1877. data/vendor/rails/activemodel/Rakefile +0 -4
  1878. data/vendor/rails/activemodel/lib/active_model.rb +0 -17
  1879. data/vendor/rails/activemodel/lib/active_model/base.rb +0 -4
  1880. data/vendor/rails/activemodel/lib/active_model/callbacks.rb +0 -5
  1881. data/vendor/rails/activemodel/lib/active_model/observing.rb +0 -100
  1882. data/vendor/rails/activemodel/lib/active_model/validations.rb +0 -4
  1883. data/vendor/rails/activemodel/spec/observing_spec.rb +0 -120
  1884. data/vendor/rails/activemodel/spec/spec_helper.rb +0 -17
  1885. data/vendor/rails/activerecord/MIT-LICENSE +0 -20
  1886. data/vendor/rails/activerecord/lib/active_record/vendor/db2.rb +0 -362
  1887. data/vendor/rails/activerecord/test/aaa_create_tables_test.rb +0 -72
  1888. data/vendor/rails/activerecord/test/abstract_unit.rb +0 -84
  1889. data/vendor/rails/activerecord/test/active_schema_test_mysql.rb +0 -43
  1890. data/vendor/rails/activerecord/test/adapter_test.rb +0 -105
  1891. data/vendor/rails/activerecord/test/adapter_test_sqlserver.rb +0 -95
  1892. data/vendor/rails/activerecord/test/aggregations_test.rb +0 -128
  1893. data/vendor/rails/activerecord/test/all.sh +0 -8
  1894. data/vendor/rails/activerecord/test/ar_schema_test.rb +0 -33
  1895. data/vendor/rails/activerecord/test/association_inheritance_reload.rb +0 -14
  1896. data/vendor/rails/activerecord/test/associations/callbacks_test.rb +0 -147
  1897. data/vendor/rails/activerecord/test/associations/cascaded_eager_loading_test.rb +0 -110
  1898. data/vendor/rails/activerecord/test/associations/eager_singularization_test.rb +0 -145
  1899. data/vendor/rails/activerecord/test/associations/eager_test.rb +0 -442
  1900. data/vendor/rails/activerecord/test/associations/extension_test.rb +0 -47
  1901. data/vendor/rails/activerecord/test/associations/inner_join_association_test.rb +0 -88
  1902. data/vendor/rails/activerecord/test/associations/join_model_test.rb +0 -559
  1903. data/vendor/rails/activerecord/test/associations_test.rb +0 -2147
  1904. data/vendor/rails/activerecord/test/attribute_methods_test.rb +0 -146
  1905. data/vendor/rails/activerecord/test/base_test.rb +0 -1745
  1906. data/vendor/rails/activerecord/test/binary_test.rb +0 -32
  1907. data/vendor/rails/activerecord/test/calculations_test.rb +0 -251
  1908. data/vendor/rails/activerecord/test/callbacks_test.rb +0 -400
  1909. data/vendor/rails/activerecord/test/class_inheritable_attributes_test.rb +0 -32
  1910. data/vendor/rails/activerecord/test/column_alias_test.rb +0 -17
  1911. data/vendor/rails/activerecord/test/connection_test_firebird.rb +0 -8
  1912. data/vendor/rails/activerecord/test/connection_test_mysql.rb +0 -30
  1913. data/vendor/rails/activerecord/test/copy_table_test_sqlite.rb +0 -69
  1914. data/vendor/rails/activerecord/test/datatype_test_postgresql.rb +0 -203
  1915. data/vendor/rails/activerecord/test/date_time_test.rb +0 -37
  1916. data/vendor/rails/activerecord/test/default_test_firebird.rb +0 -16
  1917. data/vendor/rails/activerecord/test/defaults_test.rb +0 -67
  1918. data/vendor/rails/activerecord/test/deprecated_finder_test.rb +0 -30
  1919. data/vendor/rails/activerecord/test/finder_test.rb +0 -650
  1920. data/vendor/rails/activerecord/test/fixtures/author.rb +0 -109
  1921. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/attr_with_numeric_first_char +0 -1
  1922. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/attr_with_spaces +0 -1
  1923. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/blank_line +0 -3
  1924. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/duplicate_attributes +0 -3
  1925. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/missing_value +0 -1
  1926. data/vendor/rails/activerecord/test/fixtures/category.rb +0 -26
  1927. data/vendor/rails/activerecord/test/fixtures/comment.rb +0 -23
  1928. data/vendor/rails/activerecord/test/fixtures/company.rb +0 -114
  1929. data/vendor/rails/activerecord/test/fixtures/company_in_module.rb +0 -59
  1930. data/vendor/rails/activerecord/test/fixtures/computer.rb +0 -4
  1931. data/vendor/rails/activerecord/test/fixtures/contact.rb +0 -16
  1932. data/vendor/rails/activerecord/test/fixtures/customer.rb +0 -55
  1933. data/vendor/rails/activerecord/test/fixtures/db_definitions/db2.drop.sql +0 -33
  1934. data/vendor/rails/activerecord/test/fixtures/db_definitions/db2.sql +0 -235
  1935. data/vendor/rails/activerecord/test/fixtures/db_definitions/db22.drop.sql +0 -2
  1936. data/vendor/rails/activerecord/test/fixtures/db_definitions/db22.sql +0 -5
  1937. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird.drop.sql +0 -65
  1938. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird.sql +0 -310
  1939. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird2.drop.sql +0 -2
  1940. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird2.sql +0 -6
  1941. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase.drop.sql +0 -33
  1942. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase.sql +0 -273
  1943. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase2.drop.sql +0 -1
  1944. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase2.sql +0 -4
  1945. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase.drop.sql +0 -2
  1946. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase.sql +0 -318
  1947. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase2.drop.sql +0 -2
  1948. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase2.sql +0 -7
  1949. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle.drop.sql +0 -67
  1950. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle.sql +0 -330
  1951. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle2.drop.sql +0 -2
  1952. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle2.sql +0 -6
  1953. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql.drop.sql +0 -44
  1954. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql.sql +0 -292
  1955. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql2.drop.sql +0 -2
  1956. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql2.sql +0 -4
  1957. data/vendor/rails/activerecord/test/fixtures/db_definitions/schema.rb +0 -354
  1958. data/vendor/rails/activerecord/test/fixtures/db_definitions/schema2.rb +0 -11
  1959. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite.drop.sql +0 -33
  1960. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite.sql +0 -219
  1961. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite2.drop.sql +0 -2
  1962. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite2.sql +0 -5
  1963. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase.drop.sql +0 -35
  1964. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase.sql +0 -222
  1965. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase2.drop.sql +0 -4
  1966. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase2.sql +0 -5
  1967. data/vendor/rails/activerecord/test/fixtures/developer.rb +0 -72
  1968. data/vendor/rails/activerecord/test/fixtures/developers_projects/david_action_controller +0 -3
  1969. data/vendor/rails/activerecord/test/fixtures/developers_projects/david_active_record +0 -3
  1970. data/vendor/rails/activerecord/test/fixtures/developers_projects/jamis_active_record +0 -2
  1971. data/vendor/rails/activerecord/test/fixtures/migrations/1_people_have_last_names.rb +0 -9
  1972. data/vendor/rails/activerecord/test/fixtures/migrations/2_we_need_reminders.rb +0 -12
  1973. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/1_people_have_last_names.rb +0 -9
  1974. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/2_we_need_reminders.rb +0 -12
  1975. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/1000_people_have_middle_names.rb +0 -9
  1976. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/1_people_have_last_names.rb +0 -9
  1977. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/3_we_need_reminders.rb +0 -12
  1978. data/vendor/rails/activerecord/test/fixtures/order.rb +0 -4
  1979. data/vendor/rails/activerecord/test/fixtures/person.rb +0 -4
  1980. data/vendor/rails/activerecord/test/fixtures/pirate.rb +0 -5
  1981. data/vendor/rails/activerecord/test/fixtures/post.rb +0 -59
  1982. data/vendor/rails/activerecord/test/fixtures/project.rb +0 -28
  1983. data/vendor/rails/activerecord/test/fixtures/reply.rb +0 -37
  1984. data/vendor/rails/activerecord/test/fixtures/subscriber.rb +0 -6
  1985. data/vendor/rails/activerecord/test/fixtures/subscribers/first +0 -2
  1986. data/vendor/rails/activerecord/test/fixtures/subscribers/second +0 -2
  1987. data/vendor/rails/activerecord/test/fixtures/topic.rb +0 -37
  1988. data/vendor/rails/activerecord/test/fixtures/treasure.rb +0 -4
  1989. data/vendor/rails/activerecord/test/fixtures_test.rb +0 -602
  1990. data/vendor/rails/activerecord/test/inheritance_test.rb +0 -211
  1991. data/vendor/rails/activerecord/test/json_serialization_test.rb +0 -180
  1992. data/vendor/rails/activerecord/test/lifecycle_test.rb +0 -137
  1993. data/vendor/rails/activerecord/test/locking_test.rb +0 -282
  1994. data/vendor/rails/activerecord/test/method_scoping_test.rb +0 -416
  1995. data/vendor/rails/activerecord/test/migration_test.rb +0 -933
  1996. data/vendor/rails/activerecord/test/migration_test_firebird.rb +0 -124
  1997. data/vendor/rails/activerecord/test/mixin_test.rb +0 -95
  1998. data/vendor/rails/activerecord/test/modules_test.rb +0 -34
  1999. data/vendor/rails/activerecord/test/multiple_db_test.rb +0 -60
  2000. data/vendor/rails/activerecord/test/pk_test.rb +0 -101
  2001. data/vendor/rails/activerecord/test/query_cache_test.rb +0 -104
  2002. data/vendor/rails/activerecord/test/readonly_test.rb +0 -107
  2003. data/vendor/rails/activerecord/test/reflection_test.rb +0 -175
  2004. data/vendor/rails/activerecord/test/reserved_word_test_mysql.rb +0 -177
  2005. data/vendor/rails/activerecord/test/schema_authorization_test_postgresql.rb +0 -75
  2006. data/vendor/rails/activerecord/test/schema_dumper_test.rb +0 -131
  2007. data/vendor/rails/activerecord/test/schema_test_postgresql.rb +0 -64
  2008. data/vendor/rails/activerecord/test/serialization_test.rb +0 -47
  2009. data/vendor/rails/activerecord/test/synonym_test_oracle.rb +0 -17
  2010. data/vendor/rails/activerecord/test/table_name_test_sqlserver.rb +0 -23
  2011. data/vendor/rails/activerecord/test/threaded_connections_test.rb +0 -48
  2012. data/vendor/rails/activerecord/test/transactions_test.rb +0 -281
  2013. data/vendor/rails/activerecord/test/unconnected_test.rb +0 -32
  2014. data/vendor/rails/activerecord/test/validations_test.rb +0 -1395
  2015. data/vendor/rails/activerecord/test/xml_serialization_test.rb +0 -202
  2016. data/vendor/rails/activeresource/MIT-LICENSE +0 -20
  2017. data/vendor/rails/activesupport/MIT-LICENSE +0 -20
  2018. data/vendor/rails/activesupport/Rakefile +0 -83
  2019. data/vendor/rails/activesupport/install.rb +0 -30
  2020. data/vendor/rails/activesupport/lib/active_support/testing.rb +0 -1
  2021. data/vendor/rails/activesupport/test/abstract_unit.rb +0 -20
  2022. data/vendor/rails/activesupport/test/autoloading_fixtures/a/b.rb +0 -2
  2023. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/d.rb +0 -2
  2024. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/e/f.rb +0 -2
  2025. data/vendor/rails/activesupport/test/autoloading_fixtures/application.rb +0 -1
  2026. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder.rb +0 -3
  2027. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/class_folder_subclass.rb +0 -3
  2028. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/inline_class.rb +0 -2
  2029. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/nested_class.rb +0 -7
  2030. data/vendor/rails/activesupport/test/autoloading_fixtures/conflict.rb +0 -1
  2031. data/vendor/rails/activesupport/test/autoloading_fixtures/counting_loader.rb +0 -5
  2032. data/vendor/rails/activesupport/test/autoloading_fixtures/cross_site_dependency.rb +0 -2
  2033. data/vendor/rails/activesupport/test/autoloading_fixtures/e.rb +0 -2
  2034. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/inline_class.rb +0 -2
  2035. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_class.rb +0 -4
  2036. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_sibling.rb +0 -2
  2037. data/vendor/rails/activesupport/test/autoloading_fixtures/module_with_custom_const_missing/a/b.rb +0 -1
  2038. data/vendor/rails/activesupport/test/autoloading_fixtures/multiple_constant_file.rb +0 -2
  2039. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_name_error.rb +0 -3
  2040. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_no_method_error.rb +0 -3
  2041. data/vendor/rails/activesupport/test/buffered_logger_test.rb +0 -107
  2042. data/vendor/rails/activesupport/test/clean_logger_test.rb +0 -57
  2043. data/vendor/rails/activesupport/test/core_ext/array_ext_test.rb +0 -250
  2044. data/vendor/rails/activesupport/test/core_ext/blank_test.rb +0 -19
  2045. data/vendor/rails/activesupport/test/core_ext/cgi_ext_test.rb +0 -14
  2046. data/vendor/rails/activesupport/test/core_ext/class/attribute_accessor_test.rb +0 -31
  2047. data/vendor/rails/activesupport/test/core_ext/class/class_inheritable_attributes_test.rb +0 -224
  2048. data/vendor/rails/activesupport/test/core_ext/class/delegating_attributes_test.rb +0 -105
  2049. data/vendor/rails/activesupport/test/core_ext/class_test.rb +0 -46
  2050. data/vendor/rails/activesupport/test/core_ext/date_ext_test.rb +0 -196
  2051. data/vendor/rails/activesupport/test/core_ext/date_time_ext_test.rb +0 -230
  2052. data/vendor/rails/activesupport/test/core_ext/duplicable_test.rb +0 -22
  2053. data/vendor/rails/activesupport/test/core_ext/duration_test.rb +0 -21
  2054. data/vendor/rails/activesupport/test/core_ext/enumerable_test.rb +0 -61
  2055. data/vendor/rails/activesupport/test/core_ext/exception_test.rb +0 -64
  2056. data/vendor/rails/activesupport/test/core_ext/file_test.rb +0 -29
  2057. data/vendor/rails/activesupport/test/core_ext/float_ext_test.rb +0 -25
  2058. data/vendor/rails/activesupport/test/core_ext/hash_ext_test.rb +0 -743
  2059. data/vendor/rails/activesupport/test/core_ext/integer_ext_test.rb +0 -37
  2060. data/vendor/rails/activesupport/test/core_ext/kernel_test.rb +0 -43
  2061. data/vendor/rails/activesupport/test/core_ext/load_error_tests.rb +0 -16
  2062. data/vendor/rails/activesupport/test/core_ext/module/attr_accessor_with_default_test.rb +0 -30
  2063. data/vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb +0 -52
  2064. data/vendor/rails/activesupport/test/core_ext/module/attribute_accessor_test.rb +0 -33
  2065. data/vendor/rails/activesupport/test/core_ext/module/attribute_aliasing_test.rb +0 -58
  2066. data/vendor/rails/activesupport/test/core_ext/module_test.rb +0 -293
  2067. data/vendor/rails/activesupport/test/core_ext/name_error_test.rb +0 -24
  2068. data/vendor/rails/activesupport/test/core_ext/numeric_ext_test.rb +0 -147
  2069. data/vendor/rails/activesupport/test/core_ext/object_and_class_ext_test.rb +0 -242
  2070. data/vendor/rails/activesupport/test/core_ext/pathname_test.rb +0 -9
  2071. data/vendor/rails/activesupport/test/core_ext/proc_test.rb +0 -11
  2072. data/vendor/rails/activesupport/test/core_ext/range_ext_test.rb +0 -63
  2073. data/vendor/rails/activesupport/test/core_ext/string_ext_test.rb +0 -180
  2074. data/vendor/rails/activesupport/test/core_ext/symbol_test.rb +0 -9
  2075. data/vendor/rails/activesupport/test/core_ext/time_ext_test.rb +0 -420
  2076. data/vendor/rails/activesupport/test/dependencies/check_warnings.rb +0 -2
  2077. data/vendor/rails/activesupport/test/dependencies/conflict.rb +0 -1
  2078. data/vendor/rails/activesupport/test/dependencies/cross_site_depender.rb +0 -3
  2079. data/vendor/rails/activesupport/test/dependencies/mutual_one.rb +0 -4
  2080. data/vendor/rails/activesupport/test/dependencies/mutual_two.rb +0 -4
  2081. data/vendor/rails/activesupport/test/dependencies/raises_exception.rb +0 -3
  2082. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent0.rb +0 -1
  2083. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent1.rb +0 -1
  2084. data/vendor/rails/activesupport/test/dependencies/service_one.rb +0 -5
  2085. data/vendor/rails/activesupport/test/dependencies/service_two.rb +0 -2
  2086. data/vendor/rails/activesupport/test/dependencies_test.rb +0 -751
  2087. data/vendor/rails/activesupport/test/deprecation_test.rb +0 -151
  2088. data/vendor/rails/activesupport/test/inflector_test.rb +0 -248
  2089. data/vendor/rails/activesupport/test/inflector_test_cases.rb +0 -208
  2090. data/vendor/rails/activesupport/test/json/decoding_test.rb +0 -41
  2091. data/vendor/rails/activesupport/test/json/encoding_test.rb +0 -111
  2092. data/vendor/rails/activesupport/test/multibyte_chars_test.rb +0 -173
  2093. data/vendor/rails/activesupport/test/multibyte_conformance.rb +0 -141
  2094. data/vendor/rails/activesupport/test/multibyte_handler_test.rb +0 -367
  2095. data/vendor/rails/activesupport/test/option_merger_test.rb +0 -50
  2096. data/vendor/rails/activesupport/test/ordered_options_test.rb +0 -84
  2097. data/vendor/rails/activesupport/test/test_test.rb +0 -73
  2098. data/vendor/rails/activesupport/test/time_zone_test.rb +0 -98
  2099. data/vendor/rails/activesupport/test/whiny_nil_test.rb +0 -38
  2100. data/vendor/rails/cleanlogs.sh +0 -1
  2101. data/vendor/rails/pushgems.rb +0 -15
  2102. data/vendor/rails/railties/lib/tasks/tmp.rake +0 -37
  2103. data/vendor/rails/railties/test/abstract_unit.rb +0 -24
  2104. data/vendor/rails/railties/test/boot_test.rb +0 -179
  2105. data/vendor/rails/railties/test/console_app_test.rb +0 -29
  2106. data/vendor/rails/railties/test/fcgi_dispatcher_test.rb +0 -265
  2107. data/vendor/rails/railties/test/fixtures/environment_with_constant.rb +0 -1
  2108. data/vendor/rails/railties/test/fixtures/lib/generators/missing_class/missing_class_generator.rb +0 -0
  2109. data/vendor/rails/railties/test/fixtures/lib/generators/working/working_generator.rb +0 -2
  2110. data/vendor/rails/railties/test/fixtures/plugins/default/plugin_with_no_lib_dir/init.rb +0 -0
  2111. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/init.rb +0 -7
  2112. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/lib/stubby_mixin.rb +0 -2
  2113. data/vendor/rails/railties/test/generators/generator_test_helper.rb +0 -195
  2114. data/vendor/rails/railties/test/generators/rails_model_generator_test.rb +0 -109
  2115. data/vendor/rails/railties/test/generators/rails_resource_generator_test.rb +0 -106
  2116. data/vendor/rails/railties/test/generators/rails_scaffold_generator_test.rb +0 -185
  2117. data/vendor/rails/railties/test/initializer_test.rb +0 -218
  2118. data/vendor/rails/railties/test/mocks/routes.rb +0 -6
  2119. data/vendor/rails/railties/test/plugin_loader_test.rb +0 -140
  2120. data/vendor/rails/railties/test/plugin_locator_test.rb +0 -69
  2121. data/vendor/rails/railties/test/plugin_test.rb +0 -141
  2122. data/vendor/rails/railties/test/plugin_test_helper.rb +0 -29
  2123. data/vendor/rails/railties/test/rails_generator_test.rb +0 -137
  2124. data/vendor/rails/railties/test/rails_info_controller_test.rb +0 -48
  2125. data/vendor/rails/railties/test/rails_info_test.rb +0 -105
  2126. data/vendor/rails/railties/test/secret_key_generation_test.rb +0 -35
  2127. data/vendor/rails/release.rb +0 -25
@@ -1,146 +0,0 @@
1
- require 'abstract_unit'
2
- require 'fixtures/topic'
3
-
4
- class AttributeMethodsTest < Test::Unit::TestCase
5
- fixtures :topics
6
- def setup
7
- @old_suffixes = ActiveRecord::Base.send(:attribute_method_suffixes).dup
8
- @target = Class.new(ActiveRecord::Base)
9
- @target.table_name = 'topics'
10
- end
11
-
12
- def teardown
13
- ActiveRecord::Base.send(:attribute_method_suffixes).clear
14
- ActiveRecord::Base.attribute_method_suffix *@old_suffixes
15
- end
16
-
17
-
18
- def test_match_attribute_method_query_returns_match_data
19
- assert_not_nil md = @target.match_attribute_method?('title=')
20
- assert_equal 'title', md.pre_match
21
- assert_equal ['='], md.captures
22
-
23
- %w(_hello_world ist! _maybe?).each do |suffix|
24
- @target.class_eval "def attribute#{suffix}(*args) args end"
25
- @target.attribute_method_suffix suffix
26
-
27
- assert_not_nil md = @target.match_attribute_method?("title#{suffix}")
28
- assert_equal 'title', md.pre_match
29
- assert_equal [suffix], md.captures
30
- end
31
- end
32
-
33
- def test_declared_attribute_method_affects_respond_to_and_method_missing
34
- topic = @target.new(:title => 'Budget')
35
- assert topic.respond_to?('title')
36
- assert_equal 'Budget', topic.title
37
- assert !topic.respond_to?('title_hello_world')
38
- assert_raise(NoMethodError) { topic.title_hello_world }
39
-
40
- %w(_hello_world _it! _candidate= able?).each do |suffix|
41
- @target.class_eval "def attribute#{suffix}(*args) args end"
42
- @target.attribute_method_suffix suffix
43
-
44
- meth = "title#{suffix}"
45
- assert topic.respond_to?(meth)
46
- assert_equal ['title'], topic.send(meth)
47
- assert_equal ['title', 'a'], topic.send(meth, 'a')
48
- assert_equal ['title', 1, 2, 3], topic.send(meth, 1, 2, 3)
49
- end
50
- end
51
-
52
- def test_should_unserialize_attributes_for_frozen_records
53
- myobj = {:value1 => :value2}
54
- topic = Topic.create("content" => myobj)
55
- topic.freeze
56
- assert_equal myobj, topic.content
57
- end
58
-
59
- def test_kernel_methods_not_implemented_in_activerecord
60
- %w(test name display y).each do |method|
61
- assert_equal false, ActiveRecord::Base.instance_method_already_implemented?(method), "##{method} is defined"
62
- end
63
- end
64
-
65
- def test_primary_key_implemented
66
- assert_equal true, Class.new(ActiveRecord::Base).instance_method_already_implemented?('id')
67
- end
68
-
69
- def test_defined_kernel_methods_implemented_in_model
70
- %w(test name display y).each do |method|
71
- klass = Class.new ActiveRecord::Base
72
- klass.class_eval "def #{method}() 'defined #{method}' end"
73
- assert_equal true, klass.instance_method_already_implemented?(method), "##{method} is not defined"
74
- end
75
- end
76
-
77
- def test_defined_kernel_methods_implemented_in_model_abstract_subclass
78
- %w(test name display y).each do |method|
79
- abstract = Class.new ActiveRecord::Base
80
- abstract.class_eval "def #{method}() 'defined #{method}' end"
81
- abstract.abstract_class = true
82
- klass = Class.new abstract
83
- assert_equal true, klass.instance_method_already_implemented?(method), "##{method} is not defined"
84
- end
85
- end
86
-
87
- def test_raises_dangerous_attribute_error_when_defining_activerecord_method_in_model
88
- %w(save create_or_update).each do |method|
89
- klass = Class.new ActiveRecord::Base
90
- klass.class_eval "def #{method}() 'defined #{method}' end"
91
- assert_raises ActiveRecord::DangerousAttributeError do
92
- klass.instance_method_already_implemented?(method)
93
- end
94
- end
95
- end
96
-
97
- def test_only_time_related_columns_are_meant_to_be_cached_by_default
98
- expected = %w(datetime timestamp time date).sort
99
- assert_equal expected, ActiveRecord::Base.attribute_types_cached_by_default.map(&:to_s).sort
100
- end
101
-
102
- def test_declaring_attributes_as_cached_adds_them_to_the_attributes_cached_by_default
103
- default_attributes = Topic.cached_attributes
104
- Topic.cache_attributes :replies_count
105
- expected = default_attributes + ["replies_count"]
106
- assert_equal expected.sort, Topic.cached_attributes.sort
107
- Topic.instance_variable_set "@cached_attributes", nil
108
- end
109
-
110
- def test_time_related_columns_are_actually_cached
111
- column_types = %w(datetime timestamp time date).map(&:to_sym)
112
- column_names = Topic.columns.select{|c| column_types.include?(c.type) }.map(&:name)
113
-
114
- assert_equal column_names.sort, Topic.cached_attributes.sort
115
- assert_equal time_related_columns_on_topic.sort, Topic.cached_attributes.sort
116
- end
117
-
118
- def test_accessing_cached_attributes_caches_the_converted_values_and_nothing_else
119
- t = topics(:first)
120
- cache = t.instance_variable_get "@attributes_cache"
121
-
122
- assert_not_nil cache
123
- assert cache.empty?
124
-
125
- all_columns = Topic.columns.map(&:name)
126
- cached_columns = time_related_columns_on_topic
127
- uncached_columns = all_columns - cached_columns
128
-
129
- all_columns.each do |attr_name|
130
- attribute_gets_cached = Topic.cache_attribute?(attr_name)
131
- val = t.send attr_name unless attr_name == "type"
132
- if attribute_gets_cached
133
- assert cached_columns.include?(attr_name)
134
- assert_equal val, cache[attr_name]
135
- else
136
- assert uncached_columns.include?(attr_name)
137
- assert !cache.include?(attr_name)
138
- end
139
- end
140
- end
141
-
142
- private
143
- def time_related_columns_on_topic
144
- Topic.columns.select{|c| [:time, :date, :datetime, :timestamp].include?(c.type)}.map(&:name)
145
- end
146
- end
@@ -1,1745 +0,0 @@
1
- require 'abstract_unit'
2
- require 'fixtures/topic'
3
- require 'fixtures/reply'
4
- require 'fixtures/company'
5
- require 'fixtures/customer'
6
- require 'fixtures/developer'
7
- require 'fixtures/project'
8
- require 'fixtures/default'
9
- require 'fixtures/auto_id'
10
- require 'fixtures/column_name'
11
- require 'fixtures/subscriber'
12
- require 'fixtures/keyboard'
13
- require 'fixtures/post'
14
- require 'fixtures/minimalistic'
15
- require 'rexml/document'
16
-
17
- class Category < ActiveRecord::Base; end
18
- class Smarts < ActiveRecord::Base; end
19
- class CreditCard < ActiveRecord::Base
20
- class PinNumber < ActiveRecord::Base
21
- class CvvCode < ActiveRecord::Base; end
22
- class SubCvvCode < CvvCode; end
23
- end
24
- class SubPinNumber < PinNumber; end
25
- class Brand < Category; end
26
- end
27
- class MasterCreditCard < ActiveRecord::Base; end
28
- class Post < ActiveRecord::Base; end
29
- class Computer < ActiveRecord::Base; end
30
- class NonExistentTable < ActiveRecord::Base; end
31
- class TestOracleDefault < ActiveRecord::Base; end
32
-
33
- class LoosePerson < ActiveRecord::Base
34
- self.table_name = 'people'
35
- self.abstract_class = true
36
- attr_protected :credit_rating, :administrator
37
- end
38
-
39
- class LooseDescendant < LoosePerson
40
- attr_protected :phone_number
41
- end
42
-
43
- class LooseDescendantSecond< LoosePerson
44
- attr_protected :phone_number
45
- attr_protected :name
46
- end
47
-
48
- class TightPerson < ActiveRecord::Base
49
- self.table_name = 'people'
50
- attr_accessible :name, :address
51
- end
52
-
53
- class TightDescendant < TightPerson
54
- attr_accessible :phone_number
55
- end
56
-
57
- class ReadonlyTitlePost < Post
58
- attr_readonly :title
59
- end
60
-
61
- class Booleantest < ActiveRecord::Base; end
62
-
63
- class Task < ActiveRecord::Base
64
- attr_protected :starting
65
- end
66
-
67
- class TopicWithProtectedContentAndAccessibleAuthorName < ActiveRecord::Base
68
- self.table_name = 'topics'
69
- attr_accessible :author_name
70
- attr_protected :content
71
- end
72
-
73
- class BasicsTest < Test::Unit::TestCase
74
- fixtures :topics, :companies, :developers, :projects, :computers, :accounts, :minimalistics
75
-
76
- def test_table_exists
77
- assert !NonExistentTable.table_exists?
78
- assert Topic.table_exists?
79
- end
80
-
81
- def test_set_attributes
82
- topic = Topic.find(1)
83
- topic.attributes = { "title" => "Budget", "author_name" => "Jason" }
84
- topic.save
85
- assert_equal("Budget", topic.title)
86
- assert_equal("Jason", topic.author_name)
87
- assert_equal(topics(:first).author_email_address, Topic.find(1).author_email_address)
88
- end
89
-
90
- def test_integers_as_nil
91
- test = AutoId.create('value' => '')
92
- assert_nil AutoId.find(test.id).value
93
- end
94
-
95
- def test_set_attributes_with_block
96
- topic = Topic.new do |t|
97
- t.title = "Budget"
98
- t.author_name = "Jason"
99
- end
100
-
101
- assert_equal("Budget", topic.title)
102
- assert_equal("Jason", topic.author_name)
103
- end
104
-
105
- def test_respond_to?
106
- topic = Topic.find(1)
107
- assert topic.respond_to?("title")
108
- assert topic.respond_to?("title?")
109
- assert topic.respond_to?("title=")
110
- assert topic.respond_to?(:title)
111
- assert topic.respond_to?(:title?)
112
- assert topic.respond_to?(:title=)
113
- assert topic.respond_to?("author_name")
114
- assert topic.respond_to?("attribute_names")
115
- assert !topic.respond_to?("nothingness")
116
- assert !topic.respond_to?(:nothingness)
117
- end
118
-
119
- def test_array_content
120
- topic = Topic.new
121
- topic.content = %w( one two three )
122
- topic.save
123
-
124
- assert_equal(%w( one two three ), Topic.find(topic.id).content)
125
- end
126
-
127
- def test_hash_content
128
- topic = Topic.new
129
- topic.content = { "one" => 1, "two" => 2 }
130
- topic.save
131
-
132
- assert_equal 2, Topic.find(topic.id).content["two"]
133
-
134
- topic.content["three"] = 3
135
- topic.save
136
-
137
- assert_equal 3, Topic.find(topic.id).content["three"]
138
- end
139
-
140
- def test_update_array_content
141
- topic = Topic.new
142
- topic.content = %w( one two three )
143
-
144
- topic.content.push "four"
145
- assert_equal(%w( one two three four ), topic.content)
146
-
147
- topic.save
148
-
149
- topic = Topic.find(topic.id)
150
- topic.content << "five"
151
- assert_equal(%w( one two three four five ), topic.content)
152
- end
153
-
154
- def test_case_sensitive_attributes_hash
155
- # DB2 is not case-sensitive
156
- return true if current_adapter?(:DB2Adapter)
157
-
158
- assert_equal @loaded_fixtures['computers']['workstation'].to_hash, Computer.find(:first).attributes
159
- end
160
-
161
- def test_create
162
- topic = Topic.new
163
- topic.title = "New Topic"
164
- topic.save
165
- topic_reloaded = Topic.find(topic.id)
166
- assert_equal("New Topic", topic_reloaded.title)
167
- end
168
-
169
- def test_save!
170
- topic = Topic.new(:title => "New Topic")
171
- assert topic.save!
172
-
173
- reply = Reply.new
174
- assert_raise(ActiveRecord::RecordInvalid) { reply.save! }
175
- end
176
-
177
- def test_save_null_string_attributes
178
- topic = Topic.find(1)
179
- topic.attributes = { "title" => "null", "author_name" => "null" }
180
- topic.save!
181
- topic.reload
182
- assert_equal("null", topic.title)
183
- assert_equal("null", topic.author_name)
184
- end
185
-
186
- def test_save_nil_string_attributes
187
- topic = Topic.find(1)
188
- topic.title = nil
189
- topic.save!
190
- topic.reload
191
- assert_nil topic.title
192
- end
193
-
194
- def test_save_for_record_with_only_primary_key
195
- minimalistic = Minimalistic.new
196
- assert_nothing_raised { minimalistic.save }
197
- end
198
-
199
- def test_save_for_record_with_only_primary_key_that_is_provided
200
- assert_nothing_raised { Minimalistic.create!(:id => 2) }
201
- end
202
-
203
- def test_hashes_not_mangled
204
- new_topic = { :title => "New Topic" }
205
- new_topic_values = { :title => "AnotherTopic" }
206
-
207
- topic = Topic.new(new_topic)
208
- assert_equal new_topic[:title], topic.title
209
-
210
- topic.attributes= new_topic_values
211
- assert_equal new_topic_values[:title], topic.title
212
- end
213
-
214
- def test_create_many
215
- topics = Topic.create([ { "title" => "first" }, { "title" => "second" }])
216
- assert_equal 2, topics.size
217
- assert_equal "first", topics.first.title
218
- end
219
-
220
- def test_create_columns_not_equal_attributes
221
- topic = Topic.new
222
- topic.title = 'Another New Topic'
223
- topic.send :write_attribute, 'does_not_exist', 'test'
224
- assert_nothing_raised { topic.save }
225
- end
226
-
227
- def test_create_through_factory
228
- topic = Topic.create("title" => "New Topic")
229
- topicReloaded = Topic.find(topic.id)
230
- assert_equal(topic, topicReloaded)
231
- end
232
-
233
- def test_update
234
- topic = Topic.new
235
- topic.title = "Another New Topic"
236
- topic.written_on = "2003-12-12 23:23:00"
237
- topic.save
238
- topicReloaded = Topic.find(topic.id)
239
- assert_equal("Another New Topic", topicReloaded.title)
240
-
241
- topicReloaded.title = "Updated topic"
242
- topicReloaded.save
243
-
244
- topicReloadedAgain = Topic.find(topic.id)
245
-
246
- assert_equal("Updated topic", topicReloadedAgain.title)
247
- end
248
-
249
- def test_update_columns_not_equal_attributes
250
- topic = Topic.new
251
- topic.title = "Still another topic"
252
- topic.save
253
-
254
- topicReloaded = Topic.find(topic.id)
255
- topicReloaded.title = "A New Topic"
256
- topicReloaded.send :write_attribute, 'does_not_exist', 'test'
257
- assert_nothing_raised { topicReloaded.save }
258
- end
259
-
260
- def test_update_for_record_with_only_primary_key
261
- minimalistic = minimalistics(:first)
262
- assert_nothing_raised { minimalistic.save }
263
- end
264
-
265
- def test_write_attribute
266
- topic = Topic.new
267
- topic.send(:write_attribute, :title, "Still another topic")
268
- assert_equal "Still another topic", topic.title
269
-
270
- topic.send(:write_attribute, "title", "Still another topic: part 2")
271
- assert_equal "Still another topic: part 2", topic.title
272
- end
273
-
274
- def test_read_attribute
275
- topic = Topic.new
276
- topic.title = "Don't change the topic"
277
- assert_equal "Don't change the topic", topic.send(:read_attribute, "title")
278
- assert_equal "Don't change the topic", topic["title"]
279
-
280
- assert_equal "Don't change the topic", topic.send(:read_attribute, :title)
281
- assert_equal "Don't change the topic", topic[:title]
282
- end
283
-
284
- def test_read_attribute_when_false
285
- topic = topics(:first)
286
- topic.approved = false
287
- assert !topic.approved?, "approved should be false"
288
- topic.approved = "false"
289
- assert !topic.approved?, "approved should be false"
290
- end
291
-
292
- def test_read_attribute_when_true
293
- topic = topics(:first)
294
- topic.approved = true
295
- assert topic.approved?, "approved should be true"
296
- topic.approved = "true"
297
- assert topic.approved?, "approved should be true"
298
- end
299
-
300
- def test_read_write_boolean_attribute
301
- topic = Topic.new
302
- # puts ""
303
- # puts "New Topic"
304
- # puts topic.inspect
305
- topic.approved = "false"
306
- # puts "Expecting false"
307
- # puts topic.inspect
308
- assert !topic.approved?, "approved should be false"
309
- topic.approved = "false"
310
- # puts "Expecting false"
311
- # puts topic.inspect
312
- assert !topic.approved?, "approved should be false"
313
- topic.approved = "true"
314
- # puts "Expecting true"
315
- # puts topic.inspect
316
- assert topic.approved?, "approved should be true"
317
- topic.approved = "true"
318
- # puts "Expecting true"
319
- # puts topic.inspect
320
- assert topic.approved?, "approved should be true"
321
- # puts ""
322
- end
323
-
324
- def test_query_attribute_string
325
- [nil, "", " "].each do |value|
326
- assert_equal false, Topic.new(:author_name => value).author_name?
327
- end
328
-
329
- assert_equal true, Topic.new(:author_name => "Name").author_name?
330
- end
331
-
332
- def test_query_attribute_number
333
- [nil, 0, "0"].each do |value|
334
- assert_equal false, Developer.new(:salary => value).salary?
335
- end
336
-
337
- assert_equal true, Developer.new(:salary => 1).salary?
338
- assert_equal true, Developer.new(:salary => "1").salary?
339
- end
340
-
341
- def test_query_attribute_boolean
342
- [nil, "", false, "false", "f", 0].each do |value|
343
- assert_equal false, Topic.new(:approved => value).approved?
344
- end
345
-
346
- [true, "true", "1", 1].each do |value|
347
- assert_equal true, Topic.new(:approved => value).approved?
348
- end
349
- end
350
-
351
- def test_query_attribute_with_custom_fields
352
- object = Company.find_by_sql(<<-SQL).first
353
- SELECT c1.*, c2.ruby_type as string_value, c2.rating as int_value
354
- FROM companies c1, companies c2
355
- WHERE c1.firm_id = c2.id
356
- AND c1.id = 2
357
- SQL
358
-
359
- assert_equal "Firm", object.string_value
360
- assert object.string_value?
361
-
362
- object.string_value = " "
363
- assert !object.string_value?
364
-
365
- assert_equal 1, object.int_value.to_i
366
- assert object.int_value?
367
-
368
- object.int_value = "0"
369
- assert !object.int_value?
370
- end
371
-
372
-
373
- def test_reader_for_invalid_column_names
374
- Topic.send(:define_read_method, "mumub-jumbo".to_sym, "mumub-jumbo", nil)
375
- assert !Topic.generated_methods.include?("mumub-jumbo")
376
- end
377
-
378
- def test_non_attribute_access_and_assignment
379
- topic = Topic.new
380
- assert !topic.respond_to?("mumbo")
381
- assert_raises(NoMethodError) { topic.mumbo }
382
- assert_raises(NoMethodError) { topic.mumbo = 5 }
383
- end
384
-
385
- def test_preserving_date_objects
386
- # SQL Server doesn't have a separate column type just for dates, so all are returned as time
387
- return true if current_adapter?(:SQLServerAdapter)
388
-
389
- if current_adapter?(:SybaseAdapter, :OracleAdapter)
390
- # Sybase ctlib does not (yet?) support the date type; use datetime instead.
391
- # Oracle treats all dates/times as Time.
392
- assert_kind_of(
393
- Time, Topic.find(1).last_read,
394
- "The last_read attribute should be of the Time class"
395
- )
396
- else
397
- assert_kind_of(
398
- Date, Topic.find(1).last_read,
399
- "The last_read attribute should be of the Date class"
400
- )
401
- end
402
- end
403
-
404
- def test_preserving_time_objects
405
- assert_kind_of(
406
- Time, Topic.find(1).bonus_time,
407
- "The bonus_time attribute should be of the Time class"
408
- )
409
-
410
- assert_kind_of(
411
- Time, Topic.find(1).written_on,
412
- "The written_on attribute should be of the Time class"
413
- )
414
-
415
- # For adapters which support microsecond resolution.
416
- if current_adapter?(:PostgreSQLAdapter)
417
- assert_equal 11, Topic.find(1).written_on.sec
418
- assert_equal 223300, Topic.find(1).written_on.usec
419
- assert_equal 9900, Topic.find(2).written_on.usec
420
- end
421
- end
422
-
423
- def test_custom_mutator
424
- topic = Topic.find(1)
425
- # This mutator is protected in the class definition
426
- topic.send(:approved=, true)
427
- assert topic.instance_variable_get("@custom_approved")
428
- end
429
-
430
- def test_destroy
431
- topic = Topic.find(1)
432
- assert_equal topic, topic.destroy, 'topic.destroy did not return self'
433
- assert topic.frozen?, 'topic not frozen after destroy'
434
- assert_raise(ActiveRecord::RecordNotFound) { Topic.find(topic.id) }
435
- end
436
-
437
- def test_record_not_found_exception
438
- assert_raises(ActiveRecord::RecordNotFound) { topicReloaded = Topic.find(99999) }
439
- end
440
-
441
- def test_initialize_with_attributes
442
- topic = Topic.new({
443
- "title" => "initialized from attributes", "written_on" => "2003-12-12 23:23"
444
- })
445
-
446
- assert_equal("initialized from attributes", topic.title)
447
- end
448
-
449
- def test_initialize_with_invalid_attribute
450
- begin
451
- topic = Topic.new({ "title" => "test",
452
- "last_read(1i)" => "2005", "last_read(2i)" => "2", "last_read(3i)" => "31"})
453
- rescue ActiveRecord::MultiparameterAssignmentErrors => ex
454
- assert_equal(1, ex.errors.size)
455
- assert_equal("last_read", ex.errors[0].attribute)
456
- end
457
- end
458
-
459
- def test_load
460
- topics = Topic.find(:all, :order => 'id')
461
- assert_equal(2, topics.size)
462
- assert_equal(topics(:first).title, topics.first.title)
463
- end
464
-
465
- def test_load_with_condition
466
- topics = Topic.find(:all, :conditions => "author_name = 'Mary'")
467
-
468
- assert_equal(1, topics.size)
469
- assert_equal(topics(:second).title, topics.first.title)
470
- end
471
-
472
- def test_table_name_guesses
473
- classes = [Category, Smarts, CreditCard, CreditCard::PinNumber, CreditCard::PinNumber::CvvCode, CreditCard::SubPinNumber, CreditCard::Brand, MasterCreditCard]
474
-
475
- assert_equal "topics", Topic.table_name
476
-
477
- assert_equal "categories", Category.table_name
478
- assert_equal "smarts", Smarts.table_name
479
- assert_equal "credit_cards", CreditCard.table_name
480
- assert_equal "credit_card_pin_numbers", CreditCard::PinNumber.table_name
481
- assert_equal "credit_card_pin_number_cvv_codes", CreditCard::PinNumber::CvvCode.table_name
482
- assert_equal "credit_card_pin_numbers", CreditCard::SubPinNumber.table_name
483
- assert_equal "categories", CreditCard::Brand.table_name
484
- assert_equal "master_credit_cards", MasterCreditCard.table_name
485
-
486
- ActiveRecord::Base.pluralize_table_names = false
487
- classes.each(&:reset_table_name)
488
-
489
- assert_equal "category", Category.table_name
490
- assert_equal "smarts", Smarts.table_name
491
- assert_equal "credit_card", CreditCard.table_name
492
- assert_equal "credit_card_pin_number", CreditCard::PinNumber.table_name
493
- assert_equal "credit_card_pin_number_cvv_code", CreditCard::PinNumber::CvvCode.table_name
494
- assert_equal "credit_card_pin_number", CreditCard::SubPinNumber.table_name
495
- assert_equal "category", CreditCard::Brand.table_name
496
- assert_equal "master_credit_card", MasterCreditCard.table_name
497
-
498
- ActiveRecord::Base.pluralize_table_names = true
499
- classes.each(&:reset_table_name)
500
-
501
- ActiveRecord::Base.table_name_prefix = "test_"
502
- Category.reset_table_name
503
- assert_equal "test_categories", Category.table_name
504
- ActiveRecord::Base.table_name_suffix = "_test"
505
- Category.reset_table_name
506
- assert_equal "test_categories_test", Category.table_name
507
- ActiveRecord::Base.table_name_prefix = ""
508
- Category.reset_table_name
509
- assert_equal "categories_test", Category.table_name
510
- ActiveRecord::Base.table_name_suffix = ""
511
- Category.reset_table_name
512
- assert_equal "categories", Category.table_name
513
-
514
- ActiveRecord::Base.pluralize_table_names = false
515
- ActiveRecord::Base.table_name_prefix = "test_"
516
- Category.reset_table_name
517
- assert_equal "test_category", Category.table_name
518
- ActiveRecord::Base.table_name_suffix = "_test"
519
- Category.reset_table_name
520
- assert_equal "test_category_test", Category.table_name
521
- ActiveRecord::Base.table_name_prefix = ""
522
- Category.reset_table_name
523
- assert_equal "category_test", Category.table_name
524
- ActiveRecord::Base.table_name_suffix = ""
525
- Category.reset_table_name
526
- assert_equal "category", Category.table_name
527
-
528
- ActiveRecord::Base.pluralize_table_names = true
529
- classes.each(&:reset_table_name)
530
- end
531
-
532
- def test_destroy_all
533
- assert_equal 2, Topic.count
534
-
535
- Topic.destroy_all "author_name = 'Mary'"
536
- assert_equal 1, Topic.count
537
- end
538
-
539
- def test_destroy_many
540
- assert_equal 3, Client.count
541
- Client.destroy([2, 3])
542
- assert_equal 1, Client.count
543
- end
544
-
545
- def test_delete_many
546
- Topic.delete([1, 2])
547
- assert_equal 0, Topic.count
548
- end
549
-
550
- def test_boolean_attributes
551
- assert ! Topic.find(1).approved?
552
- assert Topic.find(2).approved?
553
- end
554
-
555
- def test_increment_counter
556
- Topic.increment_counter("replies_count", 1)
557
- assert_equal 2, Topic.find(1).replies_count
558
-
559
- Topic.increment_counter("replies_count", 1)
560
- assert_equal 3, Topic.find(1).replies_count
561
- end
562
-
563
- def test_decrement_counter
564
- Topic.decrement_counter("replies_count", 2)
565
- assert_equal -1, Topic.find(2).replies_count
566
-
567
- Topic.decrement_counter("replies_count", 2)
568
- assert_equal -2, Topic.find(2).replies_count
569
- end
570
-
571
- def test_update_all
572
- assert_equal 2, Topic.update_all("content = 'bulk updated!'")
573
- assert_equal "bulk updated!", Topic.find(1).content
574
- assert_equal "bulk updated!", Topic.find(2).content
575
-
576
- assert_equal 2, Topic.update_all(['content = ?', 'bulk updated again!'])
577
- assert_equal "bulk updated again!", Topic.find(1).content
578
- assert_equal "bulk updated again!", Topic.find(2).content
579
-
580
- assert_equal 2, Topic.update_all(['content = ?', nil])
581
- assert_nil Topic.find(1).content
582
- end
583
-
584
- def test_update_all_with_hash
585
- assert_not_nil Topic.find(1).last_read
586
- assert_equal 2, Topic.update_all(:content => 'bulk updated with hash!', :last_read => nil)
587
- assert_equal "bulk updated with hash!", Topic.find(1).content
588
- assert_equal "bulk updated with hash!", Topic.find(2).content
589
- assert_nil Topic.find(1).last_read
590
- assert_nil Topic.find(2).last_read
591
- end
592
-
593
- if current_adapter?(:MysqlAdapter)
594
- def test_update_all_with_order_and_limit
595
- assert_equal 1, Topic.update_all("content = 'bulk updated!'", nil, :limit => 1, :order => 'id DESC')
596
- end
597
- end
598
-
599
- def test_update_many
600
- topic_data = { 1 => { "content" => "1 updated" }, 2 => { "content" => "2 updated" } }
601
- updated = Topic.update(topic_data.keys, topic_data.values)
602
-
603
- assert_equal 2, updated.size
604
- assert_equal "1 updated", Topic.find(1).content
605
- assert_equal "2 updated", Topic.find(2).content
606
- end
607
-
608
- def test_delete_all
609
- assert_equal 2, Topic.delete_all
610
- end
611
-
612
- def test_update_by_condition
613
- Topic.update_all "content = 'bulk updated!'", ["approved = ?", true]
614
- assert_equal "Have a nice day", Topic.find(1).content
615
- assert_equal "bulk updated!", Topic.find(2).content
616
- end
617
-
618
- def test_attribute_present
619
- t = Topic.new
620
- t.title = "hello there!"
621
- t.written_on = Time.now
622
- assert t.attribute_present?("title")
623
- assert t.attribute_present?("written_on")
624
- assert !t.attribute_present?("content")
625
- end
626
-
627
- def test_attribute_keys_on_new_instance
628
- t = Topic.new
629
- assert_equal nil, t.title, "The topics table has a title column, so it should be nil"
630
- assert_raise(NoMethodError) { t.title2 }
631
- end
632
-
633
- def test_class_name
634
- assert_equal "Firm", ActiveRecord::Base.class_name("firms")
635
- assert_equal "Category", ActiveRecord::Base.class_name("categories")
636
- assert_equal "AccountHolder", ActiveRecord::Base.class_name("account_holder")
637
-
638
- ActiveRecord::Base.pluralize_table_names = false
639
- assert_equal "Firms", ActiveRecord::Base.class_name( "firms" )
640
- ActiveRecord::Base.pluralize_table_names = true
641
-
642
- ActiveRecord::Base.table_name_prefix = "test_"
643
- assert_equal "Firm", ActiveRecord::Base.class_name( "test_firms" )
644
- ActiveRecord::Base.table_name_suffix = "_tests"
645
- assert_equal "Firm", ActiveRecord::Base.class_name( "test_firms_tests" )
646
- ActiveRecord::Base.table_name_prefix = ""
647
- assert_equal "Firm", ActiveRecord::Base.class_name( "firms_tests" )
648
- ActiveRecord::Base.table_name_suffix = ""
649
- assert_equal "Firm", ActiveRecord::Base.class_name( "firms" )
650
- end
651
-
652
- def test_null_fields
653
- assert_nil Topic.find(1).parent_id
654
- assert_nil Topic.create("title" => "Hey you").parent_id
655
- end
656
-
657
- def test_default_values
658
- topic = Topic.new
659
- assert topic.approved?
660
- assert_nil topic.written_on
661
- assert_nil topic.bonus_time
662
- assert_nil topic.last_read
663
-
664
- topic.save
665
-
666
- topic = Topic.find(topic.id)
667
- assert topic.approved?
668
- assert_nil topic.last_read
669
-
670
- # Oracle has some funky default handling, so it requires a bit of
671
- # extra testing. See ticket #2788.
672
- if current_adapter?(:OracleAdapter)
673
- test = TestOracleDefault.new
674
- assert_equal "X", test.test_char
675
- assert_equal "hello", test.test_string
676
- assert_equal 3, test.test_int
677
- end
678
- end
679
-
680
- # Oracle, SQLServer, and Sybase do not have a TIME datatype.
681
- unless current_adapter?(:SQLServerAdapter, :OracleAdapter, :SybaseAdapter)
682
- def test_utc_as_time_zone
683
- Topic.default_timezone = :utc
684
- attributes = { "bonus_time" => "5:42:00AM" }
685
- topic = Topic.find(1)
686
- topic.attributes = attributes
687
- assert_equal Time.utc(2000, 1, 1, 5, 42, 0), topic.bonus_time
688
- Topic.default_timezone = :local
689
- end
690
-
691
- def test_utc_as_time_zone_and_new
692
- Topic.default_timezone = :utc
693
- attributes = { "bonus_time(1i)"=>"2000",
694
- "bonus_time(2i)"=>"1",
695
- "bonus_time(3i)"=>"1",
696
- "bonus_time(4i)"=>"10",
697
- "bonus_time(5i)"=>"35",
698
- "bonus_time(6i)"=>"50" }
699
- topic = Topic.new(attributes)
700
- assert_equal Time.utc(2000, 1, 1, 10, 35, 50), topic.bonus_time
701
- Topic.default_timezone = :local
702
- end
703
- end
704
-
705
- def test_default_values_on_empty_strings
706
- topic = Topic.new
707
- topic.approved = nil
708
- topic.last_read = nil
709
-
710
- topic.save
711
-
712
- topic = Topic.find(topic.id)
713
- assert_nil topic.last_read
714
-
715
- # Sybase adapter does not allow nulls in boolean columns
716
- if current_adapter?(:SybaseAdapter)
717
- assert topic.approved == false
718
- else
719
- assert_nil topic.approved
720
- end
721
- end
722
-
723
- def test_equality
724
- assert_equal Topic.find(1), Topic.find(2).topic
725
- end
726
-
727
- def test_equality_of_new_records
728
- assert_not_equal Topic.new, Topic.new
729
- end
730
-
731
- def test_hashing
732
- assert_equal [ Topic.find(1) ], [ Topic.find(2).topic ] & [ Topic.find(1) ]
733
- end
734
-
735
- def test_destroy_new_record
736
- client = Client.new
737
- client.destroy
738
- assert client.frozen?
739
- end
740
-
741
- def test_destroy_record_with_associations
742
- client = Client.find(3)
743
- client.destroy
744
- assert client.frozen?
745
- assert_kind_of Firm, client.firm
746
- assert_raises(TypeError) { client.name = "something else" }
747
- end
748
-
749
- def test_update_attribute
750
- assert !Topic.find(1).approved?
751
- Topic.find(1).update_attribute("approved", true)
752
- assert Topic.find(1).approved?
753
-
754
- Topic.find(1).update_attribute(:approved, false)
755
- assert !Topic.find(1).approved?
756
- end
757
-
758
- def test_update_attributes
759
- topic = Topic.find(1)
760
- assert !topic.approved?
761
- assert_equal "The First Topic", topic.title
762
-
763
- topic.update_attributes("approved" => true, "title" => "The First Topic Updated")
764
- topic.reload
765
- assert topic.approved?
766
- assert_equal "The First Topic Updated", topic.title
767
-
768
- topic.update_attributes(:approved => false, :title => "The First Topic")
769
- topic.reload
770
- assert !topic.approved?
771
- assert_equal "The First Topic", topic.title
772
- end
773
-
774
- def test_update_attributes!
775
- reply = Reply.find(2)
776
- assert_equal "The Second Topic's of the day", reply.title
777
- assert_equal "Have a nice day", reply.content
778
-
779
- reply.update_attributes!("title" => "The Second Topic's of the day updated", "content" => "Have a nice evening")
780
- reply.reload
781
- assert_equal "The Second Topic's of the day updated", reply.title
782
- assert_equal "Have a nice evening", reply.content
783
-
784
- reply.update_attributes!(:title => "The Second Topic's of the day", :content => "Have a nice day")
785
- reply.reload
786
- assert_equal "The Second Topic's of the day", reply.title
787
- assert_equal "Have a nice day", reply.content
788
-
789
- assert_raise(ActiveRecord::RecordInvalid) { reply.update_attributes!(:title => nil, :content => "Have a nice evening") }
790
- end
791
-
792
- def test_mass_assignment_should_raise_exception_if_accessible_and_protected_attribute_writers_are_both_used
793
- topic = TopicWithProtectedContentAndAccessibleAuthorName.new
794
- assert_raises(RuntimeError) { topic.attributes = { "author_name" => "me" } }
795
- assert_raises(RuntimeError) { topic.attributes = { "content" => "stuff" } }
796
- end
797
-
798
- def test_mass_assignment_protection
799
- firm = Firm.new
800
- firm.attributes = { "name" => "Next Angle", "rating" => 5 }
801
- assert_equal 1, firm.rating
802
- end
803
-
804
- def test_mass_assignment_protection_against_class_attribute_writers
805
- [:logger, :configurations, :primary_key_prefix_type, :table_name_prefix, :table_name_suffix, :pluralize_table_names, :colorize_logging,
806
- :default_timezone, :allow_concurrency, :schema_format, :verification_timeout, :lock_optimistically, :record_timestamps].each do |method|
807
- assert Task.respond_to?(method)
808
- assert Task.respond_to?("#{method}=")
809
- assert Task.new.respond_to?(method)
810
- assert !Task.new.respond_to?("#{method}=")
811
- end
812
- end
813
-
814
- def test_customized_primary_key_remains_protected
815
- subscriber = Subscriber.new(:nick => 'webster123', :name => 'nice try')
816
- assert_nil subscriber.id
817
-
818
- keyboard = Keyboard.new(:key_number => 9, :name => 'nice try')
819
- assert_nil keyboard.id
820
- end
821
-
822
- def test_customized_primary_key_remains_protected_when_referred_to_as_id
823
- subscriber = Subscriber.new(:id => 'webster123', :name => 'nice try')
824
- assert_nil subscriber.id
825
-
826
- keyboard = Keyboard.new(:id => 9, :name => 'nice try')
827
- assert_nil keyboard.id
828
- end
829
-
830
- def test_mass_assignment_protection_on_defaults
831
- firm = Firm.new
832
- firm.attributes = { "id" => 5, "type" => "Client" }
833
- assert_nil firm.id
834
- assert_equal "Firm", firm[:type]
835
- end
836
-
837
- def test_mass_assignment_accessible
838
- reply = Reply.new("title" => "hello", "content" => "world", "approved" => true)
839
- reply.save
840
-
841
- assert reply.approved?
842
-
843
- reply.approved = false
844
- reply.save
845
-
846
- assert !reply.approved?
847
- end
848
-
849
- def test_mass_assignment_protection_inheritance
850
- assert_nil LoosePerson.accessible_attributes
851
- assert_equal Set.new([ 'credit_rating', 'administrator' ]), LoosePerson.protected_attributes
852
-
853
- assert_nil LooseDescendant.accessible_attributes
854
- assert_equal Set.new([ 'credit_rating', 'administrator', 'phone_number' ]), LooseDescendant.protected_attributes
855
-
856
- assert_nil LooseDescendantSecond.accessible_attributes
857
- assert_equal Set.new([ 'credit_rating', 'administrator', 'phone_number', 'name' ]), LooseDescendantSecond.protected_attributes, 'Running attr_protected twice in one class should merge the protections'
858
-
859
- assert_nil TightPerson.protected_attributes
860
- assert_equal Set.new([ 'name', 'address' ]), TightPerson.accessible_attributes
861
-
862
- assert_nil TightDescendant.protected_attributes
863
- assert_equal Set.new([ 'name', 'address', 'phone_number' ]), TightDescendant.accessible_attributes
864
- end
865
-
866
- def test_readonly_attributes
867
- assert_equal Set.new([ 'title' ]), ReadonlyTitlePost.readonly_attributes
868
-
869
- post = ReadonlyTitlePost.create(:title => "cannot change this", :body => "changeable")
870
- post.reload
871
- assert_equal "cannot change this", post.title
872
-
873
- post.update_attributes(:title => "try to change", :body => "changed")
874
- post.reload
875
- assert_equal "cannot change this", post.title
876
- assert_equal "changed", post.body
877
- end
878
-
879
- def test_multiparameter_attributes_on_date
880
- attributes = { "last_read(1i)" => "2004", "last_read(2i)" => "6", "last_read(3i)" => "24" }
881
- topic = Topic.find(1)
882
- topic.attributes = attributes
883
- # note that extra #to_date call allows test to pass for Oracle, which
884
- # treats dates/times the same
885
- assert_date_from_db Date.new(2004, 6, 24), topic.last_read.to_date
886
- end
887
-
888
- def test_multiparameter_attributes_on_date_with_empty_date
889
- attributes = { "last_read(1i)" => "2004", "last_read(2i)" => "6", "last_read(3i)" => "" }
890
- topic = Topic.find(1)
891
- topic.attributes = attributes
892
- # note that extra #to_date call allows test to pass for Oracle, which
893
- # treats dates/times the same
894
- assert_date_from_db Date.new(2004, 6, 1), topic.last_read.to_date
895
- end
896
-
897
- def test_multiparameter_attributes_on_date_with_all_empty
898
- attributes = { "last_read(1i)" => "", "last_read(2i)" => "", "last_read(3i)" => "" }
899
- topic = Topic.find(1)
900
- topic.attributes = attributes
901
- assert_nil topic.last_read
902
- end
903
-
904
- def test_multiparameter_attributes_on_time
905
- attributes = {
906
- "written_on(1i)" => "2004", "written_on(2i)" => "6", "written_on(3i)" => "24",
907
- "written_on(4i)" => "16", "written_on(5i)" => "24", "written_on(6i)" => "00"
908
- }
909
- topic = Topic.find(1)
910
- topic.attributes = attributes
911
- assert_equal Time.local(2004, 6, 24, 16, 24, 0), topic.written_on
912
- end
913
-
914
- def test_multiparameter_attributes_on_time_with_empty_seconds
915
- attributes = {
916
- "written_on(1i)" => "2004", "written_on(2i)" => "6", "written_on(3i)" => "24",
917
- "written_on(4i)" => "16", "written_on(5i)" => "24", "written_on(6i)" => ""
918
- }
919
- topic = Topic.find(1)
920
- topic.attributes = attributes
921
- assert_equal Time.local(2004, 6, 24, 16, 24, 0), topic.written_on
922
- end
923
-
924
- def test_multiparameter_mass_assignment_protector
925
- task = Task.new
926
- time = Time.mktime(2000, 1, 1, 1)
927
- task.starting = time
928
- attributes = { "starting(1i)" => "2004", "starting(2i)" => "6", "starting(3i)" => "24" }
929
- task.attributes = attributes
930
- assert_equal time, task.starting
931
- end
932
-
933
- def test_multiparameter_assignment_of_aggregation
934
- customer = Customer.new
935
- address = Address.new("The Street", "The City", "The Country")
936
- attributes = { "address(1)" => address.street, "address(2)" => address.city, "address(3)" => address.country }
937
- customer.attributes = attributes
938
- assert_equal address, customer.address
939
- end
940
-
941
- def test_attributes_on_dummy_time
942
- # Oracle, SQL Server, and Sybase do not have a TIME datatype.
943
- return true if current_adapter?(:SQLServerAdapter, :OracleAdapter, :SybaseAdapter)
944
-
945
- attributes = {
946
- "bonus_time" => "5:42:00AM"
947
- }
948
- topic = Topic.find(1)
949
- topic.attributes = attributes
950
- assert_equal Time.local(2000, 1, 1, 5, 42, 0), topic.bonus_time
951
- end
952
-
953
- def test_boolean
954
- b_false = Booleantest.create({ "value" => false })
955
- false_id = b_false.id
956
- b_true = Booleantest.create({ "value" => true })
957
- true_id = b_true.id
958
-
959
- b_false = Booleantest.find(false_id)
960
- assert !b_false.value?
961
- b_true = Booleantest.find(true_id)
962
- assert b_true.value?
963
- end
964
-
965
- def test_boolean_cast_from_string
966
- b_false = Booleantest.create({ "value" => "0" })
967
- false_id = b_false.id
968
- b_true = Booleantest.create({ "value" => "1" })
969
- true_id = b_true.id
970
-
971
- b_false = Booleantest.find(false_id)
972
- assert !b_false.value?
973
- b_true = Booleantest.find(true_id)
974
- assert b_true.value?
975
- end
976
-
977
- def test_clone
978
- topic = Topic.find(1)
979
- cloned_topic = nil
980
- assert_nothing_raised { cloned_topic = topic.clone }
981
- assert_equal topic.title, cloned_topic.title
982
- assert cloned_topic.new_record?
983
-
984
- # test if the attributes have been cloned
985
- topic.title = "a"
986
- cloned_topic.title = "b"
987
- assert_equal "a", topic.title
988
- assert_equal "b", cloned_topic.title
989
-
990
- # test if the attribute values have been cloned
991
- topic.title = {"a" => "b"}
992
- cloned_topic = topic.clone
993
- cloned_topic.title["a"] = "c"
994
- assert_equal "b", topic.title["a"]
995
-
996
- #test if attributes set as part of after_initialize are cloned correctly
997
- assert_equal topic.author_email_address, cloned_topic.author_email_address
998
-
999
- # test if saved clone object differs from original
1000
- cloned_topic.save
1001
- assert !cloned_topic.new_record?
1002
- assert cloned_topic.id != topic.id
1003
- end
1004
-
1005
- def test_clone_with_aggregate_of_same_name_as_attribute
1006
- dev = DeveloperWithAggregate.find(1)
1007
- assert_kind_of DeveloperSalary, dev.salary
1008
-
1009
- clone = nil
1010
- assert_nothing_raised { clone = dev.clone }
1011
- assert_kind_of DeveloperSalary, clone.salary
1012
- assert_equal dev.salary.amount, clone.salary.amount
1013
- assert clone.new_record?
1014
-
1015
- # test if the attributes have been cloned
1016
- original_amount = clone.salary.amount
1017
- dev.salary.amount = 1
1018
- assert_equal original_amount, clone.salary.amount
1019
-
1020
- assert clone.save
1021
- assert !clone.new_record?
1022
- assert clone.id != dev.id
1023
- end
1024
-
1025
- def test_clone_preserves_subtype
1026
- clone = nil
1027
- assert_nothing_raised { clone = Company.find(3).clone }
1028
- assert_kind_of Client, clone
1029
- end
1030
-
1031
- def test_bignum
1032
- company = Company.find(1)
1033
- company.rating = 2147483647
1034
- company.save
1035
- company = Company.find(1)
1036
- assert_equal 2147483647, company.rating
1037
- end
1038
-
1039
- # TODO: extend defaults tests to other databases!
1040
- if current_adapter?(:PostgreSQLAdapter)
1041
- def test_default
1042
- default = Default.new
1043
-
1044
- # fixed dates / times
1045
- assert_equal Date.new(2004, 1, 1), default.fixed_date
1046
- assert_equal Time.local(2004, 1,1,0,0,0,0), default.fixed_time
1047
-
1048
- # char types
1049
- assert_equal 'Y', default.char1
1050
- assert_equal 'a varchar field', default.char2
1051
- assert_equal 'a text field', default.char3
1052
- end
1053
-
1054
- class Geometric < ActiveRecord::Base; end
1055
- def test_geometric_content
1056
-
1057
- # accepted format notes:
1058
- # ()'s aren't required
1059
- # values can be a mix of float or integer
1060
-
1061
- g = Geometric.new(
1062
- :a_point => '(5.0, 6.1)',
1063
- #:a_line => '((2.0, 3), (5.5, 7.0))' # line type is currently unsupported in postgresql
1064
- :a_line_segment => '(2.0, 3), (5.5, 7.0)',
1065
- :a_box => '2.0, 3, 5.5, 7.0',
1066
- :a_path => '[(2.0, 3), (5.5, 7.0), (8.5, 11.0)]', # [ ] is an open path
1067
- :a_polygon => '((2.0, 3), (5.5, 7.0), (8.5, 11.0))',
1068
- :a_circle => '<(5.3, 10.4), 2>'
1069
- )
1070
-
1071
- assert g.save
1072
-
1073
- # Reload and check that we have all the geometric attributes.
1074
- h = Geometric.find(g.id)
1075
-
1076
- assert_equal '(5,6.1)', h.a_point
1077
- assert_equal '[(2,3),(5.5,7)]', h.a_line_segment
1078
- assert_equal '(5.5,7),(2,3)', h.a_box # reordered to store upper right corner then bottom left corner
1079
- assert_equal '[(2,3),(5.5,7),(8.5,11)]', h.a_path
1080
- assert_equal '((2,3),(5.5,7),(8.5,11))', h.a_polygon
1081
- assert_equal '<(5.3,10.4),2>', h.a_circle
1082
-
1083
- # use a geometric function to test for an open path
1084
- objs = Geometric.find_by_sql ["select isopen(a_path) from geometrics where id = ?", g.id]
1085
- assert_equal objs[0].isopen, 't'
1086
-
1087
- # test alternate formats when defining the geometric types
1088
-
1089
- g = Geometric.new(
1090
- :a_point => '5.0, 6.1',
1091
- #:a_line => '((2.0, 3), (5.5, 7.0))' # line type is currently unsupported in postgresql
1092
- :a_line_segment => '((2.0, 3), (5.5, 7.0))',
1093
- :a_box => '(2.0, 3), (5.5, 7.0)',
1094
- :a_path => '((2.0, 3), (5.5, 7.0), (8.5, 11.0))', # ( ) is a closed path
1095
- :a_polygon => '2.0, 3, 5.5, 7.0, 8.5, 11.0',
1096
- :a_circle => '((5.3, 10.4), 2)'
1097
- )
1098
-
1099
- assert g.save
1100
-
1101
- # Reload and check that we have all the geometric attributes.
1102
- h = Geometric.find(g.id)
1103
-
1104
- assert_equal '(5,6.1)', h.a_point
1105
- assert_equal '[(2,3),(5.5,7)]', h.a_line_segment
1106
- assert_equal '(5.5,7),(2,3)', h.a_box # reordered to store upper right corner then bottom left corner
1107
- assert_equal '((2,3),(5.5,7),(8.5,11))', h.a_path
1108
- assert_equal '((2,3),(5.5,7),(8.5,11))', h.a_polygon
1109
- assert_equal '<(5.3,10.4),2>', h.a_circle
1110
-
1111
- # use a geometric function to test for an closed path
1112
- objs = Geometric.find_by_sql ["select isclosed(a_path) from geometrics where id = ?", g.id]
1113
- assert_equal objs[0].isclosed, 't'
1114
- end
1115
- end
1116
-
1117
- class NumericData < ActiveRecord::Base
1118
- self.table_name = 'numeric_data'
1119
- end
1120
-
1121
- def test_numeric_fields
1122
- m = NumericData.new(
1123
- :bank_balance => 1586.43,
1124
- :big_bank_balance => BigDecimal("1000234000567.95"),
1125
- :world_population => 6000000000,
1126
- :my_house_population => 3
1127
- )
1128
- assert m.save
1129
-
1130
- m1 = NumericData.find(m.id)
1131
- assert_not_nil m1
1132
-
1133
- # As with migration_test.rb, we should make world_population >= 2**62
1134
- # to cover 64-bit platforms and test it is a Bignum, but the main thing
1135
- # is that it's an Integer.
1136
- assert_kind_of Integer, m1.world_population
1137
- assert_equal 6000000000, m1.world_population
1138
-
1139
- assert_kind_of Fixnum, m1.my_house_population
1140
- assert_equal 3, m1.my_house_population
1141
-
1142
- assert_kind_of BigDecimal, m1.bank_balance
1143
- assert_equal BigDecimal("1586.43"), m1.bank_balance
1144
-
1145
- assert_kind_of BigDecimal, m1.big_bank_balance
1146
- assert_equal BigDecimal("1000234000567.95"), m1.big_bank_balance
1147
- end
1148
-
1149
- def test_auto_id
1150
- auto = AutoId.new
1151
- auto.save
1152
- assert (auto.id > 0)
1153
- end
1154
-
1155
- def quote_column_name(name)
1156
- "<#{name}>"
1157
- end
1158
-
1159
- def test_quote_keys
1160
- ar = AutoId.new
1161
- source = {"foo" => "bar", "baz" => "quux"}
1162
- actual = ar.send(:quote_columns, self, source)
1163
- inverted = actual.invert
1164
- assert_equal("<foo>", inverted["bar"])
1165
- assert_equal("<baz>", inverted["quux"])
1166
- end
1167
-
1168
- def test_sql_injection_via_find
1169
- assert_raises(ActiveRecord::RecordNotFound, ActiveRecord::StatementInvalid) do
1170
- Topic.find("123456 OR id > 0")
1171
- end
1172
- end
1173
-
1174
- def test_column_name_properly_quoted
1175
- col_record = ColumnName.new
1176
- col_record.references = 40
1177
- assert col_record.save
1178
- col_record.references = 41
1179
- assert col_record.save
1180
- assert_not_nil c2 = ColumnName.find(col_record.id)
1181
- assert_equal(41, c2.references)
1182
- end
1183
-
1184
- def test_quoting_arrays
1185
- replies = Reply.find(:all, :conditions => [ "id IN (?)", topics(:first).replies.collect(&:id) ])
1186
- assert_equal topics(:first).replies.size, replies.size
1187
-
1188
- replies = Reply.find(:all, :conditions => [ "id IN (?)", [] ])
1189
- assert_equal 0, replies.size
1190
- end
1191
-
1192
- MyObject = Struct.new :attribute1, :attribute2
1193
-
1194
- def test_serialized_attribute
1195
- myobj = MyObject.new('value1', 'value2')
1196
- topic = Topic.create("content" => myobj)
1197
- Topic.serialize("content", MyObject)
1198
- assert_equal(myobj, topic.content)
1199
- end
1200
-
1201
- def test_nil_serialized_attribute_with_class_constraint
1202
- myobj = MyObject.new('value1', 'value2')
1203
- topic = Topic.new
1204
- assert_nil topic.content
1205
- end
1206
-
1207
- def test_should_raise_exception_on_serialized_attribute_with_type_mismatch
1208
- myobj = MyObject.new('value1', 'value2')
1209
- topic = Topic.new(:content => myobj)
1210
- assert topic.save
1211
- Topic.serialize(:content, Hash)
1212
- assert_raise(ActiveRecord::SerializationTypeMismatch) { Topic.find(topic.id).content }
1213
- ensure
1214
- Topic.serialize(:content)
1215
- end
1216
-
1217
- def test_serialized_attribute_with_class_constraint
1218
- settings = { "color" => "blue" }
1219
- Topic.serialize(:content, Hash)
1220
- topic = Topic.new(:content => settings)
1221
- assert topic.save
1222
- assert_equal(settings, Topic.find(topic.id).content)
1223
- ensure
1224
- Topic.serialize(:content)
1225
- end
1226
-
1227
- def test_quote
1228
- author_name = "\\ \001 ' \n \\n \""
1229
- topic = Topic.create('author_name' => author_name)
1230
- assert_equal author_name, Topic.find(topic.id).author_name
1231
- end
1232
-
1233
- def test_quote_chars
1234
- str = 'The Narrator'
1235
- topic = Topic.create(:author_name => str)
1236
- assert_equal str, topic.author_name
1237
-
1238
- assert_kind_of ActiveSupport::Multibyte::Chars, str.chars
1239
- topic = Topic.find_by_author_name(str.chars)
1240
-
1241
- assert_kind_of Topic, topic
1242
- assert_equal str, topic.author_name, "The right topic should have been found by name even with name passed as Chars"
1243
- end
1244
-
1245
- def test_class_level_destroy
1246
- should_be_destroyed_reply = Reply.create("title" => "hello", "content" => "world")
1247
- Topic.find(1).replies << should_be_destroyed_reply
1248
-
1249
- Topic.destroy(1)
1250
- assert_raise(ActiveRecord::RecordNotFound) { Topic.find(1) }
1251
- assert_raise(ActiveRecord::RecordNotFound) { Reply.find(should_be_destroyed_reply.id) }
1252
- end
1253
-
1254
- def test_class_level_delete
1255
- should_be_destroyed_reply = Reply.create("title" => "hello", "content" => "world")
1256
- Topic.find(1).replies << should_be_destroyed_reply
1257
-
1258
- Topic.delete(1)
1259
- assert_raise(ActiveRecord::RecordNotFound) { Topic.find(1) }
1260
- assert_nothing_raised { Reply.find(should_be_destroyed_reply.id) }
1261
- end
1262
-
1263
- def test_increment_attribute
1264
- assert_equal 50, accounts(:signals37).credit_limit
1265
- accounts(:signals37).increment! :credit_limit
1266
- assert_equal 51, accounts(:signals37, :reload).credit_limit
1267
-
1268
- accounts(:signals37).increment(:credit_limit).increment!(:credit_limit)
1269
- assert_equal 53, accounts(:signals37, :reload).credit_limit
1270
- end
1271
-
1272
- def test_increment_nil_attribute
1273
- assert_nil topics(:first).parent_id
1274
- topics(:first).increment! :parent_id
1275
- assert_equal 1, topics(:first).parent_id
1276
- end
1277
-
1278
- def test_decrement_attribute
1279
- assert_equal 50, accounts(:signals37).credit_limit
1280
-
1281
- accounts(:signals37).decrement!(:credit_limit)
1282
- assert_equal 49, accounts(:signals37, :reload).credit_limit
1283
-
1284
- accounts(:signals37).decrement(:credit_limit).decrement!(:credit_limit)
1285
- assert_equal 47, accounts(:signals37, :reload).credit_limit
1286
- end
1287
-
1288
- def test_toggle_attribute
1289
- assert !topics(:first).approved?
1290
- topics(:first).toggle!(:approved)
1291
- assert topics(:first).approved?
1292
- topic = topics(:first)
1293
- topic.toggle(:approved)
1294
- assert !topic.approved?
1295
- topic.reload
1296
- assert topic.approved?
1297
- end
1298
-
1299
- def test_reload
1300
- t1 = Topic.find(1)
1301
- t2 = Topic.find(1)
1302
- t1.title = "something else"
1303
- t1.save
1304
- t2.reload
1305
- assert_equal t1.title, t2.title
1306
- end
1307
-
1308
- def test_define_attr_method_with_value
1309
- k = Class.new( ActiveRecord::Base )
1310
- k.send(:define_attr_method, :table_name, "foo")
1311
- assert_equal "foo", k.table_name
1312
- end
1313
-
1314
- def test_define_attr_method_with_block
1315
- k = Class.new( ActiveRecord::Base )
1316
- k.send(:define_attr_method, :primary_key) { "sys_" + original_primary_key }
1317
- assert_equal "sys_id", k.primary_key
1318
- end
1319
-
1320
- def test_set_table_name_with_value
1321
- k = Class.new( ActiveRecord::Base )
1322
- k.table_name = "foo"
1323
- assert_equal "foo", k.table_name
1324
- k.set_table_name "bar"
1325
- assert_equal "bar", k.table_name
1326
- end
1327
-
1328
- def test_set_table_name_with_block
1329
- k = Class.new( ActiveRecord::Base )
1330
- k.set_table_name { "ks" }
1331
- assert_equal "ks", k.table_name
1332
- end
1333
-
1334
- def test_set_primary_key_with_value
1335
- k = Class.new( ActiveRecord::Base )
1336
- k.primary_key = "foo"
1337
- assert_equal "foo", k.primary_key
1338
- k.set_primary_key "bar"
1339
- assert_equal "bar", k.primary_key
1340
- end
1341
-
1342
- def test_set_primary_key_with_block
1343
- k = Class.new( ActiveRecord::Base )
1344
- k.set_primary_key { "sys_" + original_primary_key }
1345
- assert_equal "sys_id", k.primary_key
1346
- end
1347
-
1348
- def test_set_inheritance_column_with_value
1349
- k = Class.new( ActiveRecord::Base )
1350
- k.inheritance_column = "foo"
1351
- assert_equal "foo", k.inheritance_column
1352
- k.set_inheritance_column "bar"
1353
- assert_equal "bar", k.inheritance_column
1354
- end
1355
-
1356
- def test_set_inheritance_column_with_block
1357
- k = Class.new( ActiveRecord::Base )
1358
- k.set_inheritance_column { original_inheritance_column + "_id" }
1359
- assert_equal "type_id", k.inheritance_column
1360
- end
1361
-
1362
- def test_count_with_join
1363
- res = Post.count_by_sql "SELECT COUNT(*) FROM posts LEFT JOIN comments ON posts.id=comments.post_id WHERE posts.#{QUOTED_TYPE} = 'Post'"
1364
-
1365
- res2 = Post.count(:conditions => "posts.#{QUOTED_TYPE} = 'Post'", :joins => "LEFT JOIN comments ON posts.id=comments.post_id")
1366
- assert_equal res, res2
1367
-
1368
- res3 = nil
1369
- assert_nothing_raised do
1370
- res3 = Post.count(:conditions => "posts.#{QUOTED_TYPE} = 'Post'",
1371
- :joins => "LEFT JOIN comments ON posts.id=comments.post_id")
1372
- end
1373
- assert_equal res, res3
1374
-
1375
- res4 = Post.count_by_sql "SELECT COUNT(p.id) FROM posts p, comments co WHERE p.#{QUOTED_TYPE} = 'Post' AND p.id=co.post_id"
1376
- res5 = nil
1377
- assert_nothing_raised do
1378
- res5 = Post.count(:conditions => "p.#{QUOTED_TYPE} = 'Post' AND p.id=co.post_id",
1379
- :joins => "p, comments co",
1380
- :select => "p.id")
1381
- end
1382
-
1383
- assert_equal res4, res5
1384
-
1385
- unless current_adapter?(:SQLite2Adapter, :DeprecatedSQLiteAdapter)
1386
- res6 = Post.count_by_sql "SELECT COUNT(DISTINCT p.id) FROM posts p, comments co WHERE p.#{QUOTED_TYPE} = 'Post' AND p.id=co.post_id"
1387
- res7 = nil
1388
- assert_nothing_raised do
1389
- res7 = Post.count(:conditions => "p.#{QUOTED_TYPE} = 'Post' AND p.id=co.post_id",
1390
- :joins => "p, comments co",
1391
- :select => "p.id",
1392
- :distinct => true)
1393
- end
1394
- assert_equal res6, res7
1395
- end
1396
- end
1397
-
1398
- def test_clear_association_cache_stored
1399
- firm = Firm.find(1)
1400
- assert_kind_of Firm, firm
1401
-
1402
- firm.clear_association_cache
1403
- assert_equal Firm.find(1).clients.collect{ |x| x.name }.sort, firm.clients.collect{ |x| x.name }.sort
1404
- end
1405
-
1406
- def test_clear_association_cache_new_record
1407
- firm = Firm.new
1408
- client_stored = Client.find(3)
1409
- client_new = Client.new
1410
- client_new.name = "The Joneses"
1411
- clients = [ client_stored, client_new ]
1412
-
1413
- firm.clients << clients
1414
- assert_equal clients.map(&:name).to_set, firm.clients.map(&:name).to_set
1415
-
1416
- firm.clear_association_cache
1417
- assert_equal clients.map(&:name).to_set, firm.clients.map(&:name).to_set
1418
- end
1419
-
1420
- def test_interpolate_sql
1421
- assert_nothing_raised { Category.new.send(:interpolate_sql, 'foo@bar') }
1422
- assert_nothing_raised { Category.new.send(:interpolate_sql, 'foo bar) baz') }
1423
- assert_nothing_raised { Category.new.send(:interpolate_sql, 'foo bar} baz') }
1424
- end
1425
-
1426
- def test_scoped_find_conditions
1427
- scoped_developers = Developer.with_scope(:find => { :conditions => 'salary > 90000' }) do
1428
- Developer.find(:all, :conditions => 'id < 5')
1429
- end
1430
- assert !scoped_developers.include?(developers(:david)) # David's salary is less than 90,000
1431
- assert_equal 3, scoped_developers.size
1432
- end
1433
-
1434
- def test_scoped_find_limit_offset
1435
- scoped_developers = Developer.with_scope(:find => { :limit => 3, :offset => 2 }) do
1436
- Developer.find(:all, :order => 'id')
1437
- end
1438
- assert !scoped_developers.include?(developers(:david))
1439
- assert !scoped_developers.include?(developers(:jamis))
1440
- assert_equal 3, scoped_developers.size
1441
-
1442
- # Test without scoped find conditions to ensure we get the whole thing
1443
- developers = Developer.find(:all, :order => 'id')
1444
- assert_equal Developer.count, developers.size
1445
- end
1446
-
1447
- def test_scoped_find_order
1448
- # Test order in scope
1449
- scoped_developers = Developer.with_scope(:find => { :limit => 1, :order => 'salary DESC' }) do
1450
- Developer.find(:all)
1451
- end
1452
- assert_equal 'Jamis', scoped_developers.first.name
1453
- assert scoped_developers.include?(developers(:jamis))
1454
- # Test scope without order and order in find
1455
- scoped_developers = Developer.with_scope(:find => { :limit => 1 }) do
1456
- Developer.find(:all, :order => 'salary DESC')
1457
- end
1458
- # Test scope order + find order, find has priority
1459
- scoped_developers = Developer.with_scope(:find => { :limit => 3, :order => 'id DESC' }) do
1460
- Developer.find(:all, :order => 'salary ASC')
1461
- end
1462
- assert scoped_developers.include?(developers(:poor_jamis))
1463
- assert scoped_developers.include?(developers(:david))
1464
- assert scoped_developers.include?(developers(:dev_10))
1465
- # Test without scoped find conditions to ensure we get the right thing
1466
- developers = Developer.find(:all, :order => 'id', :limit => 1)
1467
- assert scoped_developers.include?(developers(:david))
1468
- end
1469
-
1470
- def test_scoped_find_limit_offset_including_has_many_association
1471
- topics = Topic.with_scope(:find => {:limit => 1, :offset => 1, :include => :replies}) do
1472
- Topic.find(:all, :order => "topics.id")
1473
- end
1474
- assert_equal 1, topics.size
1475
- assert_equal 2, topics.first.id
1476
- end
1477
-
1478
- def test_scoped_find_order_including_has_many_association
1479
- developers = Developer.with_scope(:find => { :order => 'developers.salary DESC', :include => :projects }) do
1480
- Developer.find(:all)
1481
- end
1482
- assert developers.size >= 2
1483
- for i in 1...developers.size
1484
- assert developers[i-1].salary >= developers[i].salary
1485
- end
1486
- end
1487
-
1488
- def test_abstract_class
1489
- assert !ActiveRecord::Base.abstract_class?
1490
- assert LoosePerson.abstract_class?
1491
- assert !LooseDescendant.abstract_class?
1492
- end
1493
-
1494
- def test_base_class
1495
- assert_equal LoosePerson, LoosePerson.base_class
1496
- assert_equal LooseDescendant, LooseDescendant.base_class
1497
- assert_equal TightPerson, TightPerson.base_class
1498
- assert_equal TightPerson, TightDescendant.base_class
1499
-
1500
- assert_equal Post, Post.base_class
1501
- assert_equal Post, SpecialPost.base_class
1502
- assert_equal Post, StiPost.base_class
1503
- assert_equal SubStiPost, SubStiPost.base_class
1504
- end
1505
-
1506
- def test_descends_from_active_record
1507
- # Tries to call Object.abstract_class?
1508
- assert_raise(NoMethodError) do
1509
- ActiveRecord::Base.descends_from_active_record?
1510
- end
1511
-
1512
- # Abstract subclass of AR::Base.
1513
- assert LoosePerson.descends_from_active_record?
1514
-
1515
- # Concrete subclass of an abstract class.
1516
- assert LooseDescendant.descends_from_active_record?
1517
-
1518
- # Concrete subclass of AR::Base.
1519
- assert TightPerson.descends_from_active_record?
1520
-
1521
- # Concrete subclass of a concrete class but has no type column.
1522
- assert TightDescendant.descends_from_active_record?
1523
-
1524
- # Concrete subclass of AR::Base.
1525
- assert Post.descends_from_active_record?
1526
-
1527
- # Abstract subclass of a concrete class which has a type column.
1528
- # This is pathological, as you'll never have Sub < Abstract < Concrete.
1529
- assert !StiPost.descends_from_active_record?
1530
-
1531
- # Concrete subclasses an abstract class which has a type column.
1532
- assert !SubStiPost.descends_from_active_record?
1533
- end
1534
-
1535
- def test_find_on_abstract_base_class_doesnt_use_type_condition
1536
- old_class = LooseDescendant
1537
- Object.send :remove_const, :LooseDescendant
1538
-
1539
- descendant = old_class.create!
1540
- assert_not_nil LoosePerson.find(descendant.id), "Should have found instance of LooseDescendant when finding abstract LoosePerson: #{descendant.inspect}"
1541
- ensure
1542
- unless Object.const_defined?(:LooseDescendant)
1543
- Object.const_set :LooseDescendant, old_class
1544
- end
1545
- end
1546
-
1547
- def test_assert_queries
1548
- query = lambda { ActiveRecord::Base.connection.execute 'select count(*) from developers' }
1549
- assert_queries(2) { 2.times { query.call } }
1550
- assert_queries 1, &query
1551
- assert_no_queries { assert true }
1552
- end
1553
-
1554
- def test_to_xml
1555
- xml = REXML::Document.new(topics(:first).to_xml(:indent => 0))
1556
- bonus_time_in_current_timezone = topics(:first).bonus_time.xmlschema
1557
- written_on_in_current_timezone = topics(:first).written_on.xmlschema
1558
- last_read_in_current_timezone = topics(:first).last_read.xmlschema
1559
-
1560
- assert_equal "topic", xml.root.name
1561
- assert_equal "The First Topic" , xml.elements["//title"].text
1562
- assert_equal "David" , xml.elements["//author-name"].text
1563
-
1564
- assert_equal "1", xml.elements["//id"].text
1565
- assert_equal "integer" , xml.elements["//id"].attributes['type']
1566
-
1567
- assert_equal "1", xml.elements["//replies-count"].text
1568
- assert_equal "integer" , xml.elements["//replies-count"].attributes['type']
1569
-
1570
- assert_equal written_on_in_current_timezone, xml.elements["//written-on"].text
1571
- assert_equal "datetime" , xml.elements["//written-on"].attributes['type']
1572
-
1573
- assert_equal "--- Have a nice day\n" , xml.elements["//content"].text
1574
- assert_equal "yaml" , xml.elements["//content"].attributes['type']
1575
-
1576
- assert_equal "david@loudthinking.com", xml.elements["//author-email-address"].text
1577
-
1578
- assert_equal nil, xml.elements["//parent-id"].text
1579
- assert_equal "integer", xml.elements["//parent-id"].attributes['type']
1580
- assert_equal "true", xml.elements["//parent-id"].attributes['nil']
1581
-
1582
- if current_adapter?(:SybaseAdapter, :SQLServerAdapter, :OracleAdapter)
1583
- assert_equal last_read_in_current_timezone, xml.elements["//last-read"].text
1584
- assert_equal "datetime" , xml.elements["//last-read"].attributes['type']
1585
- else
1586
- assert_equal "2004-04-15", xml.elements["//last-read"].text
1587
- assert_equal "date" , xml.elements["//last-read"].attributes['type']
1588
- end
1589
-
1590
- # Oracle and DB2 don't have true boolean or time-only fields
1591
- unless current_adapter?(:OracleAdapter, :DB2Adapter)
1592
- assert_equal "false", xml.elements["//approved"].text
1593
- assert_equal "boolean" , xml.elements["//approved"].attributes['type']
1594
-
1595
- assert_equal bonus_time_in_current_timezone, xml.elements["//bonus-time"].text
1596
- assert_equal "datetime" , xml.elements["//bonus-time"].attributes['type']
1597
- end
1598
- end
1599
-
1600
- def test_to_xml_skipping_attributes
1601
- xml = topics(:first).to_xml(:indent => 0, :skip_instruct => true, :except => [:title, :replies_count])
1602
- assert_equal "<topic>", xml.first(7)
1603
- assert !xml.include?(%(<title>The First Topic</title>))
1604
- assert xml.include?(%(<author-name>David</author-name>))
1605
-
1606
- xml = topics(:first).to_xml(:indent => 0, :skip_instruct => true, :except => [:title, :author_name, :replies_count])
1607
- assert !xml.include?(%(<title>The First Topic</title>))
1608
- assert !xml.include?(%(<author-name>David</author-name>))
1609
- end
1610
-
1611
- def test_to_xml_including_has_many_association
1612
- xml = topics(:first).to_xml(:indent => 0, :skip_instruct => true, :include => :replies, :except => :replies_count)
1613
- assert_equal "<topic>", xml.first(7)
1614
- assert xml.include?(%(<replies type="array"><reply>))
1615
- assert xml.include?(%(<title>The Second Topic's of the day</title>))
1616
- end
1617
-
1618
- def test_array_to_xml_including_has_many_association
1619
- xml = [ topics(:first), topics(:second) ].to_xml(:indent => 0, :skip_instruct => true, :include => :replies)
1620
- assert xml.include?(%(<replies type="array"><reply>))
1621
- end
1622
-
1623
- def test_array_to_xml_including_methods
1624
- xml = [ topics(:first), topics(:second) ].to_xml(:indent => 0, :skip_instruct => true, :methods => [ :topic_id ])
1625
- assert xml.include?(%(<topic-id type="integer">#{topics(:first).topic_id}</topic-id>)), xml
1626
- assert xml.include?(%(<topic-id type="integer">#{topics(:second).topic_id}</topic-id>)), xml
1627
- end
1628
-
1629
- def test_array_to_xml_including_has_one_association
1630
- xml = [ companies(:first_firm), companies(:rails_core) ].to_xml(:indent => 0, :skip_instruct => true, :include => :account)
1631
- assert xml.include?(companies(:first_firm).account.to_xml(:indent => 0, :skip_instruct => true))
1632
- assert xml.include?(companies(:rails_core).account.to_xml(:indent => 0, :skip_instruct => true))
1633
- end
1634
-
1635
- def test_array_to_xml_including_belongs_to_association
1636
- xml = [ companies(:first_client), companies(:second_client), companies(:another_client) ].to_xml(:indent => 0, :skip_instruct => true, :include => :firm)
1637
- assert xml.include?(companies(:first_client).to_xml(:indent => 0, :skip_instruct => true))
1638
- assert xml.include?(companies(:second_client).firm.to_xml(:indent => 0, :skip_instruct => true))
1639
- assert xml.include?(companies(:another_client).firm.to_xml(:indent => 0, :skip_instruct => true))
1640
- end
1641
-
1642
- def test_to_xml_including_belongs_to_association
1643
- xml = companies(:first_client).to_xml(:indent => 0, :skip_instruct => true, :include => :firm)
1644
- assert !xml.include?("<firm>")
1645
-
1646
- xml = companies(:second_client).to_xml(:indent => 0, :skip_instruct => true, :include => :firm)
1647
- assert xml.include?("<firm>")
1648
- end
1649
-
1650
- def test_to_xml_including_multiple_associations
1651
- xml = companies(:first_firm).to_xml(:indent => 0, :skip_instruct => true, :include => [ :clients, :account ])
1652
- assert_equal "<firm>", xml.first(6)
1653
- assert xml.include?(%(<account>))
1654
- assert xml.include?(%(<clients type="array"><client>))
1655
- end
1656
-
1657
- def test_to_xml_including_multiple_associations_with_options
1658
- xml = companies(:first_firm).to_xml(
1659
- :indent => 0, :skip_instruct => true,
1660
- :include => { :clients => { :only => :name } }
1661
- )
1662
-
1663
- assert_equal "<firm>", xml.first(6)
1664
- assert xml.include?(%(<client><name>Summit</name></client>))
1665
- assert xml.include?(%(<clients type="array"><client>))
1666
- end
1667
-
1668
- def test_to_xml_including_methods
1669
- xml = Company.new.to_xml(:methods => :arbitrary_method, :skip_instruct => true)
1670
- assert_equal "<company>", xml.first(9)
1671
- assert xml.include?(%(<arbitrary-method>I am Jack's profound disappointment</arbitrary-method>))
1672
- end
1673
-
1674
- def test_to_xml_with_block
1675
- value = "Rockin' the block"
1676
- xml = Company.new.to_xml(:skip_instruct => true) do |xml|
1677
- xml.tag! "arbitrary-element", value
1678
- end
1679
- assert_equal "<company>", xml.first(9)
1680
- assert xml.include?(%(<arbitrary-element>#{value}</arbitrary-element>))
1681
- end
1682
-
1683
- def test_except_attributes
1684
- assert_equal(
1685
- %w( author_name type id approved replies_count bonus_time written_on content author_email_address parent_id last_read),
1686
- topics(:first).attributes(:except => :title).keys
1687
- )
1688
-
1689
- assert_equal(
1690
- %w( replies_count bonus_time written_on content author_email_address parent_id last_read),
1691
- topics(:first).attributes(:except => [ :title, :id, :type, :approved, :author_name ]).keys
1692
- )
1693
- end
1694
-
1695
- def test_include_attributes
1696
- assert_equal(%w( title ), topics(:first).attributes(:only => :title).keys)
1697
- assert_equal(%w( title author_name type id approved ), topics(:first).attributes(:only => [ :title, :id, :type, :approved, :author_name ]).keys)
1698
- end
1699
-
1700
- def test_type_name_with_module_should_handle_beginning
1701
- assert_equal 'ActiveRecord::Person', ActiveRecord::Base.send(:type_name_with_module, 'Person')
1702
- assert_equal '::Person', ActiveRecord::Base.send(:type_name_with_module, '::Person')
1703
- end
1704
-
1705
- def test_to_param_should_return_string
1706
- assert_kind_of String, Client.find(:first).to_param
1707
- end
1708
-
1709
- def test_inspect_class
1710
- assert_equal 'ActiveRecord::Base', ActiveRecord::Base.inspect
1711
- assert_equal 'LoosePerson(abstract)', LoosePerson.inspect
1712
- assert_match(/^Topic\(id: integer, title: string/, Topic.inspect)
1713
- end
1714
-
1715
- def test_inspect_instance
1716
- topic = topics(:first)
1717
- assert_equal %(#<Topic id: 1, title: "The First Topic", author_name: "David", author_email_address: "david@loudthinking.com", written_on: "#{topic.written_on.to_s(:db)}", bonus_time: "#{topic.bonus_time.to_s(:db)}", last_read: "#{topic.last_read.to_s(:db)}", content: "Have a nice day", approved: false, replies_count: 1, parent_id: nil, type: nil>), topic.inspect
1718
- end
1719
-
1720
- def test_inspect_new_instance
1721
- assert_match /Topic id: nil/, Topic.new.inspect
1722
- end
1723
-
1724
- def test_inspect_limited_select_instance
1725
- assert_equal %(#<Topic id: 1>), Topic.find(:first, :select => 'id', :conditions => 'id = 1').inspect
1726
- assert_equal %(#<Topic id: 1, title: "The First Topic">), Topic.find(:first, :select => 'id, title', :conditions => 'id = 1').inspect
1727
- end
1728
-
1729
- def test_inspect_class_without_table
1730
- assert_equal "NonExistentTable(Table doesn't exist)", NonExistentTable.inspect
1731
- end
1732
-
1733
- def test_attribute_for_inspect
1734
- t = topics(:first)
1735
- t.title = "The First Topic Now Has A Title With\nNewlines And More Than 50 Characters"
1736
-
1737
- assert_equal %("#{t.written_on.to_s(:db)}"), t.attribute_for_inspect(:written_on)
1738
- assert_equal '"The First Topic Now Has A Title With\nNewlines And M..."', t.attribute_for_inspect(:title)
1739
- end
1740
-
1741
- def test_becomes
1742
- assert_kind_of Reply, topics(:first).becomes(Reply)
1743
- assert_equal "The First Topic", topics(:first).becomes(Reply).title
1744
- end
1745
- end