radiant 0.7.2 → 0.8.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 (2324) hide show
  1. data/CHANGELOG +295 -195
  2. data/CONTRIBUTORS +14 -2
  3. data/INSTALL +0 -0
  4. data/LICENSE +0 -0
  5. data/README +0 -0
  6. data/Rakefile +0 -0
  7. data/app/controllers/admin/export_controller.rb +0 -0
  8. data/app/controllers/admin/extensions_controller.rb +6 -0
  9. data/app/controllers/admin/layouts_controller.rb +4 -0
  10. data/app/controllers/admin/page_parts_controller.rb +1 -1
  11. data/app/controllers/admin/pages_controller.rb +13 -5
  12. data/app/controllers/admin/preferences_controller.rb +1 -1
  13. data/app/controllers/admin/references_controller.rb +0 -0
  14. data/app/controllers/admin/resource_controller.rb +12 -14
  15. data/app/controllers/admin/snippets_controller.rb +3 -0
  16. data/app/controllers/admin/users_controller.rb +4 -0
  17. data/app/controllers/admin/welcome_controller.rb +2 -2
  18. data/app/controllers/{application.rb → application_controller.rb} +13 -1
  19. data/app/controllers/site_controller.rb +21 -21
  20. data/app/helpers/admin/abstract_model_helper.rb +0 -0
  21. data/app/helpers/admin/export_helper.rb +0 -0
  22. data/app/helpers/admin/extensions_helper.rb +0 -0
  23. data/app/helpers/admin/layouts_helper.rb +0 -0
  24. data/app/helpers/admin/node_helper.rb +0 -0
  25. data/app/helpers/admin/pages_helper.rb +1 -1
  26. data/app/helpers/admin/preferences_helper.rb +0 -0
  27. data/app/helpers/admin/references_helper.rb +1 -1
  28. data/app/helpers/admin/regions_helper.rb +8 -8
  29. data/app/helpers/admin/snippets_helper.rb +0 -0
  30. data/app/helpers/admin/users_helper.rb +0 -0
  31. data/app/helpers/admin/welcome_helper.rb +0 -0
  32. data/app/helpers/application_helper.rb +1 -1
  33. data/app/helpers/site_helper.rb +0 -0
  34. data/app/models/env_dump_page.rb +0 -0
  35. data/app/models/file_not_found_page.rb +3 -3
  36. data/app/models/layout.rb +2 -2
  37. data/app/models/page.rb +59 -78
  38. data/app/models/page_context.rb +0 -0
  39. data/app/models/page_part.rb +3 -3
  40. data/app/models/radiant/config.rb +23 -23
  41. data/app/models/radiant/exporter.rb +0 -0
  42. data/app/models/snippet.rb +3 -3
  43. data/app/models/standard_tags.rb +11 -2
  44. data/app/models/status.rb +0 -0
  45. data/app/models/text_filter.rb +0 -0
  46. data/app/models/user.rb +14 -5
  47. data/app/models/user_action_observer.rb +0 -0
  48. data/app/views/admin/extensions/index.html.haml +0 -0
  49. data/app/views/admin/layouts/_form.html.haml +0 -0
  50. data/app/views/admin/layouts/edit.html.haml +0 -0
  51. data/app/views/admin/layouts/index.html.haml +0 -0
  52. data/app/views/admin/layouts/new.html.haml +0 -0
  53. data/app/views/admin/layouts/remove.html.haml +0 -0
  54. data/app/views/admin/page_parts/_page_part.html.haml +5 -3
  55. data/app/views/admin/pages/_edit_styles.html.haml +0 -0
  56. data/app/views/admin/pages/_fields.html.haml +0 -0
  57. data/app/views/admin/pages/_meta_row.html.haml +0 -0
  58. data/app/views/admin/pages/_node.html.haml +0 -0
  59. data/app/views/admin/pages/_popups.html.haml +2 -1
  60. data/app/views/admin/pages/children.html.haml +0 -0
  61. data/app/views/admin/pages/edit.html.haml +0 -0
  62. data/app/views/admin/pages/index.html.haml +0 -0
  63. data/app/views/admin/pages/new.html.haml +0 -0
  64. data/app/views/admin/pages/remove.html.haml +0 -0
  65. data/app/views/admin/preferences/edit.html.haml +0 -0
  66. data/app/views/admin/references/_tag_reference.haml +0 -0
  67. data/app/views/admin/references/filters.js.erb +0 -0
  68. data/app/views/admin/references/tags.js.erb +0 -0
  69. data/app/views/admin/snippets/_form.html.haml +0 -0
  70. data/app/views/admin/snippets/edit.html.haml +0 -0
  71. data/app/views/admin/snippets/index.html.haml +0 -0
  72. data/app/views/admin/snippets/new.html.haml +0 -0
  73. data/app/views/admin/snippets/remove.html.haml +0 -0
  74. data/app/views/admin/users/_form.html.haml +0 -0
  75. data/app/views/admin/users/edit.html.haml +0 -0
  76. data/app/views/admin/users/index.html.haml +0 -0
  77. data/app/views/admin/users/new.html.haml +0 -0
  78. data/app/views/admin/users/remove.html.haml +0 -0
  79. data/app/views/admin/welcome/login.html.haml +0 -0
  80. data/app/views/layouts/application.html.haml +0 -0
  81. data/app/views/site/not_found.html.haml +0 -0
  82. data/config/boot.rb +5 -4
  83. data/config/database.mysql.yml +0 -0
  84. data/config/database.postgresql.yml +0 -0
  85. data/config/database.sqlite.yml +1 -1
  86. data/config/database.sqlserver.yml +0 -0
  87. data/config/environment.rb +30 -43
  88. data/config/environments/development.rb +1 -2
  89. data/config/environments/production.rb +0 -1
  90. data/config/environments/test.rb +6 -2
  91. data/config/routes.rb +0 -0
  92. data/db/migrate/001_create_radiant_tables.rb +0 -0
  93. data/db/migrate/002_insert_initial_data.rb +0 -0
  94. data/db/migrate/003_rename_behavior_column.rb +0 -0
  95. data/db/migrate/004_rename_filter_column.rb +0 -0
  96. data/db/migrate/005_add_virtual_column_to_page.rb +0 -0
  97. data/db/migrate/006_integer_columns_to_boolean.rb +0 -0
  98. data/db/migrate/007_remove_virtual_column_from_page.rb +0 -0
  99. data/db/migrate/008_add_virtual_column_to_page_again.rb +0 -0
  100. data/db/migrate/009_add_content_type_field_to_layout.rb +0 -0
  101. data/db/migrate/010_merge_behaviors_and_pages.rb +0 -0
  102. data/db/migrate/011_rename_type_column_on_page_to_class_name.rb +0 -0
  103. data/db/migrate/012_create_extension_meta.rb +0 -0
  104. data/db/migrate/013_add_notes_field_to_user.rb +0 -0
  105. data/db/migrate/014_rename_config_default_parts_key.rb +0 -0
  106. data/db/migrate/015_add_optimistic_locking.rb +0 -0
  107. data/db/migrate/016_add_sessions.rb +0 -0
  108. data/db/migrate/017_rename_created_by_updated_by_columns.rb +0 -0
  109. data/db/migrate/018_add_description_and_keywords_to_pages.rb +0 -0
  110. data/db/migrate/019_add_salt_to_users.rb +0 -0
  111. data/db/migrate/020_add_session_info_to_users.rb +0 -0
  112. data/db/migrate/021_remove_session_expire_from_users.rb +0 -0
  113. data/db/migrate/20081203140407_add_indexes.rb +0 -0
  114. data/db/schema.rb +1 -1
  115. data/db/templates/empty.yml +0 -0
  116. data/db/templates/roasters.yml +0 -0
  117. data/db/templates/simple-blog.yml +0 -0
  118. data/db/templates/styled-blog.yml +0 -0
  119. data/features/admin/content_negotiation.feature +24 -0
  120. data/features/admin/layouts_management.feature +10 -0
  121. data/features/admin/pages_management.feature +71 -0
  122. data/features/admin/snippets_management.feature +54 -0
  123. data/features/admin/user_permissions.feature +149 -0
  124. data/features/admin/user_preferences.feature +18 -0
  125. data/features/admin/users_management.feature +63 -0
  126. data/features/page_serving.feature +42 -0
  127. data/features/step_definitions/admin/admin_steps.rb +31 -0
  128. data/features/step_definitions/admin/content_negotiation_steps.rb +37 -0
  129. data/features/step_definitions/admin/pages_management_steps.rb +14 -0
  130. data/features/step_definitions/admin/users_management_steps.rb +12 -0
  131. data/features/step_definitions/page_serving_steps.rb +65 -0
  132. data/features/step_definitions/webrat_steps.rb +117 -0
  133. data/features/support/env.rb +23 -0
  134. data/features/support/paths.rb +14 -0
  135. data/lib/annotatable.rb +0 -0
  136. data/lib/autotest/discover.rb +0 -0
  137. data/lib/autotest/radiant_rails_rspec.rb +0 -0
  138. data/lib/generators/extension/USAGE +0 -0
  139. data/lib/generators/extension/extension_generator.rb +0 -0
  140. data/lib/generators/extension/templates/README +0 -0
  141. data/lib/generators/extension/templates/RSpecRakefile +0 -0
  142. data/lib/generators/extension/templates/extension.rb +0 -0
  143. data/lib/generators/extension/templates/functional_test.rb +0 -0
  144. data/lib/generators/extension/templates/migration.rb +0 -0
  145. data/lib/generators/extension/templates/spec.opts +0 -0
  146. data/lib/generators/extension/templates/spec_helper.rb +0 -0
  147. data/lib/generators/extension/templates/tasks.rake +2 -2
  148. data/lib/generators/extension/templates/test_helper.rb +0 -0
  149. data/lib/generators/extension_controller/USAGE +0 -0
  150. data/lib/generators/extension_controller/extension_controller_generator.rb +0 -0
  151. data/lib/generators/extension_controller/templates/controller.rb +0 -0
  152. data/lib/generators/extension_controller/templates/controller_spec.rb +0 -0
  153. data/lib/generators/extension_controller/templates/functional_test.rb +0 -0
  154. data/lib/generators/extension_controller/templates/helper.rb +0 -0
  155. data/lib/generators/extension_controller/templates/helper_spec.rb +0 -0
  156. data/lib/generators/extension_controller/templates/helper_test.rb +4 -0
  157. data/lib/generators/extension_controller/templates/view.html.erb +0 -0
  158. data/lib/generators/extension_controller/templates/view_spec.rb +0 -0
  159. data/lib/generators/extension_mailer/USAGE +0 -0
  160. data/lib/generators/extension_mailer/extension_mailer_generator.rb +0 -0
  161. data/lib/generators/extension_mailer/templates/fixture.erb +0 -0
  162. data/lib/generators/extension_mailer/templates/mailer.rb +0 -0
  163. data/lib/generators/extension_mailer/templates/unit_test.rb +0 -0
  164. data/lib/generators/extension_mailer/templates/view.erb +0 -0
  165. data/lib/generators/extension_migration/USAGE +0 -0
  166. data/lib/generators/extension_migration/extension_migration_generator.rb +0 -0
  167. data/lib/generators/extension_migration/templates/migration.rb +0 -0
  168. data/lib/generators/extension_model/USAGE +0 -0
  169. data/lib/generators/extension_model/extension_model_generator.rb +0 -0
  170. data/lib/generators/extension_model/templates/fixtures.yml +0 -0
  171. data/lib/generators/extension_model/templates/migration.rb +0 -0
  172. data/lib/generators/extension_model/templates/model.rb +0 -0
  173. data/lib/generators/extension_model/templates/model_spec.rb +0 -0
  174. data/lib/generators/extension_model/templates/unit_test.rb +0 -0
  175. data/lib/generators/generator_base_extension.rb +0 -0
  176. data/lib/generators/instance/instance_generator.rb +0 -0
  177. data/lib/generators/instance/templates/databases/mysql.yml +0 -0
  178. data/lib/generators/instance/templates/databases/postgresql.yml +0 -0
  179. data/lib/generators/instance/templates/databases/sqlite3.yml +0 -0
  180. data/lib/generators/instance/templates/databases/sqlserver.yml +0 -0
  181. data/lib/generators/instance/templates/instance_boot.rb +1 -4
  182. data/lib/generators/instance/templates/instance_environment.rb +36 -44
  183. data/lib/generators/instance/templates/instance_generate +0 -0
  184. data/lib/generators/instance/templates/instance_rakefile +0 -0
  185. data/lib/generators/instance/templates/instance_routes.rb +0 -0
  186. data/lib/inheritable_class_attributes.rb +0 -0
  187. data/lib/local_time.rb +0 -0
  188. data/lib/login_system.rb +59 -40
  189. data/lib/method_observer.rb +0 -0
  190. data/lib/plugins/active_record_extensions/init.rb +0 -0
  191. data/lib/plugins/active_record_extensions/lib/active_record_extensions.rb +0 -0
  192. data/lib/plugins/extension_patches/init.rb +1 -3
  193. data/lib/plugins/extension_patches/lib/routing_extension.rb +0 -0
  194. data/lib/plugins/object_extensions/init.rb +0 -0
  195. data/lib/plugins/object_extensions/lib/object_extensions.rb +0 -0
  196. data/lib/plugins/response_cache_timeout/init.rb +1 -1
  197. data/lib/plugins/string_extensions/init.rb +0 -0
  198. data/lib/plugins/string_extensions/lib/string_extensions.rb +10 -9
  199. data/lib/plugins/symbol_extensions/init.rb +0 -0
  200. data/lib/plugins/symbol_extensions/lib/symbol_extensions.rb +2 -4
  201. data/lib/radiant.rb +2 -2
  202. data/lib/radiant/admin_ui.rb +0 -0
  203. data/lib/radiant/admin_ui/region_partials.rb +0 -0
  204. data/lib/radiant/admin_ui/region_set.rb +0 -0
  205. data/lib/radiant/cache.rb +84 -0
  206. data/lib/radiant/extension.rb +0 -0
  207. data/lib/radiant/extension/script.rb +0 -0
  208. data/lib/radiant/extension_loader.rb +1 -1
  209. data/lib/radiant/extension_migrator.rb +0 -0
  210. data/lib/radiant/initializer.rb +33 -8
  211. data/lib/radiant/legacy_routes.rb +0 -0
  212. data/lib/radiant/resource_responses.rb +0 -0
  213. data/lib/radiant/setup.rb +1 -1
  214. data/lib/radiant/taggable.rb +0 -0
  215. data/lib/simpleton.rb +0 -0
  216. data/lib/tasks/cucumber.rake +17 -0
  217. data/lib/tasks/database.rake +0 -0
  218. data/lib/tasks/environments.rake +0 -0
  219. data/lib/tasks/extensions.rake +0 -0
  220. data/lib/tasks/framework.rake +49 -16
  221. data/lib/tasks/instance.rake +0 -0
  222. data/lib/tasks/release.rake +8 -3
  223. data/lib/tasks/rspec.rake +178 -130
  224. data/lib/tasks/undefine.rake +0 -0
  225. data/log/.keep +0 -0
  226. data/public/.htaccess +0 -0
  227. data/public/404.html +0 -0
  228. data/public/500.html +0 -0
  229. data/public/favicon.ico +0 -0
  230. data/public/images/admin/add-child.png +0 -0
  231. data/public/images/admin/clear-page-cache.png +0 -0
  232. data/public/images/admin/collapse.png +0 -0
  233. data/public/images/admin/expand.png +0 -0
  234. data/public/images/admin/layout.png +0 -0
  235. data/public/images/admin/minus.png +0 -0
  236. data/public/images/admin/new-homepage.png +0 -0
  237. data/public/images/admin/new-layout.png +0 -0
  238. data/public/images/admin/new-snippet.png +0 -0
  239. data/public/images/admin/new-user.png +0 -0
  240. data/public/images/admin/page.png +0 -0
  241. data/public/images/admin/plus.png +0 -0
  242. data/public/images/admin/remove-disabled.png +0 -0
  243. data/public/images/admin/remove.png +0 -0
  244. data/public/images/admin/snippet.png +0 -0
  245. data/public/images/admin/spinner.gif +0 -0
  246. data/public/images/admin/virtual-page.png +0 -0
  247. data/public/javascripts/admin/admin.js +1 -0
  248. data/public/javascripts/admin/ruledtable.js +0 -0
  249. data/public/javascripts/admin/sitemap.js +0 -0
  250. data/public/javascripts/admin/tabcontrol.js +6 -0
  251. data/public/javascripts/application.js +0 -0
  252. data/public/javascripts/controls.js +72 -72
  253. data/public/javascripts/dragdrop.js +165 -164
  254. data/public/javascripts/effects.js +173 -165
  255. data/public/javascripts/pngfix.js +0 -0
  256. data/public/javascripts/prototype.js +362 -267
  257. data/public/javascripts/string.js +0 -0
  258. data/public/robots.txt +0 -0
  259. data/public/stylesheets/admin/main.css +0 -0
  260. data/script/cucumber +8 -0
  261. data/spec/controllers/admin/export_controller_spec.rb +0 -0
  262. data/spec/controllers/admin/extensions_controller_spec.rb +23 -8
  263. data/spec/controllers/admin/layouts_controller_spec.rb +41 -1
  264. data/spec/controllers/admin/pages_controller_spec.rb +73 -25
  265. data/spec/controllers/admin/preferences_controller_spec.rb +6 -0
  266. data/spec/controllers/admin/references_controller_spec.rb +0 -0
  267. data/spec/controllers/admin/snippets_controller_spec.rb +71 -18
  268. data/spec/controllers/admin/users_controller_spec.rb +44 -0
  269. data/spec/controllers/admin/welcome_controller_spec.rb +10 -1
  270. data/spec/controllers/application_controller_spec.rb +25 -4
  271. data/spec/controllers/site_controller_spec.rb +49 -12
  272. data/spec/datasets/config_dataset.rb +11 -0
  273. data/spec/datasets/file_not_found_dataset.rb +0 -0
  274. data/spec/datasets/home_page_dataset.rb +0 -0
  275. data/spec/datasets/layouts_dataset.rb +0 -0
  276. data/spec/datasets/markup_pages_dataset.rb +0 -0
  277. data/spec/datasets/pages_dataset.rb +5 -0
  278. data/spec/datasets/pages_with_layouts_dataset.rb +0 -0
  279. data/spec/datasets/snippets_dataset.rb +0 -0
  280. data/spec/datasets/users_and_pages_dataset.rb +0 -0
  281. data/spec/datasets/users_dataset.rb +0 -0
  282. data/spec/fixtures/example_extension/README +0 -0
  283. data/spec/fixtures/example_extension/Rakefile +0 -0
  284. data/spec/fixtures/example_extension/example_extension.rb +0 -0
  285. data/spec/fixtures/example_extension/lib/tasks/example_extension_tasks.rake +0 -0
  286. data/spec/fixtures/example_extension/spec/spec.opts +0 -0
  287. data/spec/fixtures/example_extension/spec/spec_helper.rb +0 -0
  288. data/spec/fixtures/sample.txt +0 -0
  289. data/spec/generators/extension_controller_generator_spec.rb +0 -0
  290. data/spec/generators/extension_generator_spec.rb +0 -0
  291. data/spec/generators/extension_generators_spec_helper.rb +0 -0
  292. data/spec/generators/extension_mailer_generator_spec.rb +0 -0
  293. data/spec/generators/extension_migration_generator_spec.rb +0 -0
  294. data/spec/generators/extension_model_generator_spec.rb +0 -0
  295. data/spec/helpers/admin/abstract_model_helper_spec.rb +0 -0
  296. data/spec/helpers/admin/export_helper_spec.rb +0 -0
  297. data/spec/helpers/admin/extensions_helper_spec.rb +0 -0
  298. data/spec/helpers/admin/layouts_helper_spec.rb +0 -0
  299. data/spec/helpers/admin/node_helper_spec.rb +0 -0
  300. data/spec/helpers/admin/pages_helper_spec.rb +0 -0
  301. data/spec/helpers/admin/preferences_helper_spec.rb +0 -0
  302. data/spec/helpers/admin/references_helper_spec.rb +0 -0
  303. data/spec/helpers/admin/regions_helper_spec.rb +6 -9
  304. data/spec/helpers/admin/snippets_helper_spec.rb +0 -0
  305. data/spec/helpers/admin/users_helper_spec.rb +0 -0
  306. data/spec/helpers/admin/welcome_helper_spec.rb +0 -0
  307. data/spec/helpers/application_helper_spec.rb +0 -0
  308. data/spec/helpers/site_helper_spec.rb +0 -0
  309. data/spec/lib/annotatable_spec.rb +0 -0
  310. data/spec/lib/autotest_spec.rb +0 -0
  311. data/spec/lib/core_ext/string_ext_spec.rb +5 -4
  312. data/spec/lib/inheritable_class_attributes_spec.rb +0 -0
  313. data/spec/lib/local_time_spec.rb +0 -0
  314. data/spec/lib/login_system_spec.rb +29 -35
  315. data/spec/lib/method_observer_spec.rb +0 -0
  316. data/spec/lib/radiant/admin_ui/region_partials_spec.rb +0 -0
  317. data/spec/lib/radiant/admin_ui/region_set_spec.rb +0 -0
  318. data/spec/lib/radiant/admin_ui_spec.rb +0 -0
  319. data/spec/lib/radiant/extension/script_spec.rb +0 -0
  320. data/spec/lib/radiant/extension_loader_spec.rb +32 -23
  321. data/spec/lib/radiant/extension_migrator_spec.rb +0 -0
  322. data/spec/lib/radiant/extension_spec.rb +0 -0
  323. data/spec/lib/radiant/initializer_spec.rb +17 -0
  324. data/spec/lib/radiant/legacy_routes_spec.rb +0 -0
  325. data/spec/lib/radiant/resource_responses_spec.rb +0 -0
  326. data/spec/lib/radiant/taggable_spec.rb +0 -0
  327. data/spec/lib/radiant_spec.rb +0 -0
  328. data/spec/lib/simpleton_spec.rb +0 -0
  329. data/spec/matchers/autotest_matchers.rb +0 -0
  330. data/spec/matchers/generator_matchers.rb +0 -0
  331. data/spec/matchers/login_system_matcher.rb +0 -0
  332. data/spec/matchers/render_form_errors_matcher.rb +0 -0
  333. data/spec/matchers/render_matcher.rb +9 -4
  334. data/spec/models/env_dump_page_spec.rb +0 -0
  335. data/spec/models/file_not_found_page_spec.rb +2 -2
  336. data/spec/models/layout_spec.rb +0 -0
  337. data/spec/models/page_context_spec.rb +0 -0
  338. data/spec/models/page_part_spec.rb +0 -0
  339. data/spec/models/page_spec.rb +23 -30
  340. data/spec/models/radiant/config_spec.rb +17 -1
  341. data/spec/models/radiant/exporter_spec.rb +0 -0
  342. data/spec/models/snippet_spec.rb +0 -0
  343. data/spec/models/standard_tags_spec.rb +17 -3
  344. data/spec/models/status_spec.rb +0 -0
  345. data/spec/models/text_filter_spec.rb +0 -0
  346. data/spec/models/user_action_observer_spec.rb +0 -0
  347. data/spec/models/user_spec.rb +15 -0
  348. data/spec/rcov.opts +0 -0
  349. data/spec/spec.opts +1 -1
  350. data/spec/spec_helper.rb +12 -45
  351. data/test/fixtures/extensions/01_basic/app/controllers/basic_extension_controller.rb +0 -0
  352. data/test/fixtures/extensions/01_basic/app/models/basic_extension_mailer.rb +0 -0
  353. data/test/fixtures/extensions/01_basic/app/models/basic_extension_model.rb +0 -0
  354. data/test/fixtures/extensions/01_basic/app/views/basic_extension/index.html.erb +0 -0
  355. data/test/fixtures/extensions/01_basic/app/views/basic_extension/override.html.erb +0 -0
  356. data/test/fixtures/extensions/01_basic/app/views/basic_extension_mailer/message.text.html.erb +0 -0
  357. data/test/fixtures/extensions/01_basic/basic_extension.rb +0 -0
  358. data/test/fixtures/extensions/01_basic/db/migrate/200812131420_create_initial_schema.rb +0 -0
  359. data/test/fixtures/extensions/01_basic/db/migrate/200812131421_modify_initial_schema.rb +0 -0
  360. data/test/fixtures/extensions/01_basic/lib/new_module.rb +0 -0
  361. data/test/fixtures/extensions/01_basic/vendor/plugins/multiple/init.rb +0 -0
  362. data/test/fixtures/extensions/01_basic/vendor/plugins/multiple/lib/multiple.rb +0 -0
  363. data/test/fixtures/extensions/01_basic/vendor/plugins/plugin_normal/init.rb +0 -0
  364. data/test/fixtures/extensions/01_basic/vendor/plugins/plugin_normal/lib/normal_plugin.rb +0 -0
  365. data/test/fixtures/extensions/02_overriding/app/views/basic_extension/override.html.erb +0 -0
  366. data/test/fixtures/extensions/02_overriding/overriding_extension.rb +0 -0
  367. data/test/fixtures/extensions/02_overriding/vendor/plugins/multiple/init.rb +0 -0
  368. data/test/fixtures/extensions/02_overriding/vendor/plugins/multiple/lib/multiple.rb +0 -0
  369. data/test/fixtures/extensions/03_upgrading/db/migrate/01_first.rb +0 -0
  370. data/test/fixtures/extensions/03_upgrading/db/migrate/02_second.rb +0 -0
  371. data/test/fixtures/extensions/03_upgrading/db/migrate/03_pending.rb +0 -0
  372. data/test/fixtures/extensions/03_upgrading/db/migrate/04_dont_run.rb +0 -0
  373. data/test/fixtures/extensions/03_upgrading/upgrading_extension.rb +0 -0
  374. data/test/fixtures/extensions/load_order_blue/load_order_blue_extension.rb +0 -0
  375. data/test/fixtures/extensions/load_order_green/load_order_green_extension.rb +0 -0
  376. data/test/fixtures/extensions/load_order_red/load_order_red_extension.rb +0 -0
  377. data/test/fixtures/extensions/special_characters/db/migrate/001_create_initial_schema.rb +0 -0
  378. data/test/fixtures/extensions/special_characters/special_characters_extension.rb +0 -0
  379. data/test/helpers/page_test_helper.rb +0 -0
  380. data/test/helpers/render_test_helper.rb +0 -0
  381. data/test/helpers/user_test_helper.rb +0 -0
  382. data/test/test_helper.rb +0 -0
  383. data/vendor/extensions/archive/README +0 -0
  384. data/vendor/extensions/archive/Rakefile +0 -0
  385. data/vendor/extensions/archive/app/models/archive_finder.rb +0 -0
  386. data/vendor/extensions/archive/archive_extension.rb +0 -0
  387. data/vendor/extensions/archive/lib/tasks/archive_extension_tasks.rake +0 -0
  388. data/vendor/extensions/archive/spec/datasets/archive_dataset.rb +0 -0
  389. data/vendor/extensions/archive/spec/models/archive_day_index_page_spec.rb +0 -0
  390. data/vendor/extensions/archive/spec/models/archive_month_index_page_spec.rb +0 -0
  391. data/vendor/extensions/archive/spec/models/archive_page_spec.rb +0 -0
  392. data/vendor/extensions/archive/spec/models/archive_year_index_page_spec.rb +0 -0
  393. data/vendor/extensions/archive/spec/spec.opts +0 -0
  394. data/vendor/extensions/archive/spec/spec_helper.rb +0 -0
  395. data/vendor/extensions/archive/test/fixtures/pages.yml +0 -0
  396. data/vendor/extensions/archive/test/functional/archive_extension_test.rb +0 -0
  397. data/vendor/extensions/archive/test/test_helper.rb +0 -0
  398. data/vendor/extensions/markdown_filter/README +0 -0
  399. data/vendor/extensions/markdown_filter/Rakefile +0 -0
  400. data/vendor/extensions/markdown_filter/lib/markdown_filter.rb +0 -0
  401. data/vendor/extensions/markdown_filter/lib/markdown_tags.rb +0 -0
  402. data/vendor/extensions/markdown_filter/lib/smarty_pants_filter.rb +0 -0
  403. data/vendor/extensions/markdown_filter/lib/tasks/markdown_filter_extension_tasks.rake +0 -0
  404. data/vendor/extensions/markdown_filter/lib/tasks/textile_filter_extension_tasks.rake +0 -0
  405. data/vendor/extensions/markdown_filter/markdown.html +0 -0
  406. data/vendor/extensions/markdown_filter/markdown_filter_extension.rb +0 -0
  407. data/vendor/extensions/markdown_filter/smartypants.html +0 -0
  408. data/vendor/extensions/markdown_filter/spec/models/markdown_filter_spec.rb +0 -0
  409. data/vendor/extensions/markdown_filter/spec/models/smarty_pants_filter_spec.rb +0 -0
  410. data/vendor/extensions/markdown_filter/spec/spec.opts +0 -0
  411. data/vendor/extensions/markdown_filter/spec/spec_helper.rb +0 -0
  412. data/vendor/extensions/markdown_filter/test/test_helper.rb +0 -0
  413. data/vendor/extensions/markdown_filter/test/unit/markdown_filter_test.rb +0 -0
  414. data/vendor/extensions/markdown_filter/test/unit/smarty_pants_filter_test.rb +0 -0
  415. data/vendor/extensions/markdown_filter/vendor/bluecloth/CHANGES +0 -0
  416. data/vendor/extensions/markdown_filter/vendor/bluecloth/LICENSE +0 -0
  417. data/vendor/extensions/markdown_filter/vendor/bluecloth/README +0 -0
  418. data/vendor/extensions/markdown_filter/vendor/bluecloth/bin/bluecloth +0 -0
  419. data/vendor/extensions/markdown_filter/vendor/bluecloth/install.rb +0 -0
  420. data/vendor/extensions/markdown_filter/vendor/bluecloth/lib/bluecloth.rb +0 -0
  421. data/vendor/extensions/markdown_filter/vendor/bluecloth/test.rb +0 -0
  422. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/00_Class.tests.rb +0 -0
  423. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/05_Markdown.tests.rb +0 -0
  424. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/10_Bug.tests.rb +0 -0
  425. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/15_Contrib.tests.rb +0 -0
  426. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/bctestcase.rb +0 -0
  427. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/data/antsugar.txt +0 -0
  428. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/data/ml-announce.txt +0 -0
  429. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/data/re-overflow.txt +0 -0
  430. data/vendor/extensions/markdown_filter/vendor/bluecloth/tests/data/re-overflow2.txt +0 -0
  431. data/vendor/extensions/markdown_filter/vendor/bluecloth/utils.rb +0 -0
  432. data/vendor/extensions/markdown_filter/vendor/rubypants/README +0 -0
  433. data/vendor/extensions/markdown_filter/vendor/rubypants/Rakefile +0 -0
  434. data/vendor/extensions/markdown_filter/vendor/rubypants/install.rb +0 -0
  435. data/vendor/extensions/markdown_filter/vendor/rubypants/rubypants.rb +0 -0
  436. data/vendor/extensions/markdown_filter/vendor/rubypants/test_rubypants.rb +0 -0
  437. data/vendor/extensions/textile_filter/README +0 -0
  438. data/vendor/extensions/textile_filter/Rakefile +0 -0
  439. data/vendor/extensions/textile_filter/lib/tasks/textile_filter_extension_tasks.rake +0 -0
  440. data/vendor/extensions/textile_filter/lib/textile_filter.rb +0 -0
  441. data/vendor/extensions/textile_filter/lib/textile_tags.rb +0 -0
  442. data/vendor/extensions/textile_filter/spec/models/textile_filter_spec.rb +0 -0
  443. data/vendor/extensions/textile_filter/spec/spec.opts +0 -0
  444. data/vendor/extensions/textile_filter/spec/spec_helper.rb +0 -0
  445. data/vendor/extensions/textile_filter/test/test_helper.rb +0 -0
  446. data/vendor/extensions/textile_filter/test/unit/textile_filter_test.rb +0 -0
  447. data/vendor/extensions/textile_filter/textile.html +0 -0
  448. data/vendor/extensions/textile_filter/textile_filter_extension.rb +0 -0
  449. data/vendor/highline/CHANGELOG +39 -0
  450. data/vendor/highline/INSTALL +0 -0
  451. data/vendor/highline/LICENSE +1 -1
  452. data/vendor/highline/README +0 -0
  453. data/vendor/highline/Rakefile +1 -1
  454. data/vendor/highline/TODO +0 -0
  455. data/vendor/highline/examples/ansi_colors.rb +0 -0
  456. data/vendor/highline/examples/asking_for_arrays.rb +0 -0
  457. data/vendor/highline/examples/basic_usage.rb +0 -0
  458. data/vendor/highline/examples/color_scheme.rb +0 -0
  459. data/vendor/highline/examples/limit.rb +12 -0
  460. data/vendor/highline/examples/menus.rb +0 -0
  461. data/vendor/highline/examples/overwrite.rb +0 -0
  462. data/vendor/highline/examples/page_and_wrap.rb +0 -0
  463. data/vendor/highline/examples/password.rb +0 -0
  464. data/vendor/highline/examples/trapping_eof.rb +0 -0
  465. data/vendor/highline/examples/using_readline.rb +1 -1
  466. data/vendor/highline/lib/highline.rb +86 -32
  467. data/vendor/highline/lib/highline/color_scheme.rb +0 -0
  468. data/vendor/highline/lib/highline/compatibility.rb +17 -0
  469. data/vendor/highline/lib/highline/import.rb +0 -0
  470. data/vendor/highline/lib/highline/menu.rb +0 -0
  471. data/vendor/highline/lib/highline/question.rb +3 -2
  472. data/vendor/highline/lib/highline/system_extensions.rb +93 -25
  473. data/vendor/highline/setup.rb +0 -0
  474. data/vendor/highline/test/tc_color_scheme.rb +0 -0
  475. data/vendor/highline/test/tc_highline.rb +46 -3
  476. data/vendor/highline/test/tc_import.rb +0 -0
  477. data/vendor/highline/test/tc_menu.rb +0 -0
  478. data/vendor/highline/test/ts_all.rb +0 -0
  479. data/vendor/plugins/acts_as_tree/README +0 -0
  480. data/vendor/plugins/acts_as_tree/Rakefile +0 -0
  481. data/vendor/plugins/acts_as_tree/init.rb +0 -0
  482. data/vendor/plugins/acts_as_tree/lib/active_record/acts/tree.rb +0 -0
  483. data/vendor/plugins/acts_as_tree/test/abstract_unit.rb +0 -0
  484. data/vendor/plugins/acts_as_tree/test/acts_as_tree_test.rb +0 -0
  485. data/vendor/plugins/acts_as_tree/test/database.yml +0 -0
  486. data/vendor/plugins/acts_as_tree/test/fixtures/mixin.rb +0 -0
  487. data/vendor/plugins/acts_as_tree/test/fixtures/mixins.yml +0 -0
  488. data/vendor/plugins/acts_as_tree/test/schema.rb +0 -0
  489. data/vendor/plugins/dataset/CHANGELOG +58 -0
  490. data/vendor/plugins/dataset/LICENSE +1 -1
  491. data/vendor/plugins/dataset/{README.txt → README} +0 -0
  492. data/vendor/plugins/dataset/Rakefile +16 -8
  493. data/vendor/plugins/dataset/TODO +2 -6
  494. data/vendor/plugins/dataset/VERSION.yml +4 -0
  495. data/vendor/plugins/dataset/dataset.gemspec +27 -0
  496. data/vendor/plugins/dataset/lib/dataset.rb +3 -1
  497. data/vendor/plugins/dataset/lib/dataset/base.rb +0 -0
  498. data/vendor/plugins/dataset/lib/dataset/collection.rb +0 -0
  499. data/vendor/plugins/dataset/lib/dataset/database/base.rb +1 -1
  500. data/vendor/plugins/dataset/lib/dataset/database/mysql.rb +0 -0
  501. data/vendor/plugins/dataset/lib/dataset/database/postgresql.rb +0 -0
  502. data/vendor/plugins/dataset/lib/dataset/database/sqlite3.rb +0 -0
  503. data/vendor/plugins/dataset/lib/dataset/extensions/cucumber.rb +20 -0
  504. data/vendor/plugins/dataset/lib/dataset/extensions/rspec.rb +0 -0
  505. data/vendor/plugins/dataset/lib/dataset/extensions/test_unit.rb +0 -0
  506. data/vendor/plugins/dataset/lib/dataset/instance_methods.rb +0 -0
  507. data/vendor/plugins/dataset/lib/dataset/load.rb +0 -0
  508. data/vendor/plugins/dataset/lib/dataset/record/fixture.rb +28 -9
  509. data/vendor/plugins/dataset/lib/dataset/record/meta.rb +31 -7
  510. data/vendor/plugins/dataset/lib/dataset/record/model.rb +15 -6
  511. data/vendor/plugins/dataset/lib/dataset/resolver.rb +0 -0
  512. data/vendor/plugins/dataset/lib/dataset/session.rb +0 -0
  513. data/vendor/plugins/dataset/lib/dataset/session_binding.rb +56 -38
  514. data/vendor/plugins/dataset/lib/dataset/version.rb +0 -0
  515. data/vendor/plugins/dataset/spec/dataset/cucumber_spec.rb +54 -0
  516. data/vendor/plugins/dataset/spec/dataset/database/base_spec.rb +3 -3
  517. data/vendor/plugins/dataset/spec/dataset/record/meta_spec.rb +14 -0
  518. data/vendor/plugins/dataset/spec/dataset/resolver_spec.rb +1 -1
  519. data/vendor/plugins/dataset/spec/dataset/rspec_spec.rb +107 -111
  520. data/vendor/plugins/dataset/spec/dataset/session_binding_spec.rb +42 -4
  521. data/vendor/plugins/dataset/spec/dataset/session_spec.rb +1 -1
  522. data/vendor/plugins/dataset/spec/dataset/test_unit_spec.rb +2 -1
  523. data/vendor/plugins/dataset/spec/fixtures/datasets/constant_not_defined.rb +0 -0
  524. data/vendor/plugins/dataset/spec/fixtures/datasets/ending_with_dataset.rb +0 -0
  525. data/vendor/plugins/dataset/spec/fixtures/datasets/exact_name.rb +0 -0
  526. data/vendor/plugins/dataset/spec/fixtures/datasets/not_a_dataset_base.rb +0 -0
  527. data/vendor/plugins/dataset/spec/fixtures/more_datasets/in_another_directory.rb +0 -0
  528. data/vendor/plugins/dataset/spec/models.rb +14 -2
  529. data/vendor/plugins/dataset/spec/schema.rb +3 -1
  530. data/vendor/plugins/dataset/spec/spec.opts +0 -0
  531. data/vendor/plugins/dataset/spec/spec_helper.rb +7 -9
  532. data/vendor/plugins/dataset/spec/stubs/mini_rails.rb +18 -0
  533. data/vendor/plugins/dataset/spec/stubs/test_help.rb +1 -0
  534. data/vendor/plugins/dataset/tasks/dataset.rake +0 -0
  535. data/vendor/plugins/haml/FAQ +0 -0
  536. data/vendor/plugins/haml/MIT-LICENSE +0 -0
  537. data/vendor/plugins/haml/README.rdoc +4 -4
  538. data/vendor/plugins/haml/REVISION +0 -0
  539. data/vendor/plugins/haml/Rakefile +35 -1
  540. data/vendor/plugins/haml/VERSION +1 -1
  541. data/vendor/plugins/haml/bin/haml +2 -1
  542. data/vendor/plugins/haml/extra/haml-mode.el +331 -0
  543. data/vendor/plugins/haml/extra/sass-mode.el +89 -0
  544. data/vendor/plugins/haml/init.rb +1 -0
  545. data/vendor/plugins/haml/lib/haml.rb +58 -77
  546. data/vendor/plugins/haml/lib/haml/buffer.rb +12 -8
  547. data/vendor/plugins/haml/lib/haml/engine.rb +3 -2
  548. data/vendor/plugins/haml/lib/haml/error.rb +1 -1
  549. data/vendor/plugins/haml/lib/haml/exec.rb +33 -8
  550. data/vendor/plugins/haml/lib/haml/filters.rb +41 -29
  551. data/vendor/plugins/haml/lib/haml/helpers.rb +69 -36
  552. data/vendor/plugins/haml/lib/haml/helpers/action_view_extensions.rb +0 -0
  553. data/vendor/plugins/haml/lib/haml/helpers/action_view_mods.rb +30 -20
  554. data/vendor/plugins/haml/lib/haml/html.rb +53 -19
  555. data/vendor/plugins/haml/lib/haml/precompiler.rb +38 -25
  556. data/vendor/plugins/haml/lib/haml/template.rb +0 -0
  557. data/vendor/plugins/haml/lib/haml/template/patch.rb +0 -0
  558. data/vendor/plugins/haml/lib/haml/template/plugin.rb +0 -0
  559. data/vendor/plugins/haml/lib/haml/util.rb +23 -0
  560. data/vendor/plugins/haml/lib/haml/version.rb +47 -0
  561. data/vendor/plugins/haml/lib/sass.rb +25 -8
  562. data/vendor/plugins/haml/lib/sass/constant.rb +3 -1
  563. data/vendor/plugins/haml/lib/sass/constant/color.rb +0 -0
  564. data/vendor/plugins/haml/lib/sass/constant/literal.rb +0 -0
  565. data/vendor/plugins/haml/lib/sass/constant/nil.rb +0 -0
  566. data/vendor/plugins/haml/lib/sass/constant/number.rb +1 -1
  567. data/vendor/plugins/haml/lib/sass/constant/operation.rb +0 -0
  568. data/vendor/plugins/haml/lib/sass/constant/string.rb +0 -0
  569. data/vendor/plugins/haml/lib/sass/css.rb +31 -30
  570. data/vendor/plugins/haml/lib/sass/engine.rb +13 -12
  571. data/vendor/plugins/haml/lib/sass/error.rb +1 -1
  572. data/vendor/plugins/haml/lib/sass/plugin.rb +11 -7
  573. data/vendor/plugins/haml/lib/sass/plugin/merb.rb +1 -1
  574. data/vendor/plugins/haml/lib/sass/plugin/rails.rb +0 -0
  575. data/vendor/plugins/haml/lib/sass/tree/attr_node.rb +4 -0
  576. data/vendor/plugins/haml/lib/sass/tree/comment_node.rb +0 -0
  577. data/vendor/plugins/haml/lib/sass/tree/directive_node.rb +0 -0
  578. data/vendor/plugins/haml/lib/sass/tree/node.rb +4 -0
  579. data/vendor/plugins/haml/lib/sass/tree/rule_node.rb +4 -0
  580. data/vendor/plugins/haml/lib/sass/tree/value_node.rb +4 -0
  581. data/vendor/plugins/haml/rails/init.rb +1 -0
  582. data/vendor/plugins/haml/test/benchmark.rb +49 -32
  583. data/vendor/plugins/haml/test/haml/engine_test.rb +165 -113
  584. data/vendor/plugins/haml/test/haml/helper_test.rb +29 -8
  585. data/vendor/plugins/haml/test/haml/html2haml_test.rb +50 -16
  586. data/vendor/plugins/haml/test/haml/markaby/standard.mab +0 -0
  587. data/vendor/plugins/haml/test/haml/mocks/article.rb +0 -0
  588. data/vendor/plugins/haml/test/haml/results/content_for_layout.xhtml +0 -0
  589. data/vendor/plugins/haml/test/haml/results/eval_suppressed.xhtml +0 -0
  590. data/vendor/plugins/haml/test/haml/results/filters.xhtml +2 -28
  591. data/vendor/plugins/haml/test/haml/results/helpers.xhtml +20 -18
  592. data/vendor/plugins/haml/test/haml/results/helpful.xhtml +0 -0
  593. data/vendor/plugins/haml/test/haml/results/just_stuff.xhtml +6 -0
  594. data/vendor/plugins/haml/test/haml/results/list.xhtml +0 -0
  595. data/vendor/plugins/haml/test/haml/results/nuke_inner_whitespace.xhtml +0 -0
  596. data/vendor/plugins/haml/test/haml/results/nuke_outer_whitespace.xhtml +0 -0
  597. data/vendor/plugins/haml/test/haml/results/original_engine.xhtml +0 -0
  598. data/vendor/plugins/haml/test/haml/results/partial_layout.xhtml +5 -0
  599. data/vendor/plugins/haml/test/haml/results/partials.xhtml +0 -0
  600. data/vendor/plugins/haml/test/haml/results/render_layout.xhtml +3 -0
  601. data/vendor/plugins/haml/test/haml/results/silent_script.xhtml +0 -0
  602. data/vendor/plugins/haml/test/haml/results/standard.xhtml +1 -1
  603. data/vendor/plugins/haml/test/haml/results/tag_parsing.xhtml +0 -0
  604. data/vendor/plugins/haml/test/haml/results/very_basic.xhtml +0 -0
  605. data/vendor/plugins/haml/test/haml/results/whitespace_handling.xhtml +4 -1
  606. data/vendor/plugins/haml/test/haml/rhtml/_av_partial_1.rhtml +0 -0
  607. data/vendor/plugins/haml/test/haml/rhtml/_av_partial_2.rhtml +0 -0
  608. data/vendor/plugins/haml/test/haml/rhtml/action_view.rhtml +0 -0
  609. data/vendor/plugins/haml/test/haml/rhtml/standard.rhtml +3 -3
  610. data/vendor/plugins/haml/test/haml/template_test.rb +58 -5
  611. data/vendor/plugins/haml/test/haml/templates/_av_partial_1.haml +0 -0
  612. data/vendor/plugins/haml/test/haml/templates/_av_partial_1_ugly.haml +9 -0
  613. data/vendor/plugins/haml/test/haml/templates/_av_partial_2.haml +0 -0
  614. data/vendor/plugins/haml/test/haml/templates/_av_partial_2_ugly.haml +5 -0
  615. data/vendor/plugins/haml/test/haml/templates/_layout.erb +3 -0
  616. data/vendor/plugins/haml/test/haml/templates/_layout_for_partial.haml +3 -0
  617. data/vendor/plugins/haml/test/haml/templates/_partial.haml +0 -0
  618. data/vendor/plugins/haml/test/haml/templates/_text_area.haml +0 -0
  619. data/vendor/plugins/haml/test/haml/templates/action_view.haml +0 -0
  620. data/vendor/plugins/haml/test/haml/templates/action_view_ugly.haml +47 -0
  621. data/vendor/plugins/haml/test/haml/templates/breakage.haml +0 -0
  622. data/vendor/plugins/haml/test/haml/templates/content_for_layout.haml +0 -0
  623. data/vendor/plugins/haml/test/haml/templates/eval_suppressed.haml +1 -1
  624. data/vendor/plugins/haml/test/haml/templates/filters.haml +0 -28
  625. data/vendor/plugins/haml/test/haml/templates/helpers.haml +46 -20
  626. data/vendor/plugins/haml/test/haml/templates/helpful.haml +0 -0
  627. data/vendor/plugins/haml/test/haml/templates/just_stuff.haml +7 -0
  628. data/vendor/plugins/haml/test/haml/templates/list.haml +0 -0
  629. data/vendor/plugins/haml/test/haml/templates/nuke_inner_whitespace.haml +0 -0
  630. data/vendor/plugins/haml/test/haml/templates/nuke_outer_whitespace.haml +0 -0
  631. data/vendor/plugins/haml/test/haml/templates/original_engine.haml +0 -0
  632. data/vendor/plugins/haml/test/haml/templates/partial_layout.haml +3 -0
  633. data/vendor/plugins/haml/test/haml/templates/partialize.haml +0 -0
  634. data/vendor/plugins/haml/test/haml/templates/partials.haml +0 -0
  635. data/vendor/plugins/haml/test/haml/templates/render_layout.haml +2 -0
  636. data/vendor/plugins/haml/test/haml/templates/silent_script.haml +0 -0
  637. data/vendor/plugins/haml/test/haml/templates/standard.haml +3 -3
  638. data/vendor/plugins/haml/test/haml/templates/standard_ugly.haml +42 -0
  639. data/vendor/plugins/haml/test/haml/templates/tag_parsing.haml +0 -0
  640. data/vendor/plugins/haml/test/haml/templates/very_basic.haml +0 -0
  641. data/vendor/plugins/haml/test/haml/templates/whitespace_handling.haml +2 -2
  642. data/vendor/plugins/haml/test/linked_rails.rb +12 -0
  643. data/vendor/plugins/haml/test/sass/css2sass_test.rb +193 -0
  644. data/vendor/plugins/haml/test/sass/engine_test.rb +14 -2
  645. data/vendor/plugins/haml/test/sass/plugin_test.rb +12 -6
  646. data/vendor/plugins/haml/test/sass/results/alt.css +0 -0
  647. data/vendor/plugins/haml/test/sass/results/basic.css +0 -0
  648. data/vendor/plugins/haml/test/sass/results/compact.css +0 -0
  649. data/vendor/plugins/haml/test/sass/results/complex.css +0 -0
  650. data/vendor/plugins/haml/test/sass/results/compressed.css +0 -0
  651. data/vendor/plugins/haml/test/sass/results/constants.css +0 -0
  652. data/vendor/plugins/haml/test/sass/results/expanded.css +0 -0
  653. data/vendor/plugins/haml/test/sass/results/import.css +0 -0
  654. data/vendor/plugins/haml/test/sass/results/mixins.css +0 -0
  655. data/vendor/plugins/haml/test/sass/results/multiline.css +0 -0
  656. data/vendor/plugins/haml/test/sass/results/nested.css +0 -0
  657. data/vendor/plugins/haml/test/sass/results/parent_ref.css +0 -0
  658. data/vendor/plugins/haml/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -0
  659. data/vendor/plugins/haml/test/sass/results/subdir/subdir.css +0 -0
  660. data/vendor/plugins/haml/test/sass/templates/_partial.sass +0 -0
  661. data/vendor/plugins/haml/test/sass/templates/alt.sass +0 -0
  662. data/vendor/plugins/haml/test/sass/templates/basic.sass +0 -0
  663. data/vendor/plugins/haml/test/sass/templates/bork.sass +0 -0
  664. data/vendor/plugins/haml/test/sass/templates/bork2.sass +0 -0
  665. data/vendor/plugins/haml/test/sass/templates/compact.sass +0 -0
  666. data/vendor/plugins/haml/test/sass/templates/complex.sass +0 -0
  667. data/vendor/plugins/haml/test/sass/templates/compressed.sass +0 -0
  668. data/vendor/plugins/haml/test/sass/templates/constants.sass +0 -0
  669. data/vendor/plugins/haml/test/sass/templates/expanded.sass +0 -0
  670. data/vendor/plugins/haml/test/sass/templates/import.sass +0 -0
  671. data/vendor/plugins/haml/test/sass/templates/importee.sass +0 -0
  672. data/vendor/plugins/haml/test/sass/templates/mixins.sass +0 -0
  673. data/vendor/plugins/haml/test/sass/templates/multiline.sass +0 -0
  674. data/vendor/plugins/haml/test/sass/templates/nested.sass +0 -0
  675. data/vendor/plugins/haml/test/sass/templates/parent_ref.sass +0 -0
  676. data/vendor/plugins/haml/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -0
  677. data/vendor/plugins/haml/test/sass/templates/subdir/subdir.sass +0 -0
  678. data/vendor/plugins/haml/test/test_helper.rb +11 -14
  679. data/vendor/rack-cache/CHANGES +128 -0
  680. data/vendor/rack-cache/COPYING +18 -0
  681. data/vendor/rack-cache/README +110 -0
  682. data/vendor/rack-cache/Rakefile +137 -0
  683. data/vendor/rack-cache/TODO +31 -0
  684. data/vendor/rack-cache/doc/configuration.markdown +86 -0
  685. data/vendor/rack-cache/doc/faq.markdown +141 -0
  686. data/vendor/rack-cache/doc/index.markdown +118 -0
  687. data/vendor/rack-cache/doc/layout.html.erb +34 -0
  688. data/vendor/rack-cache/doc/license.markdown +24 -0
  689. data/vendor/rack-cache/doc/rack-cache.css +362 -0
  690. data/vendor/rack-cache/doc/server.ru +34 -0
  691. data/vendor/rack-cache/doc/storage.markdown +162 -0
  692. data/vendor/rack-cache/example/sinatra/app.rb +25 -0
  693. data/vendor/rack-cache/example/sinatra/views/index.erb +44 -0
  694. data/vendor/rack-cache/lib/rack/cache.rb +45 -0
  695. data/vendor/rack-cache/lib/rack/cache/cachecontrol.rb +193 -0
  696. data/vendor/rack-cache/lib/rack/cache/context.rb +233 -0
  697. data/vendor/rack-cache/lib/rack/cache/entitystore.rb +253 -0
  698. data/vendor/rack-cache/lib/rack/cache/key.rb +52 -0
  699. data/vendor/rack-cache/lib/rack/cache/metastore.rb +328 -0
  700. data/vendor/rack-cache/lib/rack/cache/options.rb +150 -0
  701. data/vendor/rack-cache/lib/rack/cache/request.rb +33 -0
  702. data/vendor/rack-cache/lib/rack/cache/response.rb +267 -0
  703. data/vendor/rack-cache/lib/rack/cache/storage.rb +49 -0
  704. data/vendor/rack-cache/rack-cache.gemspec +69 -0
  705. data/vendor/rack-cache/test/cache_test.rb +38 -0
  706. data/vendor/rack-cache/test/cachecontrol_test.rb +139 -0
  707. data/vendor/rack-cache/test/context_test.rb +727 -0
  708. data/vendor/rack-cache/test/entitystore_test.rb +189 -0
  709. data/vendor/rack-cache/test/key_test.rb +50 -0
  710. data/vendor/rack-cache/test/metastore_test.rb +263 -0
  711. data/vendor/rack-cache/test/options_test.rb +78 -0
  712. data/vendor/rack-cache/test/pony.jpg +0 -0
  713. data/vendor/rack-cache/test/request_test.rb +19 -0
  714. data/vendor/rack-cache/test/response_test.rb +178 -0
  715. data/vendor/rack-cache/test/spec_setup.rb +202 -0
  716. data/vendor/rack-cache/test/storage_test.rb +94 -0
  717. data/vendor/radius/CHANGELOG +0 -0
  718. data/vendor/radius/QUICKSTART +0 -0
  719. data/vendor/radius/README +0 -0
  720. data/vendor/radius/ROADMAP +0 -0
  721. data/vendor/radius/Rakefile +0 -0
  722. data/vendor/radius/lib/radius.rb +0 -0
  723. data/vendor/radius/test/radius_test.rb +0 -0
  724. data/vendor/rails/actionmailer/CHANGELOG +23 -11
  725. data/vendor/rails/actionmailer/MIT-LICENSE +1 -1
  726. data/vendor/rails/actionmailer/README +0 -0
  727. data/vendor/rails/actionmailer/Rakefile +3 -5
  728. data/vendor/rails/actionmailer/install.rb +0 -0
  729. data/vendor/rails/actionmailer/lib/action_mailer.rb +30 -20
  730. data/vendor/rails/actionmailer/lib/action_mailer/adv_attr_accessor.rb +0 -0
  731. data/vendor/rails/actionmailer/lib/action_mailer/base.rb +118 -60
  732. data/vendor/rails/actionmailer/lib/action_mailer/helpers.rb +4 -2
  733. data/vendor/rails/actionmailer/lib/action_mailer/mail_helper.rb +0 -2
  734. data/vendor/rails/actionmailer/lib/action_mailer/part.rb +6 -9
  735. data/vendor/rails/actionmailer/lib/action_mailer/part_container.rb +5 -1
  736. data/vendor/rails/actionmailer/lib/action_mailer/quoting.rb +1 -1
  737. data/vendor/rails/actionmailer/lib/action_mailer/test_case.rb +1 -1
  738. data/vendor/rails/actionmailer/lib/action_mailer/test_helper.rb +1 -0
  739. data/vendor/rails/actionmailer/lib/action_mailer/utils.rb +0 -1
  740. data/vendor/rails/actionmailer/lib/action_mailer/vendor/text-format-0.6.3/text/format.rb +1 -1
  741. data/vendor/rails/actionmailer/lib/action_mailer/vendor/text_format.rb +10 -0
  742. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail.rb +0 -0
  743. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/address.rb +2 -2
  744. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/attachments.rb +0 -0
  745. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/base64.rb +0 -0
  746. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/compat.rb +0 -0
  747. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/config.rb +0 -0
  748. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/core_extensions.rb +0 -0
  749. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/encode.rb +0 -0
  750. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/header.rb +1 -1
  751. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/index.rb +0 -0
  752. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/interface.rb +1 -1
  753. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/loader.rb +0 -0
  754. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mail.rb +2 -2
  755. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mailbox.rb +0 -0
  756. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/main.rb +0 -0
  757. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/mbox.rb +0 -0
  758. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/net.rb +0 -0
  759. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/obsolete.rb +0 -0
  760. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/parser.rb +0 -0
  761. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/port.rb +0 -0
  762. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/quoting.rb +0 -0
  763. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/require_arch.rb +0 -0
  764. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner.rb +0 -0
  765. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/scanner_r.rb +0 -0
  766. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/stringio.rb +0 -0
  767. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/utils.rb +0 -0
  768. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.2.3/tmail/version.rb +0 -0
  769. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail.rb +17 -0
  770. data/vendor/rails/actionmailer/lib/action_mailer/version.rb +1 -1
  771. data/vendor/rails/actionmailer/lib/actionmailer.rb +0 -0
  772. data/vendor/rails/actionmailer/test/abstract_unit.rb +20 -11
  773. data/vendor/rails/actionmailer/test/asset_host_test.rb +54 -0
  774. data/vendor/rails/actionmailer/test/delivery_method_test.rb +0 -0
  775. data/vendor/rails/actionmailer/test/fixtures/asset_host_mailer/email_with_asset.html.erb +1 -0
  776. data/vendor/rails/actionmailer/test/fixtures/auto_layout_mailer/hello.html.erb +1 -0
  777. data/vendor/rails/actionmailer/test/fixtures/auto_layout_mailer/multipart.text.html.erb +1 -0
  778. data/vendor/rails/actionmailer/test/fixtures/auto_layout_mailer/multipart.text.plain.erb +1 -0
  779. data/vendor/rails/actionmailer/test/fixtures/explicit_layout_mailer/logout.html.erb +1 -0
  780. data/vendor/rails/actionmailer/test/fixtures/explicit_layout_mailer/signup.html.erb +1 -0
  781. data/vendor/rails/actionmailer/test/fixtures/first_mailer/share.erb +0 -0
  782. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb +0 -0
  783. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.erb +0 -0
  784. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb +0 -0
  785. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb +0 -0
  786. data/vendor/rails/actionmailer/test/fixtures/helpers/example_helper.rb +0 -0
  787. data/vendor/rails/actionmailer/test/fixtures/layouts/auto_layout_mailer.html.erb +1 -0
  788. data/vendor/rails/actionmailer/test/fixtures/layouts/auto_layout_mailer.text.erb +1 -0
  789. data/vendor/rails/actionmailer/test/fixtures/layouts/spam.html.erb +1 -0
  790. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb +0 -0
  791. data/vendor/rails/actionmailer/test/fixtures/raw_email +0 -0
  792. data/vendor/rails/actionmailer/test/fixtures/raw_email10 +0 -0
  793. data/vendor/rails/actionmailer/test/fixtures/raw_email12 +0 -0
  794. data/vendor/rails/actionmailer/test/fixtures/raw_email13 +0 -0
  795. data/vendor/rails/actionmailer/test/fixtures/raw_email2 +0 -0
  796. data/vendor/rails/actionmailer/test/fixtures/raw_email3 +0 -0
  797. data/vendor/rails/actionmailer/test/fixtures/raw_email4 +0 -0
  798. data/vendor/rails/actionmailer/test/fixtures/raw_email5 +0 -0
  799. data/vendor/rails/actionmailer/test/fixtures/raw_email6 +0 -0
  800. data/vendor/rails/actionmailer/test/fixtures/raw_email7 +0 -0
  801. data/vendor/rails/actionmailer/test/fixtures/raw_email8 +0 -0
  802. data/vendor/rails/actionmailer/test/fixtures/raw_email9 +0 -0
  803. data/vendor/rails/actionmailer/test/fixtures/raw_email_quoted_with_0d0a +0 -0
  804. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type +0 -0
  805. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_nested_attachment +0 -0
  806. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_partially_quoted_subject +0 -0
  807. data/vendor/rails/actionmailer/test/fixtures/second_mailer/share.erb +0 -0
  808. data/vendor/rails/actionmailer/test/fixtures/templates/signed_up.erb +0 -0
  809. data/vendor/rails/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb +0 -0
  810. data/vendor/rails/actionmailer/test/fixtures/test_mailer/body_ivar.erb +2 -0
  811. data/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml +0 -0
  812. data/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml +0 -0
  813. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb +0 -0
  814. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb +0 -0
  815. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb +0 -0
  816. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb +0 -0
  817. data/vendor/rails/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb +0 -0
  818. data/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.builder +0 -0
  819. data/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.rxml +0 -0
  820. data/vendor/rails/actionmailer/test/fixtures/test_mailer/{signed_up.erb → signed_up.html.erb} +0 -0
  821. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb +0 -0
  822. data/vendor/rails/actionmailer/test/mail_helper_test.rb +0 -0
  823. data/vendor/rails/actionmailer/test/mail_layout_test.rb +123 -0
  824. data/vendor/rails/actionmailer/test/mail_render_test.rb +3 -9
  825. data/vendor/rails/actionmailer/test/mail_service_test.rb +126 -27
  826. data/vendor/rails/actionmailer/test/quoting_test.rb +4 -3
  827. data/vendor/rails/actionmailer/test/test_helper_test.rb +5 -5
  828. data/vendor/rails/actionmailer/test/tmail_test.rb +0 -0
  829. data/vendor/rails/actionmailer/test/url_test.rb +0 -0
  830. data/vendor/rails/actionpack/CHANGELOG +698 -364
  831. data/vendor/rails/actionpack/MIT-LICENSE +1 -1
  832. data/vendor/rails/actionpack/README +26 -86
  833. data/vendor/rails/actionpack/RUNNING_UNIT_TESTS +0 -0
  834. data/vendor/rails/actionpack/Rakefile +11 -11
  835. data/vendor/rails/actionpack/install.rb +0 -0
  836. data/vendor/rails/actionpack/lib/action_controller.rb +86 -49
  837. data/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb +0 -0
  838. data/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb +1 -0
  839. data/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb +65 -87
  840. data/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb +34 -34
  841. data/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb +26 -17
  842. data/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb +1 -4
  843. data/vendor/rails/actionpack/lib/action_controller/base.rb +350 -210
  844. data/vendor/rails/actionpack/lib/action_controller/benchmarking.rb +39 -26
  845. data/vendor/rails/actionpack/lib/action_controller/caching.rb +9 -11
  846. data/vendor/rails/actionpack/lib/action_controller/caching/actions.rb +45 -20
  847. data/vendor/rails/actionpack/lib/action_controller/caching/fragments.rb +38 -56
  848. data/vendor/rails/actionpack/lib/action_controller/caching/pages.rb +13 -15
  849. data/vendor/rails/actionpack/lib/action_controller/caching/sweeping.rb +4 -4
  850. data/vendor/rails/actionpack/lib/action_controller/cgi_ext.rb +0 -1
  851. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie.rb +2 -0
  852. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/query_extension.rb +0 -0
  853. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb +0 -0
  854. data/vendor/rails/actionpack/lib/action_controller/cgi_process.rb +54 -200
  855. data/vendor/rails/actionpack/lib/action_controller/cookies.rb +23 -25
  856. data/vendor/rails/actionpack/lib/action_controller/dispatcher.rb +57 -101
  857. data/vendor/rails/actionpack/lib/action_controller/failsafe.rb +52 -0
  858. data/vendor/rails/actionpack/lib/action_controller/filters.rb +48 -10
  859. data/vendor/rails/actionpack/lib/action_controller/flash.rb +38 -47
  860. data/vendor/rails/actionpack/lib/action_controller/headers.rb +16 -14
  861. data/vendor/rails/actionpack/lib/action_controller/helpers.rb +15 -11
  862. data/vendor/rails/actionpack/lib/action_controller/http_authentication.rb +204 -24
  863. data/vendor/rails/actionpack/lib/action_controller/integration.rb +150 -97
  864. data/vendor/rails/actionpack/lib/action_controller/layout.rb +52 -81
  865. data/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb +119 -0
  866. data/vendor/rails/actionpack/lib/action_controller/middlewares.rb +13 -0
  867. data/vendor/rails/actionpack/lib/action_controller/mime_responds.rb +24 -5
  868. data/vendor/rails/actionpack/lib/action_controller/mime_type.rb +72 -42
  869. data/vendor/rails/actionpack/lib/action_controller/mime_types.rb +2 -1
  870. data/vendor/rails/actionpack/lib/action_controller/params_parser.rb +71 -0
  871. data/vendor/rails/actionpack/lib/action_controller/performance_test.rb +15 -0
  872. data/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb +44 -31
  873. data/vendor/rails/actionpack/lib/action_controller/record_identifier.rb +0 -0
  874. data/vendor/rails/actionpack/lib/action_controller/reloader.rb +14 -0
  875. data/vendor/rails/actionpack/lib/action_controller/request.rb +237 -512
  876. data/vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb +9 -41
  877. data/vendor/rails/actionpack/lib/action_controller/rescue.rb +72 -147
  878. data/vendor/rails/actionpack/lib/action_controller/resources.rb +196 -90
  879. data/vendor/rails/actionpack/lib/action_controller/response.rb +190 -34
  880. data/vendor/rails/actionpack/lib/action_controller/rewindable_input.rb +28 -0
  881. data/vendor/rails/actionpack/lib/action_controller/routing.rb +35 -37
  882. data/vendor/rails/actionpack/lib/action_controller/routing/builder.rb +49 -55
  883. data/vendor/rails/actionpack/lib/action_controller/routing/optimisations.rb +32 -22
  884. data/vendor/rails/actionpack/lib/action_controller/routing/recognition_optimisation.rb +34 -29
  885. data/vendor/rails/actionpack/lib/action_controller/routing/route.rb +171 -146
  886. data/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb +95 -43
  887. data/vendor/rails/actionpack/lib/action_controller/routing/routing_ext.rb +4 -1
  888. data/vendor/rails/actionpack/lib/action_controller/routing/segments.rb +91 -31
  889. data/vendor/rails/actionpack/lib/action_controller/session/abstract_store.rb +181 -0
  890. data/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb +198 -143
  891. data/vendor/rails/actionpack/lib/action_controller/session/mem_cache_store.rb +36 -83
  892. data/vendor/rails/actionpack/lib/action_controller/session_management.rb +26 -130
  893. data/vendor/rails/actionpack/lib/action_controller/status_codes.rb +0 -0
  894. data/vendor/rails/actionpack/lib/action_controller/streaming.rb +37 -13
  895. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.erb +0 -0
  896. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb +0 -0
  897. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.erb +2 -2
  898. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb +0 -0
  899. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.erb +0 -0
  900. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.erb +0 -0
  901. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.erb +2 -2
  902. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.erb +0 -0
  903. data/vendor/rails/actionpack/lib/action_controller/test_case.rb +148 -27
  904. data/vendor/rails/actionpack/lib/action_controller/test_process.rb +190 -144
  905. data/vendor/rails/actionpack/lib/action_controller/translation.rb +13 -0
  906. data/vendor/rails/actionpack/lib/action_controller/uploaded_file.rb +44 -0
  907. data/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb +93 -19
  908. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner.rb +16 -0
  909. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb +0 -0
  910. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb +9 -2
  911. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/sanitizer.rb +1 -1
  912. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb +3 -3
  913. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb +0 -0
  914. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb +0 -0
  915. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack.rb +89 -0
  916. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/adapter/camping.rb +22 -0
  917. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/auth/abstract/handler.rb +37 -0
  918. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/auth/abstract/request.rb +37 -0
  919. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/auth/basic.rb +58 -0
  920. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/auth/digest/md5.rb +124 -0
  921. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/auth/digest/nonce.rb +51 -0
  922. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/auth/digest/params.rb +55 -0
  923. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/auth/digest/request.rb +40 -0
  924. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/auth/openid.rb +480 -0
  925. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/builder.rb +63 -0
  926. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/cascade.rb +36 -0
  927. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/chunked.rb +49 -0
  928. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/commonlogger.rb +61 -0
  929. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/conditionalget.rb +45 -0
  930. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/content_length.rb +29 -0
  931. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/content_type.rb +23 -0
  932. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/deflater.rb +85 -0
  933. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/directory.rb +153 -0
  934. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/file.rb +88 -0
  935. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/handler.rb +48 -0
  936. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/handler/cgi.rb +61 -0
  937. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/handler/evented_mongrel.rb +8 -0
  938. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/handler/fastcgi.rb +89 -0
  939. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/handler/lsws.rb +55 -0
  940. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/handler/mongrel.rb +84 -0
  941. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/handler/scgi.rb +59 -0
  942. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/handler/swiftiplied_mongrel.rb +8 -0
  943. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/handler/thin.rb +18 -0
  944. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/handler/webrick.rb +67 -0
  945. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/head.rb +19 -0
  946. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/lint.rb +462 -0
  947. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/lobster.rb +65 -0
  948. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/lock.rb +16 -0
  949. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/methodoverride.rb +27 -0
  950. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/mime.rb +204 -0
  951. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/mock.rb +160 -0
  952. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/recursive.rb +57 -0
  953. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/reloader.rb +64 -0
  954. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/request.rb +241 -0
  955. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/response.rb +179 -0
  956. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/session/abstract/id.rb +142 -0
  957. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/session/cookie.rb +91 -0
  958. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/session/memcache.rb +109 -0
  959. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/session/pool.rb +100 -0
  960. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/showexceptions.rb +349 -0
  961. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/showstatus.rb +106 -0
  962. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/static.rb +38 -0
  963. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/urlmap.rb +55 -0
  964. data/vendor/rails/actionpack/lib/action_controller/vendor/rack-1.0/rack/utils.rb +392 -0
  965. data/vendor/rails/actionpack/lib/action_controller/verification.rb +3 -3
  966. data/vendor/rails/actionpack/lib/action_pack.rb +1 -1
  967. data/vendor/rails/actionpack/lib/action_pack/version.rb +1 -1
  968. data/vendor/rails/actionpack/lib/action_view.rb +32 -19
  969. data/vendor/rails/actionpack/lib/action_view/base.rb +164 -154
  970. data/vendor/rails/actionpack/lib/action_view/erb/util.rb +38 -0
  971. data/vendor/rails/actionpack/lib/action_view/helpers.rb +57 -0
  972. data/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb +56 -27
  973. data/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb +194 -126
  974. data/vendor/rails/actionpack/lib/action_view/helpers/atom_feed_helper.rb +75 -20
  975. data/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb +27 -6
  976. data/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb +1 -2
  977. data/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb +19 -44
  978. data/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb +564 -299
  979. data/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb +20 -13
  980. data/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb +365 -93
  981. data/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb +168 -96
  982. data/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb +63 -40
  983. data/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb +80 -89
  984. data/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb +192 -75
  985. data/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb +218 -213
  986. data/vendor/rails/actionpack/lib/action_view/helpers/record_identification_helper.rb +0 -0
  987. data/vendor/rails/actionpack/lib/action_view/helpers/record_tag_helper.rb +4 -5
  988. data/vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb +55 -33
  989. data/vendor/rails/actionpack/lib/action_view/helpers/scriptaculous_helper.rb +3 -2
  990. data/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb +41 -25
  991. data/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb +294 -223
  992. data/vendor/rails/actionpack/lib/action_view/helpers/translation_helper.rb +39 -0
  993. data/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb +124 -59
  994. data/vendor/rails/actionpack/lib/action_view/inline_template.rb +13 -14
  995. data/vendor/rails/actionpack/lib/action_view/locale/en.yml +110 -0
  996. data/vendor/rails/actionpack/lib/action_view/partials.rb +137 -55
  997. data/vendor/rails/actionpack/lib/action_view/paths.rb +69 -0
  998. data/vendor/rails/actionpack/lib/action_view/reloadable_template.rb +117 -0
  999. data/vendor/rails/actionpack/lib/action_view/renderable.rb +95 -0
  1000. data/vendor/rails/actionpack/lib/action_view/renderable_partial.rb +47 -0
  1001. data/vendor/rails/actionpack/lib/action_view/template.rb +223 -93
  1002. data/vendor/rails/actionpack/lib/action_view/template_error.rb +18 -29
  1003. data/vendor/rails/actionpack/lib/action_view/template_handler.rb +23 -23
  1004. data/vendor/rails/actionpack/lib/action_view/template_handlers.rb +48 -0
  1005. data/vendor/rails/actionpack/lib/action_view/template_handlers/builder.rb +5 -15
  1006. data/vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb +11 -45
  1007. data/vendor/rails/actionpack/lib/action_view/template_handlers/rjs.rb +3 -17
  1008. data/vendor/rails/actionpack/lib/action_view/test_case.rb +34 -5
  1009. data/vendor/rails/actionpack/lib/actionpack.rb +0 -0
  1010. data/vendor/rails/actionpack/test/abstract_unit.rb +25 -16
  1011. data/vendor/rails/actionpack/test/active_record_unit.rb +32 -33
  1012. data/vendor/rails/actionpack/test/activerecord/active_record_store_test.rb +139 -106
  1013. data/vendor/rails/actionpack/test/activerecord/render_partial_with_record_identification_test.rb +27 -30
  1014. data/vendor/rails/actionpack/test/adv_attr_test.rb +0 -0
  1015. data/vendor/rails/actionpack/test/controller/action_pack_assertions_test.rb +30 -57
  1016. data/vendor/rails/actionpack/test/controller/addresses_render_test.rb +2 -8
  1017. data/vendor/rails/actionpack/test/controller/assert_select_test.rb +125 -85
  1018. data/vendor/rails/actionpack/test/controller/base_test.rb +15 -17
  1019. data/vendor/rails/actionpack/test/controller/benchmark_test.rb +3 -3
  1020. data/vendor/rails/actionpack/test/controller/caching_test.rb +161 -81
  1021. data/vendor/rails/actionpack/test/controller/capture_test.rb +3 -26
  1022. data/vendor/rails/actionpack/test/controller/content_type_test.rb +51 -22
  1023. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/admin/user_controller.rb +0 -0
  1024. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/user_controller.rb +0 -0
  1025. data/vendor/rails/actionpack/test/controller/controller_fixtures/vendor/plugins/bad_plugin/lib/plugin_controller.rb +0 -0
  1026. data/vendor/rails/actionpack/test/controller/cookie_test.rb +32 -67
  1027. data/vendor/rails/actionpack/test/controller/deprecation/deprecated_base_methods_test.rb +9 -14
  1028. data/vendor/rails/actionpack/test/controller/dispatcher_test.rb +26 -28
  1029. data/vendor/rails/actionpack/test/controller/fake_controllers.rb +0 -0
  1030. data/vendor/rails/actionpack/test/controller/fake_models.rb +8 -0
  1031. data/vendor/rails/actionpack/test/controller/filter_params_test.rb +2 -2
  1032. data/vendor/rails/actionpack/test/controller/filters_test.rb +19 -15
  1033. data/vendor/rails/actionpack/test/controller/flash_test.rb +2 -6
  1034. data/vendor/rails/actionpack/test/controller/header_test.rb +0 -0
  1035. data/vendor/rails/actionpack/test/controller/helper_test.rb +15 -1
  1036. data/vendor/rails/actionpack/test/controller/html-scanner/cdata_node_test.rb +15 -0
  1037. data/vendor/rails/actionpack/test/controller/html-scanner/document_test.rb +1 -1
  1038. data/vendor/rails/actionpack/test/controller/html-scanner/node_test.rb +21 -0
  1039. data/vendor/rails/actionpack/test/controller/html-scanner/sanitizer_test.rb +15 -1
  1040. data/vendor/rails/actionpack/test/controller/html-scanner/tag_node_test.rb +0 -0
  1041. data/vendor/rails/actionpack/test/controller/html-scanner/text_node_test.rb +0 -0
  1042. data/vendor/rails/actionpack/test/controller/html-scanner/tokenizer_test.rb +0 -0
  1043. data/vendor/rails/actionpack/test/controller/http_basic_authentication_test.rb +88 -0
  1044. data/vendor/rails/actionpack/test/controller/http_digest_authentication_test.rb +178 -0
  1045. data/vendor/rails/actionpack/test/controller/integration_test.rb +198 -33
  1046. data/vendor/rails/actionpack/test/controller/layout_test.rb +53 -108
  1047. data/vendor/rails/actionpack/test/controller/logging_test.rb +46 -0
  1048. data/vendor/rails/actionpack/test/controller/middleware_stack_test.rb +90 -0
  1049. data/vendor/rails/actionpack/test/controller/mime_responds_test.rb +67 -69
  1050. data/vendor/rails/actionpack/test/controller/mime_type_test.rb +14 -5
  1051. data/vendor/rails/actionpack/test/controller/polymorphic_routes_test.rb +241 -122
  1052. data/vendor/rails/actionpack/test/controller/rack_test.rb +294 -0
  1053. data/vendor/rails/actionpack/test/controller/record_identifier_test.rb +0 -0
  1054. data/vendor/rails/actionpack/test/controller/redirect_test.rb +78 -85
  1055. data/vendor/rails/actionpack/test/controller/render_test.rb +1459 -234
  1056. data/vendor/rails/actionpack/test/controller/request/json_params_parsing_test.rb +45 -0
  1057. data/vendor/rails/actionpack/test/controller/request/multipart_params_parsing_test.rb +223 -0
  1058. data/vendor/rails/actionpack/test/controller/request/query_string_parsing_test.rb +120 -0
  1059. data/vendor/rails/actionpack/test/controller/request/url_encoded_params_parsing_test.rb +184 -0
  1060. data/vendor/rails/actionpack/test/controller/request/xml_params_parsing_test.rb +88 -0
  1061. data/vendor/rails/actionpack/test/controller/request_forgery_protection_test.rb +63 -130
  1062. data/vendor/rails/actionpack/test/controller/request_test.rb +65 -586
  1063. data/vendor/rails/actionpack/test/controller/rescue_test.rb +63 -44
  1064. data/vendor/rails/actionpack/test/controller/resources_test.rb +505 -37
  1065. data/vendor/rails/actionpack/test/controller/routing_test.rb +1570 -1477
  1066. data/vendor/rails/actionpack/test/controller/selector_test.rb +3 -3
  1067. data/vendor/rails/actionpack/test/controller/send_file_test.rb +30 -7
  1068. data/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb +171 -190
  1069. data/vendor/rails/actionpack/test/controller/session/mem_cache_store_test.rb +94 -148
  1070. data/vendor/rails/actionpack/test/controller/session/test_session_test.rb +58 -0
  1071. data/vendor/rails/actionpack/test/controller/test_test.rb +47 -50
  1072. data/vendor/rails/actionpack/test/controller/translation_test.rb +26 -0
  1073. data/vendor/rails/actionpack/test/controller/url_rewriter_test.rb +80 -31
  1074. data/vendor/rails/actionpack/test/controller/verification_test.rb +1 -1
  1075. data/vendor/rails/actionpack/test/controller/view_paths_test.rb +49 -48
  1076. data/vendor/rails/actionpack/test/controller/webservice_test.rb +178 -147
  1077. data/vendor/rails/actionpack/test/fixtures/_top_level_partial.html.erb +1 -0
  1078. data/vendor/rails/actionpack/test/fixtures/_top_level_partial_only.erb +1 -0
  1079. data/vendor/rails/actionpack/test/fixtures/addresses/list.erb +0 -0
  1080. data/vendor/rails/actionpack/test/fixtures/alternate_helpers/foo_helper.rb +3 -0
  1081. data/vendor/rails/actionpack/test/fixtures/bad_customers/_bad_customer.html.erb +0 -0
  1082. data/vendor/rails/actionpack/test/fixtures/companies.yml +0 -0
  1083. data/vendor/rails/actionpack/test/fixtures/company.rb +0 -0
  1084. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_content_types_for_respond_to.rhtml +0 -0
  1085. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rhtml.rhtml +0 -0
  1086. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rjs.rjs +0 -0
  1087. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rxml.rxml +0 -0
  1088. data/vendor/rails/actionpack/test/fixtures/customers/_customer.html.erb +0 -0
  1089. data/vendor/rails/actionpack/test/fixtures/db_definitions/sqlite.sql +0 -0
  1090. data/vendor/rails/actionpack/test/fixtures/developer.rb +0 -0
  1091. data/vendor/rails/actionpack/test/fixtures/developers.yml +0 -0
  1092. data/vendor/rails/actionpack/test/fixtures/developers/_developer.erb +1 -0
  1093. data/vendor/rails/actionpack/test/fixtures/developers_projects.yml +0 -0
  1094. data/vendor/rails/actionpack/test/fixtures/fun/games/_game.erb +1 -0
  1095. data/vendor/rails/actionpack/test/fixtures/fun/games/hello_world.erb +0 -0
  1096. data/vendor/rails/actionpack/test/fixtures/fun/serious/games/_game.erb +1 -0
  1097. data/vendor/rails/actionpack/test/fixtures/functional_caching/_partial.erb +0 -0
  1098. data/vendor/rails/actionpack/test/fixtures/functional_caching/formatted_fragment_cached.html.erb +3 -0
  1099. data/vendor/rails/actionpack/test/fixtures/functional_caching/formatted_fragment_cached.js.rjs +6 -0
  1100. data/vendor/rails/actionpack/test/fixtures/functional_caching/formatted_fragment_cached.xml.builder +5 -0
  1101. data/vendor/rails/actionpack/test/fixtures/functional_caching/fragment_cached.html.erb +0 -0
  1102. data/vendor/rails/actionpack/test/fixtures/functional_caching/html_fragment_cached_with_partial.html.erb +0 -0
  1103. data/vendor/rails/actionpack/test/fixtures/functional_caching/inline_fragment_cached.html.erb +2 -0
  1104. data/vendor/rails/actionpack/test/fixtures/functional_caching/js_fragment_cached_with_partial.js.rjs +0 -0
  1105. data/vendor/rails/actionpack/test/fixtures/good_customers/_good_customer.html.erb +0 -0
  1106. data/vendor/rails/actionpack/test/fixtures/helpers/abc_helper.rb +0 -0
  1107. data/vendor/rails/actionpack/test/fixtures/helpers/fun/games_helper.rb +0 -0
  1108. data/vendor/rails/actionpack/test/fixtures/helpers/fun/pdf_helper.rb +0 -0
  1109. data/vendor/rails/actionpack/test/fixtures/layout_tests/alt/hello.rhtml +0 -0
  1110. data/vendor/rails/actionpack/test/fixtures/layout_tests/alt/layouts/alt.rhtml +0 -0
  1111. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/controller_name_space/nested.rhtml +0 -0
  1112. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/item.rhtml +0 -0
  1113. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/layout_test.rhtml +0 -0
  1114. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/multiple_extensions.html.erb +0 -0
  1115. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/third_party_template_library.mab +0 -0
  1116. data/vendor/rails/actionpack/test/fixtures/layout_tests/views/hello.rhtml +0 -0
  1117. data/vendor/rails/actionpack/test/fixtures/layouts/_column.html.erb +2 -0
  1118. data/vendor/rails/actionpack/test/fixtures/layouts/block_with_layout.erb +0 -0
  1119. data/vendor/rails/actionpack/test/fixtures/layouts/builder.builder +0 -0
  1120. data/vendor/rails/actionpack/test/fixtures/layouts/default_html.html.erb +1 -0
  1121. data/vendor/rails/actionpack/test/fixtures/layouts/partial_with_layout.erb +0 -0
  1122. data/vendor/rails/actionpack/test/fixtures/layouts/standard.erb +0 -0
  1123. data/vendor/rails/actionpack/test/fixtures/layouts/talk_from_action.erb +0 -0
  1124. data/vendor/rails/actionpack/test/fixtures/layouts/xhr.html.erb +2 -0
  1125. data/vendor/rails/actionpack/test/fixtures/layouts/yield.erb +0 -0
  1126. data/vendor/rails/actionpack/test/fixtures/mascot.rb +0 -0
  1127. data/vendor/rails/actionpack/test/fixtures/mascots.yml +0 -0
  1128. data/vendor/rails/actionpack/test/fixtures/mascots/_mascot.html.erb +0 -0
  1129. data/vendor/rails/actionpack/test/fixtures/multipart/binary_file +0 -0
  1130. data/vendor/rails/actionpack/test/fixtures/multipart/boundary_problem_file +0 -0
  1131. data/vendor/rails/actionpack/test/fixtures/multipart/bracketed_param +0 -0
  1132. data/vendor/rails/actionpack/test/fixtures/multipart/empty +10 -0
  1133. data/vendor/rails/actionpack/test/fixtures/multipart/hello.txt +1 -0
  1134. data/vendor/rails/actionpack/test/fixtures/multipart/large_text_file +0 -0
  1135. data/vendor/rails/actionpack/test/fixtures/multipart/mixed_files +0 -0
  1136. data/vendor/rails/actionpack/test/fixtures/multipart/mona_lisa.jpg +0 -0
  1137. data/vendor/rails/actionpack/test/fixtures/multipart/none +9 -0
  1138. data/vendor/rails/actionpack/test/fixtures/multipart/single_parameter +0 -0
  1139. data/vendor/rails/actionpack/test/fixtures/multipart/text_file +0 -0
  1140. data/vendor/rails/actionpack/test/fixtures/override/test/hello_world.erb +0 -0
  1141. data/vendor/rails/actionpack/test/fixtures/override2/layouts/test/sub.erb +0 -0
  1142. data/vendor/rails/actionpack/test/fixtures/post_test/layouts/post.html.erb +0 -0
  1143. data/vendor/rails/actionpack/test/fixtures/post_test/layouts/super_post.iphone.erb +0 -0
  1144. data/vendor/rails/actionpack/test/fixtures/post_test/post/index.html.erb +0 -0
  1145. data/vendor/rails/actionpack/test/fixtures/post_test/post/index.iphone.erb +0 -0
  1146. data/vendor/rails/actionpack/test/fixtures/post_test/super_post/index.html.erb +0 -0
  1147. data/vendor/rails/actionpack/test/fixtures/post_test/super_post/index.iphone.erb +0 -0
  1148. data/vendor/rails/actionpack/test/fixtures/project.rb +0 -0
  1149. data/vendor/rails/actionpack/test/fixtures/projects.yml +0 -0
  1150. data/vendor/rails/actionpack/test/fixtures/projects/_project.erb +1 -0
  1151. data/vendor/rails/actionpack/test/fixtures/public/404.html +0 -0
  1152. data/vendor/rails/actionpack/test/fixtures/public/500.da.html +1 -0
  1153. data/vendor/rails/actionpack/test/fixtures/public/500.html +0 -0
  1154. data/vendor/rails/actionpack/test/fixtures/public/images/rails.png +0 -0
  1155. data/vendor/rails/actionpack/test/fixtures/public/javascripts/application.js +0 -0
  1156. data/vendor/rails/actionpack/test/fixtures/public/javascripts/bank.js +0 -0
  1157. data/vendor/rails/actionpack/test/fixtures/public/javascripts/controls.js +0 -0
  1158. data/vendor/rails/actionpack/test/fixtures/public/javascripts/dragdrop.js +0 -0
  1159. data/vendor/rails/actionpack/test/fixtures/public/javascripts/effects.js +0 -0
  1160. data/vendor/rails/actionpack/test/fixtures/public/javascripts/prototype.js +0 -0
  1161. data/vendor/rails/actionpack/test/fixtures/public/javascripts/robber.js +0 -0
  1162. data/vendor/rails/actionpack/test/fixtures/public/javascripts/subdir/subdir.js +1 -0
  1163. data/vendor/rails/actionpack/test/fixtures/public/javascripts/version.1.0.js +0 -0
  1164. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/bank.css +0 -0
  1165. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/robber.css +0 -0
  1166. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/subdir/subdir.css +1 -0
  1167. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/version.1.0.css +0 -0
  1168. data/vendor/rails/actionpack/test/fixtures/quiz/questions/_question.html.erb +1 -0
  1169. data/vendor/rails/actionpack/test/fixtures/replies.yml +1 -1
  1170. data/vendor/rails/actionpack/test/fixtures/replies/_reply.erb +1 -0
  1171. data/vendor/rails/actionpack/test/fixtures/reply.rb +0 -0
  1172. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.html.erb +0 -0
  1173. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.js.rjs +0 -0
  1174. data/vendor/rails/actionpack/test/fixtures/respond_to/custom_constant_handling_without_block.mobile.erb +0 -0
  1175. data/vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.html.erb +0 -0
  1176. data/vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.iphone.erb +0 -0
  1177. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/missing.html.erb +0 -0
  1178. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.html.erb +0 -0
  1179. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.iphone.erb +0 -0
  1180. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.html.erb +0 -0
  1181. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.js.rjs +0 -0
  1182. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.xml.builder +0 -0
  1183. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.html.erb +0 -0
  1184. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.js.rjs +0 -0
  1185. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.xml.builder +0 -0
  1186. data/vendor/rails/actionpack/test/fixtures/scope/test/modgreet.erb +0 -0
  1187. data/vendor/rails/actionpack/test/fixtures/shared.html.erb +0 -0
  1188. data/vendor/rails/actionpack/test/fixtures/symlink_parent/symlinked_layout.erb +0 -0
  1189. data/vendor/rails/actionpack/test/fixtures/test/_counter.html.erb +1 -0
  1190. data/vendor/rails/actionpack/test/fixtures/test/_customer.erb +1 -1
  1191. data/vendor/rails/actionpack/test/fixtures/test/_customer_counter.erb +0 -0
  1192. data/vendor/rails/actionpack/test/fixtures/test/_customer_greeting.erb +0 -0
  1193. data/vendor/rails/actionpack/test/fixtures/test/_customer_with_var.erb +1 -0
  1194. data/vendor/rails/actionpack/test/fixtures/test/_form.erb +0 -0
  1195. data/vendor/rails/actionpack/test/fixtures/test/_hash_greeting.erb +0 -0
  1196. data/vendor/rails/actionpack/test/fixtures/test/_hash_object.erb +0 -0
  1197. data/vendor/rails/actionpack/test/fixtures/test/_hello.builder +0 -0
  1198. data/vendor/rails/actionpack/test/fixtures/test/_labelling_form.erb +0 -0
  1199. data/vendor/rails/actionpack/test/fixtures/test/_layout_for_block_with_args.html.erb +3 -0
  1200. data/vendor/rails/actionpack/test/fixtures/test/_layout_for_partial.html.erb +0 -0
  1201. data/vendor/rails/actionpack/test/fixtures/test/_local_inspector.html.erb +1 -0
  1202. data/vendor/rails/actionpack/test/fixtures/test/_one.html.erb +1 -0
  1203. data/vendor/rails/actionpack/test/fixtures/test/_partial.erb +0 -0
  1204. data/vendor/rails/actionpack/test/fixtures/test/_partial.html.erb +0 -0
  1205. data/vendor/rails/actionpack/test/fixtures/test/_partial.js.erb +0 -0
  1206. data/vendor/rails/actionpack/test/fixtures/test/_partial_for_use_in_layout.html.erb +0 -0
  1207. data/vendor/rails/actionpack/test/fixtures/test/_partial_only.erb +0 -0
  1208. data/vendor/rails/actionpack/test/fixtures/test/_partial_with_only_html_version.html.erb +1 -0
  1209. data/vendor/rails/actionpack/test/fixtures/test/_person.erb +0 -0
  1210. data/vendor/rails/actionpack/test/fixtures/test/_raise.html.erb +0 -0
  1211. data/vendor/rails/actionpack/test/fixtures/test/_two.html.erb +1 -0
  1212. data/vendor/rails/actionpack/test/fixtures/test/action_talk_to_layout.erb +0 -0
  1213. data/vendor/rails/actionpack/test/fixtures/test/calling_partial_with_layout.html.erb +0 -0
  1214. data/vendor/rails/actionpack/test/fixtures/test/capturing.erb +0 -0
  1215. data/vendor/rails/actionpack/test/fixtures/test/content_for.erb +0 -0
  1216. data/vendor/rails/actionpack/test/fixtures/test/content_for_concatenated.erb +0 -0
  1217. data/vendor/rails/actionpack/test/fixtures/test/content_for_with_parameter.erb +0 -0
  1218. data/vendor/rails/actionpack/test/fixtures/test/delete_with_js.rjs +0 -0
  1219. data/vendor/rails/actionpack/test/fixtures/test/dont_pick_me +1 -0
  1220. data/vendor/rails/actionpack/test/fixtures/test/dot.directory/render_file_with_ivar.erb +0 -0
  1221. data/vendor/rails/actionpack/test/fixtures/test/enum_rjs_test.rjs +0 -0
  1222. data/vendor/rails/actionpack/test/fixtures/test/formatted_html_erb.html.erb +0 -0
  1223. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.builder +0 -0
  1224. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.html.erb +0 -0
  1225. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.xml.erb +0 -0
  1226. data/vendor/rails/actionpack/test/fixtures/test/greeting.erb +0 -0
  1227. data/vendor/rails/actionpack/test/fixtures/test/greeting.js.rjs +0 -0
  1228. data/vendor/rails/actionpack/test/fixtures/test/hello.builder +1 -1
  1229. data/vendor/rails/actionpack/test/fixtures/test/hello_world.da.html.erb +1 -0
  1230. data/vendor/rails/actionpack/test/fixtures/test/hello_world.erb +0 -0
  1231. data/vendor/rails/actionpack/test/fixtures/test/hello_world.pt-BR.html.erb +1 -0
  1232. data/vendor/rails/actionpack/test/fixtures/test/hello_world_container.builder +0 -0
  1233. data/vendor/rails/actionpack/test/fixtures/test/hello_world_from_rxml.builder +0 -0
  1234. data/vendor/rails/actionpack/test/fixtures/test/hello_world_with_layout_false.erb +0 -0
  1235. data/vendor/rails/actionpack/test/fixtures/test/hello_xml_world.builder +0 -0
  1236. data/vendor/rails/actionpack/test/fixtures/test/hyphen-ated.erb +1 -0
  1237. data/vendor/rails/actionpack/test/fixtures/test/implicit_content_type.atom.builder +2 -0
  1238. data/vendor/rails/actionpack/test/fixtures/test/list.erb +0 -0
  1239. data/vendor/rails/actionpack/test/fixtures/test/nested_layout.erb +3 -0
  1240. data/vendor/rails/actionpack/test/fixtures/test/non_erb_block_content_for.builder +1 -1
  1241. data/vendor/rails/actionpack/test/fixtures/test/potential_conflicts.erb +0 -0
  1242. data/vendor/rails/actionpack/test/fixtures/test/render_explicit_html_template.js.rjs +1 -0
  1243. data/vendor/rails/actionpack/test/fixtures/test/render_file_from_template.html.erb +0 -0
  1244. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_ivar.erb +0 -0
  1245. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_locals.erb +0 -0
  1246. data/vendor/rails/actionpack/test/fixtures/test/render_implicit_html_template.js.rjs +1 -0
  1247. data/vendor/rails/actionpack/test/fixtures/test/render_implicit_html_template_from_xhr_request.da.html.erb +1 -0
  1248. data/vendor/rails/actionpack/test/fixtures/test/render_implicit_html_template_from_xhr_request.html.erb +1 -0
  1249. data/vendor/rails/actionpack/test/fixtures/test/render_implicit_js_template_without_layout.js.erb +1 -0
  1250. data/vendor/rails/actionpack/test/fixtures/test/render_to_string_test.erb +0 -0
  1251. data/vendor/rails/actionpack/test/fixtures/test/sub_template_raise.html.erb +1 -0
  1252. data/vendor/rails/actionpack/test/fixtures/test/template.erb +1 -0
  1253. data/vendor/rails/actionpack/test/fixtures/test/update_element_with_capture.erb +0 -0
  1254. data/vendor/rails/actionpack/test/fixtures/test/using_layout_around_block.html.erb +0 -0
  1255. data/vendor/rails/actionpack/test/fixtures/test/using_layout_around_block_with_args.html.erb +1 -0
  1256. data/vendor/rails/actionpack/test/fixtures/test/utf8.html.erb +2 -0
  1257. data/vendor/rails/actionpack/test/fixtures/topic.rb +0 -0
  1258. data/vendor/rails/actionpack/test/fixtures/topics.yml +0 -0
  1259. data/vendor/rails/actionpack/test/fixtures/topics/_topic.html.erb +0 -0
  1260. data/vendor/rails/actionpack/test/template/active_record_helper_i18n_test.rb +44 -0
  1261. data/vendor/rails/actionpack/test/template/active_record_helper_test.rb +58 -24
  1262. data/vendor/rails/actionpack/test/template/asset_tag_helper_test.rb +217 -29
  1263. data/vendor/rails/actionpack/test/template/atom_feed_helper_test.rb +117 -10
  1264. data/vendor/rails/actionpack/test/template/benchmark_helper_test.rb +50 -24
  1265. data/vendor/rails/actionpack/test/template/compiled_templates_test.rb +203 -0
  1266. data/vendor/rails/actionpack/test/template/date_helper_i18n_test.rb +120 -0
  1267. data/vendor/rails/actionpack/test/template/date_helper_test.rb +822 -144
  1268. data/vendor/rails/actionpack/test/template/erb_util_test.rb +0 -0
  1269. data/vendor/rails/actionpack/test/template/form_helper_test.rb +454 -196
  1270. data/vendor/rails/actionpack/test/template/form_options_helper_test.rb +653 -1235
  1271. data/vendor/rails/actionpack/test/template/form_tag_helper_test.rb +89 -34
  1272. data/vendor/rails/actionpack/test/template/javascript_helper_test.rb +16 -22
  1273. data/vendor/rails/actionpack/test/template/number_helper_i18n_test.rb +69 -0
  1274. data/vendor/rails/actionpack/test/template/number_helper_test.rb +44 -13
  1275. data/vendor/rails/actionpack/test/template/prototype_helper_test.rb +101 -84
  1276. data/vendor/rails/actionpack/test/template/record_tag_helper_test.rb +24 -20
  1277. data/vendor/rails/actionpack/test/template/render_test.rb +290 -0
  1278. data/vendor/rails/actionpack/test/template/sanitize_helper_test.rb +3 -3
  1279. data/vendor/rails/actionpack/test/template/scriptaculous_helper_test.rb +0 -0
  1280. data/vendor/rails/actionpack/test/template/tag_helper_test.rb +34 -14
  1281. data/vendor/rails/actionpack/test/template/test_test.rb +4 -6
  1282. data/vendor/rails/actionpack/test/template/text_helper_test.rb +210 -57
  1283. data/vendor/rails/actionpack/test/template/translation_helper_test.rb +32 -0
  1284. data/vendor/rails/actionpack/test/template/url_helper_test.rb +88 -18
  1285. data/vendor/rails/actionpack/test/testing_sandbox.rb +0 -0
  1286. data/vendor/rails/actionpack/test/view/test_case_test.rb +8 -0
  1287. data/vendor/rails/activerecord/CHANGELOG +466 -394
  1288. data/vendor/rails/activerecord/README +0 -0
  1289. data/vendor/rails/activerecord/RUNNING_UNIT_TESTS +0 -0
  1290. data/vendor/rails/activerecord/Rakefile +12 -7
  1291. data/vendor/rails/activerecord/examples/associations.png +0 -0
  1292. data/vendor/rails/activerecord/install.rb +0 -0
  1293. data/vendor/rails/activerecord/lib/active_record.rb +56 -52
  1294. data/vendor/rails/activerecord/lib/active_record/aggregations.rb +110 -38
  1295. data/vendor/rails/activerecord/lib/active_record/association_preload.rb +135 -31
  1296. data/vendor/rails/activerecord/lib/active_record/associations.rb +578 -421
  1297. data/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb +136 -34
  1298. data/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb +73 -14
  1299. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb +2 -2
  1300. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb +0 -0
  1301. data/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb +24 -8
  1302. data/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb +30 -30
  1303. data/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb +29 -27
  1304. data/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb +35 -9
  1305. data/vendor/rails/activerecord/lib/active_record/associations/has_one_through_association.rb +3 -4
  1306. data/vendor/rails/activerecord/lib/active_record/attribute_methods.rb +14 -5
  1307. data/vendor/rails/activerecord/lib/active_record/autosave_association.rb +349 -0
  1308. data/vendor/rails/activerecord/lib/active_record/base.rb +692 -281
  1309. data/vendor/rails/activerecord/lib/active_record/batches.rb +73 -0
  1310. data/vendor/rails/activerecord/lib/active_record/calculations.rb +46 -21
  1311. data/vendor/rails/activerecord/lib/active_record/callbacks.rb +65 -17
  1312. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb +371 -0
  1313. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb +45 -215
  1314. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb +133 -20
  1315. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb +8 -7
  1316. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb +0 -0
  1317. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb +75 -31
  1318. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +10 -4
  1319. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +94 -29
  1320. data/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +124 -66
  1321. data/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +147 -91
  1322. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +1 -1
  1323. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +41 -21
  1324. data/vendor/rails/activerecord/lib/active_record/dirty.rb +28 -10
  1325. data/vendor/rails/activerecord/lib/active_record/dynamic_finder_match.rb +41 -0
  1326. data/vendor/rails/activerecord/lib/active_record/dynamic_scope_match.rb +25 -0
  1327. data/vendor/rails/activerecord/lib/active_record/fixtures.rb +196 -200
  1328. data/vendor/rails/activerecord/lib/active_record/i18n_interpolation_deprecation.rb +26 -0
  1329. data/vendor/rails/activerecord/lib/active_record/locale/en.yml +54 -0
  1330. data/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb +33 -0
  1331. data/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb +0 -0
  1332. data/vendor/rails/activerecord/lib/active_record/migration.rb +55 -12
  1333. data/vendor/rails/activerecord/lib/active_record/named_scope.rb +49 -20
  1334. data/vendor/rails/activerecord/lib/active_record/nested_attributes.rb +329 -0
  1335. data/vendor/rails/activerecord/lib/active_record/observer.rb +0 -0
  1336. data/vendor/rails/activerecord/lib/active_record/query_cache.rb +25 -13
  1337. data/vendor/rails/activerecord/lib/active_record/reflection.rb +132 -55
  1338. data/vendor/rails/activerecord/lib/active_record/schema.rb +0 -0
  1339. data/vendor/rails/activerecord/lib/active_record/schema_dumper.rb +15 -7
  1340. data/vendor/rails/activerecord/lib/active_record/serialization.rb +3 -1
  1341. data/vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb +19 -0
  1342. data/vendor/rails/activerecord/lib/active_record/serializers/xml_serializer.rb +28 -13
  1343. data/vendor/rails/activerecord/lib/active_record/session_store.rb +318 -0
  1344. data/vendor/rails/activerecord/lib/active_record/test_case.rb +33 -14
  1345. data/vendor/rails/activerecord/lib/active_record/timestamp.rb +2 -2
  1346. data/vendor/rails/activerecord/lib/active_record/transactions.rb +145 -40
  1347. data/vendor/rails/activerecord/lib/active_record/validations.rb +290 -195
  1348. data/vendor/rails/activerecord/lib/active_record/version.rb +1 -1
  1349. data/vendor/rails/activerecord/lib/activerecord.rb +0 -0
  1350. data/vendor/rails/activerecord/test/assets/example.log +0 -0
  1351. data/vendor/rails/activerecord/test/assets/flowers.jpg +0 -0
  1352. data/vendor/rails/activerecord/test/cases/aaa_create_tables_test.rb +0 -0
  1353. data/vendor/rails/activerecord/test/cases/active_schema_test_mysql.rb +5 -0
  1354. data/vendor/rails/activerecord/test/cases/active_schema_test_postgresql.rb +0 -0
  1355. data/vendor/rails/activerecord/test/cases/adapter_test.rb +6 -0
  1356. data/vendor/rails/activerecord/test/cases/aggregations_test.rb +39 -0
  1357. data/vendor/rails/activerecord/test/cases/ar_schema_test.rb +0 -1
  1358. data/vendor/rails/activerecord/test/cases/associations/belongs_to_associations_test.rb +37 -123
  1359. data/vendor/rails/activerecord/test/cases/associations/callbacks_test.rb +0 -0
  1360. data/vendor/rails/activerecord/test/cases/associations/cascaded_eager_loading_test.rb +8 -0
  1361. data/vendor/rails/activerecord/test/cases/associations/eager_load_includes_full_sti_class_test.rb +0 -0
  1362. data/vendor/rails/activerecord/test/cases/associations/eager_load_nested_include_test.rb +59 -12
  1363. data/vendor/rails/activerecord/test/cases/associations/eager_singularization_test.rb +0 -0
  1364. data/vendor/rails/activerecord/test/cases/associations/eager_test.rb +190 -11
  1365. data/vendor/rails/activerecord/test/cases/associations/extension_test.rb +0 -0
  1366. data/vendor/rails/activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rb +127 -11
  1367. data/vendor/rails/activerecord/test/cases/associations/has_many_associations_test.rb +175 -147
  1368. data/vendor/rails/activerecord/test/cases/associations/has_many_through_associations_test.rb +82 -3
  1369. data/vendor/rails/activerecord/test/cases/associations/has_one_associations_test.rb +54 -90
  1370. data/vendor/rails/activerecord/test/cases/associations/has_one_through_associations_test.rb +80 -1
  1371. data/vendor/rails/activerecord/test/cases/associations/inner_join_association_test.rb +0 -0
  1372. data/vendor/rails/activerecord/test/cases/associations/join_model_test.rb +5 -7
  1373. data/vendor/rails/activerecord/test/cases/associations_test.rb +0 -0
  1374. data/vendor/rails/activerecord/test/cases/attribute_methods_test.rb +72 -5
  1375. data/vendor/rails/activerecord/test/cases/autosave_association_test.rb +901 -0
  1376. data/vendor/rails/activerecord/test/cases/base_test.rb +120 -28
  1377. data/vendor/rails/activerecord/test/cases/batches_test.rb +61 -0
  1378. data/vendor/rails/activerecord/test/cases/binary_test.rb +1 -5
  1379. data/vendor/rails/activerecord/test/cases/calculations_test.rb +42 -17
  1380. data/vendor/rails/activerecord/test/cases/callbacks_observers_test.rb +38 -0
  1381. data/vendor/rails/activerecord/test/cases/callbacks_test.rb +43 -5
  1382. data/vendor/rails/activerecord/test/cases/class_inheritable_attributes_test.rb +0 -0
  1383. data/vendor/rails/activerecord/test/cases/column_alias_test.rb +0 -0
  1384. data/vendor/rails/activerecord/test/cases/column_definition_test.rb +0 -0
  1385. data/vendor/rails/activerecord/test/cases/connection_pool_test.rb +25 -0
  1386. data/vendor/rails/activerecord/test/cases/connection_test_firebird.rb +0 -0
  1387. data/vendor/rails/activerecord/test/cases/connection_test_mysql.rb +27 -1
  1388. data/vendor/rails/activerecord/test/cases/copy_table_test_sqlite.rb +11 -0
  1389. data/vendor/rails/activerecord/test/cases/database_statements_test.rb +0 -0
  1390. data/vendor/rails/activerecord/test/cases/datatype_test_postgresql.rb +1 -0
  1391. data/vendor/rails/activerecord/test/cases/date_time_test.rb +0 -0
  1392. data/vendor/rails/activerecord/test/cases/default_test_firebird.rb +0 -0
  1393. data/vendor/rails/activerecord/test/cases/defaults_test.rb +63 -21
  1394. data/vendor/rails/activerecord/test/cases/deprecated_finder_test.rb +0 -0
  1395. data/vendor/rails/activerecord/test/cases/dirty_test.rb +52 -3
  1396. data/vendor/rails/activerecord/test/cases/finder_respond_to_test.rb +0 -0
  1397. data/vendor/rails/activerecord/test/cases/finder_test.rb +224 -39
  1398. data/vendor/rails/activerecord/test/cases/fixtures_test.rb +47 -22
  1399. data/vendor/rails/activerecord/test/cases/helper.rb +32 -10
  1400. data/vendor/rails/activerecord/test/cases/i18n_test.rb +41 -0
  1401. data/vendor/rails/activerecord/test/cases/inheritance_test.rb +4 -4
  1402. data/vendor/rails/activerecord/test/cases/invalid_date_test.rb +0 -0
  1403. data/vendor/rails/activerecord/test/cases/json_serialization_test.rb +1 -1
  1404. data/vendor/rails/activerecord/test/cases/lifecycle_test.rb +0 -0
  1405. data/vendor/rails/activerecord/test/cases/locking_test.rb +27 -14
  1406. data/vendor/rails/activerecord/test/cases/method_scoping_test.rb +239 -7
  1407. data/vendor/rails/activerecord/test/cases/migration_test.rb +294 -243
  1408. data/vendor/rails/activerecord/test/cases/migration_test_firebird.rb +0 -0
  1409. data/vendor/rails/activerecord/test/cases/mixin_test.rb +0 -0
  1410. data/vendor/rails/activerecord/test/cases/modules_test.rb +0 -0
  1411. data/vendor/rails/activerecord/test/cases/multiple_db_test.rb +25 -0
  1412. data/vendor/rails/activerecord/test/cases/named_scope_test.rb +155 -2
  1413. data/vendor/rails/activerecord/test/cases/nested_attributes_test.rb +509 -0
  1414. data/vendor/rails/activerecord/test/cases/pk_test.rb +0 -0
  1415. data/vendor/rails/activerecord/test/cases/pooled_connections_test.rb +103 -0
  1416. data/vendor/rails/activerecord/test/cases/query_cache_test.rb +0 -4
  1417. data/vendor/rails/activerecord/test/cases/readonly_test.rb +0 -0
  1418. data/vendor/rails/activerecord/test/cases/reflection_test.rb +21 -3
  1419. data/vendor/rails/activerecord/test/cases/reload_models_test.rb +22 -0
  1420. data/vendor/rails/activerecord/test/cases/repair_helper.rb +50 -0
  1421. data/vendor/rails/activerecord/test/cases/reserved_word_test_mysql.rb +0 -0
  1422. data/vendor/rails/activerecord/test/cases/sanitize_test.rb +25 -0
  1423. data/vendor/rails/activerecord/test/cases/schema_authorization_test_postgresql.rb +2 -2
  1424. data/vendor/rails/activerecord/test/cases/schema_dumper_test.rb +0 -1
  1425. data/vendor/rails/activerecord/test/cases/schema_test_postgresql.rb +0 -0
  1426. data/vendor/rails/activerecord/test/cases/serialization_test.rb +0 -0
  1427. data/vendor/rails/activerecord/test/cases/synonym_test_oracle.rb +0 -0
  1428. data/vendor/rails/activerecord/test/cases/transactions_test.rb +237 -22
  1429. data/vendor/rails/activerecord/test/cases/unconnected_test.rb +0 -0
  1430. data/vendor/rails/activerecord/test/cases/validations_i18n_test.rb +915 -0
  1431. data/vendor/rails/activerecord/test/cases/validations_test.rb +274 -213
  1432. data/vendor/rails/activerecord/test/cases/xml_serialization_test.rb +19 -1
  1433. data/vendor/rails/activerecord/test/config.rb +0 -0
  1434. data/vendor/rails/activerecord/test/connections/jdbc_jdbcderby/connection.rb +18 -0
  1435. data/vendor/rails/activerecord/test/connections/jdbc_jdbch2/connection.rb +18 -0
  1436. data/vendor/rails/activerecord/test/connections/jdbc_jdbchsqldb/connection.rb +18 -0
  1437. data/vendor/rails/activerecord/test/connections/jdbc_jdbcmysql/connection.rb +26 -0
  1438. data/vendor/rails/activerecord/test/connections/jdbc_jdbcpostgresql/connection.rb +26 -0
  1439. data/vendor/rails/activerecord/test/connections/jdbc_jdbcsqlite3/connection.rb +25 -0
  1440. data/vendor/rails/activerecord/test/connections/native_db2/connection.rb +0 -0
  1441. data/vendor/rails/activerecord/test/connections/native_firebird/connection.rb +0 -0
  1442. data/vendor/rails/activerecord/test/connections/native_frontbase/connection.rb +0 -0
  1443. data/vendor/rails/activerecord/test/connections/native_mysql/connection.rb +1 -3
  1444. data/vendor/rails/activerecord/test/connections/native_openbase/connection.rb +0 -0
  1445. data/vendor/rails/activerecord/test/connections/native_oracle/connection.rb +0 -0
  1446. data/vendor/rails/activerecord/test/connections/native_postgresql/connection.rb +0 -0
  1447. data/vendor/rails/activerecord/test/connections/native_sqlite/connection.rb +0 -0
  1448. data/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb +0 -0
  1449. data/vendor/rails/activerecord/test/connections/native_sqlite3/in_memory_connection.rb +0 -0
  1450. data/vendor/rails/activerecord/test/connections/native_sybase/connection.rb +0 -0
  1451. data/vendor/rails/activerecord/test/fixtures/accounts.yml +0 -0
  1452. data/vendor/rails/activerecord/test/fixtures/all/developers.yml +0 -0
  1453. data/vendor/rails/activerecord/test/fixtures/all/people.csv +0 -0
  1454. data/vendor/rails/activerecord/test/fixtures/all/tasks.yml +0 -0
  1455. data/vendor/rails/activerecord/test/fixtures/author_addresses.yml +0 -0
  1456. data/vendor/rails/activerecord/test/fixtures/author_favorites.yml +0 -0
  1457. data/vendor/rails/activerecord/test/fixtures/authors.yml +0 -0
  1458. data/vendor/rails/activerecord/test/fixtures/binaries.yml +0 -0
  1459. data/vendor/rails/activerecord/test/fixtures/books.yml +0 -0
  1460. data/vendor/rails/activerecord/test/fixtures/categories.yml +0 -0
  1461. data/vendor/rails/activerecord/test/fixtures/categories/special_categories.yml +0 -0
  1462. data/vendor/rails/activerecord/test/fixtures/categories/subsubdir/arbitrary_filename.yml +0 -0
  1463. data/vendor/rails/activerecord/test/fixtures/categories_ordered.yml +0 -0
  1464. data/vendor/rails/activerecord/test/fixtures/categories_posts.yml +0 -0
  1465. data/vendor/rails/activerecord/test/fixtures/categorizations.yml +0 -0
  1466. data/vendor/rails/activerecord/test/fixtures/clubs.yml +0 -0
  1467. data/vendor/rails/activerecord/test/fixtures/comments.yml +0 -0
  1468. data/vendor/rails/activerecord/test/fixtures/companies.yml +1 -0
  1469. data/vendor/rails/activerecord/test/fixtures/computers.yml +0 -0
  1470. data/vendor/rails/activerecord/test/fixtures/courses.yml +0 -0
  1471. data/vendor/rails/activerecord/test/fixtures/customers.yml +10 -1
  1472. data/vendor/rails/activerecord/test/fixtures/developers.yml +0 -0
  1473. data/vendor/rails/activerecord/test/fixtures/developers_projects.yml +0 -0
  1474. data/vendor/rails/activerecord/test/fixtures/edges.yml +0 -0
  1475. data/vendor/rails/activerecord/test/fixtures/entrants.yml +0 -0
  1476. data/vendor/rails/activerecord/test/fixtures/fixture_database.sqlite3 +0 -0
  1477. data/vendor/rails/activerecord/test/fixtures/fixture_database_2.sqlite3 +0 -0
  1478. data/vendor/rails/activerecord/test/fixtures/fk_test_has_fk.yml +0 -0
  1479. data/vendor/rails/activerecord/test/fixtures/fk_test_has_pk.yml +0 -0
  1480. data/vendor/rails/activerecord/test/fixtures/funny_jokes.yml +0 -0
  1481. data/vendor/rails/activerecord/test/fixtures/items.yml +0 -0
  1482. data/vendor/rails/activerecord/test/fixtures/jobs.yml +0 -0
  1483. data/vendor/rails/activerecord/test/fixtures/legacy_things.yml +0 -0
  1484. data/vendor/rails/activerecord/test/fixtures/mateys.yml +0 -0
  1485. data/vendor/rails/activerecord/test/fixtures/member_types.yml +6 -0
  1486. data/vendor/rails/activerecord/test/fixtures/members.yml +3 -1
  1487. data/vendor/rails/activerecord/test/fixtures/memberships.yml +0 -0
  1488. data/vendor/rails/activerecord/test/fixtures/minimalistics.yml +0 -0
  1489. data/vendor/rails/activerecord/test/fixtures/mixed_case_monkeys.yml +0 -0
  1490. data/vendor/rails/activerecord/test/fixtures/mixins.yml +0 -0
  1491. data/vendor/rails/activerecord/test/fixtures/movies.yml +0 -0
  1492. data/vendor/rails/activerecord/test/fixtures/naked/csv/accounts.csv +0 -0
  1493. data/vendor/rails/activerecord/test/fixtures/naked/yml/accounts.yml +0 -0
  1494. data/vendor/rails/activerecord/test/fixtures/naked/yml/companies.yml +0 -0
  1495. data/vendor/rails/activerecord/test/fixtures/naked/yml/courses.yml +0 -0
  1496. data/vendor/rails/activerecord/test/fixtures/organizations.yml +5 -0
  1497. data/vendor/rails/activerecord/test/fixtures/owners.yml +0 -0
  1498. data/vendor/rails/activerecord/test/fixtures/parrots.yml +0 -0
  1499. data/vendor/rails/activerecord/test/fixtures/parrots_pirates.yml +0 -0
  1500. data/vendor/rails/activerecord/test/fixtures/people.yml +10 -1
  1501. data/vendor/rails/activerecord/test/fixtures/pets.yml +0 -0
  1502. data/vendor/rails/activerecord/test/fixtures/pirates.yml +0 -0
  1503. data/vendor/rails/activerecord/test/fixtures/posts.yml +0 -0
  1504. data/vendor/rails/activerecord/test/fixtures/price_estimates.yml +0 -0
  1505. data/vendor/rails/activerecord/test/fixtures/projects.yml +0 -0
  1506. data/vendor/rails/activerecord/test/fixtures/readers.yml +0 -0
  1507. data/vendor/rails/activerecord/test/fixtures/references.yml +0 -0
  1508. data/vendor/rails/activerecord/test/fixtures/reserved_words/distinct.yml +0 -0
  1509. data/vendor/rails/activerecord/test/fixtures/reserved_words/distincts_selects.yml +0 -0
  1510. data/vendor/rails/activerecord/test/fixtures/reserved_words/group.yml +0 -0
  1511. data/vendor/rails/activerecord/test/fixtures/reserved_words/select.yml +0 -0
  1512. data/vendor/rails/activerecord/test/fixtures/reserved_words/values.yml +0 -0
  1513. data/vendor/rails/activerecord/test/fixtures/ships.yml +0 -0
  1514. data/vendor/rails/activerecord/test/fixtures/sponsors.yml +0 -0
  1515. data/vendor/rails/activerecord/test/fixtures/subscribers.yml +0 -0
  1516. data/vendor/rails/activerecord/test/fixtures/subscriptions.yml +0 -0
  1517. data/vendor/rails/activerecord/test/fixtures/taggings.yml +0 -0
  1518. data/vendor/rails/activerecord/test/fixtures/tags.yml +0 -0
  1519. data/vendor/rails/activerecord/test/fixtures/tasks.yml +0 -0
  1520. data/vendor/rails/activerecord/test/fixtures/topics.yml +0 -0
  1521. data/vendor/rails/activerecord/test/fixtures/toys.yml +4 -0
  1522. data/vendor/rails/activerecord/test/fixtures/treasures.yml +0 -0
  1523. data/vendor/rails/activerecord/test/fixtures/vertices.yml +0 -0
  1524. data/vendor/rails/activerecord/test/fixtures/warehouse-things.yml +0 -0
  1525. data/vendor/rails/activerecord/test/migrations/broken/100_migration_that_raises_exception.rb +10 -0
  1526. data/vendor/rails/activerecord/test/migrations/decimal/1_give_me_big_numbers.rb +0 -0
  1527. data/vendor/rails/activerecord/test/migrations/duplicate/1_people_have_last_names.rb +0 -0
  1528. data/vendor/rails/activerecord/test/migrations/duplicate/2_we_need_reminders.rb +0 -0
  1529. data/vendor/rails/activerecord/test/migrations/duplicate/3_foo.rb +0 -0
  1530. data/vendor/rails/activerecord/test/migrations/duplicate/3_innocent_jointable.rb +0 -0
  1531. data/vendor/rails/activerecord/test/migrations/duplicate_names/20080507052938_chunky.rb +0 -0
  1532. data/vendor/rails/activerecord/test/migrations/duplicate_names/20080507053028_chunky.rb +0 -0
  1533. data/vendor/rails/activerecord/test/migrations/interleaved/pass_1/3_innocent_jointable.rb +0 -0
  1534. data/vendor/rails/activerecord/test/migrations/interleaved/pass_2/1_people_have_last_names.rb +0 -0
  1535. data/vendor/rails/activerecord/test/migrations/interleaved/pass_2/3_innocent_jointable.rb +0 -0
  1536. data/vendor/rails/activerecord/test/migrations/interleaved/pass_3/1_people_have_last_names.rb +0 -0
  1537. data/vendor/rails/activerecord/test/migrations/interleaved/pass_3/2_i_raise_on_down.rb +0 -0
  1538. data/vendor/rails/activerecord/test/migrations/interleaved/pass_3/3_innocent_jointable.rb +0 -0
  1539. data/vendor/rails/activerecord/test/migrations/missing/1000_people_have_middle_names.rb +0 -0
  1540. data/vendor/rails/activerecord/test/migrations/missing/1_people_have_last_names.rb +0 -0
  1541. data/vendor/rails/activerecord/test/migrations/missing/3_we_need_reminders.rb +0 -0
  1542. data/vendor/rails/activerecord/test/migrations/missing/4_innocent_jointable.rb +0 -0
  1543. data/vendor/rails/activerecord/test/migrations/valid/1_people_have_last_names.rb +0 -0
  1544. data/vendor/rails/activerecord/test/migrations/valid/2_we_need_reminders.rb +0 -0
  1545. data/vendor/rails/activerecord/test/migrations/valid/3_innocent_jointable.rb +0 -0
  1546. data/vendor/rails/activerecord/test/models/author.rb +4 -0
  1547. data/vendor/rails/activerecord/test/models/auto_id.rb +0 -0
  1548. data/vendor/rails/activerecord/test/models/binary.rb +0 -0
  1549. data/vendor/rails/activerecord/test/models/bird.rb +3 -0
  1550. data/vendor/rails/activerecord/test/models/book.rb +0 -0
  1551. data/vendor/rails/activerecord/test/models/categorization.rb +0 -0
  1552. data/vendor/rails/activerecord/test/models/category.rb +4 -0
  1553. data/vendor/rails/activerecord/test/models/citation.rb +0 -0
  1554. data/vendor/rails/activerecord/test/models/club.rb +6 -0
  1555. data/vendor/rails/activerecord/test/models/column_name.rb +0 -0
  1556. data/vendor/rails/activerecord/test/models/comment.rb +0 -0
  1557. data/vendor/rails/activerecord/test/models/company.rb +28 -1
  1558. data/vendor/rails/activerecord/test/models/company_in_module.rb +0 -0
  1559. data/vendor/rails/activerecord/test/models/computer.rb +0 -0
  1560. data/vendor/rails/activerecord/test/models/contact.rb +0 -0
  1561. data/vendor/rails/activerecord/test/models/course.rb +0 -0
  1562. data/vendor/rails/activerecord/test/models/customer.rb +19 -1
  1563. data/vendor/rails/activerecord/test/models/default.rb +0 -0
  1564. data/vendor/rails/activerecord/test/models/developer.rb +12 -0
  1565. data/vendor/rails/activerecord/test/models/edge.rb +0 -0
  1566. data/vendor/rails/activerecord/test/models/entrant.rb +0 -0
  1567. data/vendor/rails/activerecord/test/models/event.rb +3 -0
  1568. data/vendor/rails/activerecord/test/models/guid.rb +0 -0
  1569. data/vendor/rails/activerecord/test/models/item.rb +0 -0
  1570. data/vendor/rails/activerecord/test/models/job.rb +0 -0
  1571. data/vendor/rails/activerecord/test/models/joke.rb +0 -0
  1572. data/vendor/rails/activerecord/test/models/keyboard.rb +0 -0
  1573. data/vendor/rails/activerecord/test/models/legacy_thing.rb +0 -0
  1574. data/vendor/rails/activerecord/test/models/matey.rb +0 -0
  1575. data/vendor/rails/activerecord/test/models/member.rb +3 -0
  1576. data/vendor/rails/activerecord/test/models/member_detail.rb +5 -0
  1577. data/vendor/rails/activerecord/test/models/member_type.rb +3 -0
  1578. data/vendor/rails/activerecord/test/models/membership.rb +0 -0
  1579. data/vendor/rails/activerecord/test/models/minimalistic.rb +0 -0
  1580. data/vendor/rails/activerecord/test/models/mixed_case_monkey.rb +0 -0
  1581. data/vendor/rails/activerecord/test/models/movie.rb +0 -0
  1582. data/vendor/rails/activerecord/test/models/order.rb +0 -0
  1583. data/vendor/rails/activerecord/test/models/organization.rb +4 -0
  1584. data/vendor/rails/activerecord/test/models/owner.rb +2 -1
  1585. data/vendor/rails/activerecord/test/models/parrot.rb +3 -0
  1586. data/vendor/rails/activerecord/test/models/person.rb +6 -0
  1587. data/vendor/rails/activerecord/test/models/pet.rb +2 -1
  1588. data/vendor/rails/activerecord/test/models/pirate.rb +55 -1
  1589. data/vendor/rails/activerecord/test/models/post.rb +15 -0
  1590. data/vendor/rails/activerecord/test/models/price_estimate.rb +0 -0
  1591. data/vendor/rails/activerecord/test/models/project.rb +1 -0
  1592. data/vendor/rails/activerecord/test/models/reader.rb +0 -0
  1593. data/vendor/rails/activerecord/test/models/reference.rb +0 -0
  1594. data/vendor/rails/activerecord/test/models/reply.rb +6 -0
  1595. data/vendor/rails/activerecord/test/models/ship.rb +8 -1
  1596. data/vendor/rails/activerecord/test/models/ship_part.rb +5 -0
  1597. data/vendor/rails/activerecord/test/models/sponsor.rb +0 -0
  1598. data/vendor/rails/activerecord/test/models/subject.rb +0 -0
  1599. data/vendor/rails/activerecord/test/models/subscriber.rb +0 -0
  1600. data/vendor/rails/activerecord/test/models/subscription.rb +0 -0
  1601. data/vendor/rails/activerecord/test/models/tag.rb +0 -0
  1602. data/vendor/rails/activerecord/test/models/tagging.rb +0 -0
  1603. data/vendor/rails/activerecord/test/models/task.rb +0 -0
  1604. data/vendor/rails/activerecord/test/models/topic.rb +16 -1
  1605. data/vendor/rails/activerecord/test/models/toy.rb +4 -0
  1606. data/vendor/rails/activerecord/test/models/treasure.rb +0 -0
  1607. data/vendor/rails/activerecord/test/models/vertex.rb +0 -0
  1608. data/vendor/rails/activerecord/test/models/warehouse_thing.rb +0 -0
  1609. data/vendor/rails/activerecord/test/schema/mysql_specific_schema.rb +0 -0
  1610. data/vendor/rails/activerecord/test/schema/postgresql_specific_schema.rb +0 -0
  1611. data/vendor/rails/activerecord/test/schema/schema.rb +47 -3
  1612. data/vendor/rails/activerecord/test/schema/schema2.rb +0 -0
  1613. data/vendor/rails/activerecord/test/schema/sqlite_specific_schema.rb +0 -0
  1614. data/vendor/rails/activeresource/CHANGELOG +35 -24
  1615. data/vendor/rails/activeresource/README +1 -1
  1616. data/vendor/rails/activeresource/Rakefile +5 -4
  1617. data/vendor/rails/activeresource/lib/active_resource.rb +7 -10
  1618. data/vendor/rails/activeresource/lib/active_resource/base.rb +177 -121
  1619. data/vendor/rails/activeresource/lib/active_resource/connection.rb +28 -17
  1620. data/vendor/rails/activeresource/lib/active_resource/custom_methods.rb +14 -13
  1621. data/vendor/rails/activeresource/lib/active_resource/formats.rb +0 -0
  1622. data/vendor/rails/activeresource/lib/active_resource/formats/json_format.rb +7 -7
  1623. data/vendor/rails/activeresource/lib/active_resource/formats/xml_format.rb +9 -9
  1624. data/vendor/rails/activeresource/lib/active_resource/http_mock.rb +29 -39
  1625. data/vendor/rails/activeresource/lib/active_resource/validations.rb +16 -30
  1626. data/vendor/rails/activeresource/lib/active_resource/version.rb +1 -1
  1627. data/vendor/rails/activeresource/lib/activeresource.rb +0 -0
  1628. data/vendor/rails/activeresource/test/abstract_unit.rb +5 -8
  1629. data/vendor/rails/activeresource/test/authorization_test.rb +12 -12
  1630. data/vendor/rails/activeresource/test/base/custom_methods_test.rb +3 -2
  1631. data/vendor/rails/activeresource/test/base/equality_test.rb +9 -0
  1632. data/vendor/rails/activeresource/test/base/load_test.rb +2 -2
  1633. data/vendor/rails/activeresource/test/base_errors_test.rb +0 -0
  1634. data/vendor/rails/activeresource/test/base_test.rb +144 -101
  1635. data/vendor/rails/activeresource/test/connection_test.rb +14 -8
  1636. data/vendor/rails/activeresource/test/fixtures/beast.rb +0 -0
  1637. data/vendor/rails/activeresource/test/fixtures/customer.rb +0 -0
  1638. data/vendor/rails/activeresource/test/fixtures/person.rb +0 -0
  1639. data/vendor/rails/activeresource/test/fixtures/street_address.rb +0 -0
  1640. data/vendor/rails/activeresource/test/format_test.rb +40 -11
  1641. data/vendor/rails/activeresource/test/setter_trap.rb +2 -3
  1642. data/vendor/rails/activesupport/CHANGELOG +194 -83
  1643. data/vendor/rails/activesupport/README +0 -0
  1644. data/vendor/rails/activesupport/lib/active_support.rb +30 -32
  1645. data/vendor/rails/activesupport/lib/active_support/backtrace_cleaner.rb +72 -0
  1646. data/vendor/rails/activesupport/lib/active_support/base64.rb +13 -2
  1647. data/vendor/rails/activesupport/lib/active_support/basic_object.rb +1 -1
  1648. data/vendor/rails/activesupport/lib/active_support/buffered_logger.rb +27 -21
  1649. data/vendor/rails/activesupport/lib/active_support/cache.rb +128 -47
  1650. data/vendor/rails/activesupport/lib/active_support/cache/compressed_mem_cache_store.rb +7 -2
  1651. data/vendor/rails/activesupport/lib/active_support/cache/drb_store.rb +2 -3
  1652. data/vendor/rails/activesupport/lib/active_support/cache/file_store.rb +7 -5
  1653. data/vendor/rails/activesupport/lib/active_support/cache/mem_cache_store.rb +53 -21
  1654. data/vendor/rails/activesupport/lib/active_support/cache/memory_store.rb +16 -2
  1655. data/vendor/rails/activesupport/lib/active_support/cache/strategy/local_cache.rb +104 -0
  1656. data/vendor/rails/activesupport/lib/active_support/cache/synchronized_memory_store.rb +47 -0
  1657. data/vendor/rails/activesupport/lib/active_support/callbacks.rb +34 -30
  1658. data/vendor/rails/activesupport/lib/active_support/core_ext.rb +1 -1
  1659. data/vendor/rails/activesupport/lib/active_support/core_ext/array.rb +2 -0
  1660. data/vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb +27 -0
  1661. data/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb +30 -12
  1662. data/vendor/rails/activesupport/lib/active_support/core_ext/array/extract_options.rb +0 -0
  1663. data/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb +53 -10
  1664. data/vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb +0 -0
  1665. data/vendor/rails/activesupport/lib/active_support/core_ext/array/wrapper.rb +24 -0
  1666. data/vendor/rails/activesupport/lib/active_support/core_ext/base64.rb +0 -0
  1667. data/vendor/rails/activesupport/lib/active_support/core_ext/base64/encoding.rb +3 -0
  1668. data/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb +13 -6
  1669. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb +0 -0
  1670. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/conversions.rb +18 -22
  1671. data/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb +5 -0
  1672. data/vendor/rails/activesupport/lib/active_support/core_ext/cgi.rb +0 -0
  1673. data/vendor/rails/activesupport/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +14 -5
  1674. data/vendor/rails/activesupport/lib/active_support/core_ext/class.rb +0 -0
  1675. data/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb +24 -24
  1676. data/vendor/rails/activesupport/lib/active_support/core_ext/class/delegating_attributes.rb +20 -19
  1677. data/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb +39 -39
  1678. data/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb +0 -0
  1679. data/vendor/rails/activesupport/lib/active_support/core_ext/date.rb +0 -0
  1680. data/vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb +3 -0
  1681. data/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb +24 -9
  1682. data/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb +3 -3
  1683. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb +0 -0
  1684. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb +19 -5
  1685. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb +1 -1
  1686. data/vendor/rails/activesupport/lib/active_support/core_ext/duplicable.rb +6 -0
  1687. data/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb +51 -4
  1688. data/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb +12 -8
  1689. data/vendor/rails/activesupport/lib/active_support/core_ext/file.rb +4 -20
  1690. data/vendor/rails/activesupport/lib/active_support/core_ext/file/atomic.rb +46 -0
  1691. data/vendor/rails/activesupport/lib/active_support/core_ext/float.rb +2 -0
  1692. data/vendor/rails/activesupport/lib/active_support/core_ext/float/rounding.rb +0 -0
  1693. data/vendor/rails/activesupport/lib/active_support/core_ext/float/time.rb +27 -0
  1694. data/vendor/rails/activesupport/lib/active_support/core_ext/hash.rb +2 -1
  1695. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb +33 -55
  1696. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/deep_merge.rb +23 -0
  1697. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/diff.rb +0 -0
  1698. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/except.rb +1 -1
  1699. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb +6 -0
  1700. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb +1 -1
  1701. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb +12 -5
  1702. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb +15 -5
  1703. data/vendor/rails/activesupport/lib/active_support/core_ext/integer.rb +2 -0
  1704. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb +0 -0
  1705. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb +0 -0
  1706. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/time.rb +45 -0
  1707. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel.rb +0 -0
  1708. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/agnostics.rb +0 -0
  1709. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb +0 -0
  1710. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb +4 -4
  1711. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb +0 -0
  1712. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb +0 -0
  1713. data/vendor/rails/activesupport/lib/active_support/core_ext/load_error.rb +0 -0
  1714. data/vendor/rails/activesupport/lib/active_support/core_ext/logger.rb +136 -7
  1715. data/vendor/rails/activesupport/lib/active_support/core_ext/module.rb +11 -1
  1716. data/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb +71 -67
  1717. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb +4 -4
  1718. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb +0 -0
  1719. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb +24 -24
  1720. data/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb +60 -3
  1721. data/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb +0 -0
  1722. data/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb +81 -66
  1723. data/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb +0 -0
  1724. data/vendor/rails/activesupport/lib/active_support/core_ext/module/model_naming.rb +8 -7
  1725. data/vendor/rails/activesupport/lib/active_support/core_ext/module/synchronization.rb +39 -0
  1726. data/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb +0 -0
  1727. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb +0 -0
  1728. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/bytes.rb +0 -0
  1729. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/conversions.rb +0 -0
  1730. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/time.rb +0 -10
  1731. data/vendor/rails/activesupport/lib/active_support/core_ext/object.rb +1 -0
  1732. data/vendor/rails/activesupport/lib/active_support/core_ext/object/conversions.rb +2 -1
  1733. data/vendor/rails/activesupport/lib/active_support/core_ext/object/extending.rb +29 -7
  1734. data/vendor/rails/activesupport/lib/active_support/core_ext/object/instance_variables.rb +1 -1
  1735. data/vendor/rails/activesupport/lib/active_support/core_ext/object/metaclass.rb +13 -0
  1736. data/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb +52 -21
  1737. data/vendor/rails/activesupport/lib/active_support/core_ext/pathname.rb +0 -0
  1738. data/vendor/rails/activesupport/lib/active_support/core_ext/pathname/clean_within.rb +0 -0
  1739. data/vendor/rails/activesupport/lib/active_support/core_ext/proc.rb +0 -0
  1740. data/vendor/rails/activesupport/lib/active_support/core_ext/process.rb +0 -0
  1741. data/vendor/rails/activesupport/lib/active_support/core_ext/process/daemon.rb +0 -0
  1742. data/vendor/rails/activesupport/lib/active_support/core_ext/range.rb +0 -0
  1743. data/vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb +0 -0
  1744. data/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb +1 -1
  1745. data/vendor/rails/activesupport/lib/active_support/core_ext/range/include_range.rb +0 -0
  1746. data/vendor/rails/activesupport/lib/active_support/core_ext/range/overlaps.rb +0 -0
  1747. data/vendor/rails/activesupport/lib/active_support/core_ext/rexml.rb +29 -24
  1748. data/vendor/rails/activesupport/lib/active_support/core_ext/string.rb +6 -2
  1749. data/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb +5 -5
  1750. data/vendor/rails/activesupport/lib/active_support/core_ext/string/behavior.rb +13 -0
  1751. data/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb +0 -0
  1752. data/vendor/rails/activesupport/lib/active_support/core_ext/string/filters.rb +0 -0
  1753. data/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb +22 -3
  1754. data/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb +3 -1
  1755. data/vendor/rails/activesupport/lib/active_support/core_ext/string/multibyte.rb +81 -0
  1756. data/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb +0 -0
  1757. data/vendor/rails/activesupport/lib/active_support/core_ext/string/xchar.rb +0 -0
  1758. data/vendor/rails/activesupport/lib/active_support/core_ext/symbol.rb +0 -0
  1759. data/vendor/rails/activesupport/lib/active_support/core_ext/time.rb +0 -0
  1760. data/vendor/rails/activesupport/lib/active_support/core_ext/time/behavior.rb +0 -0
  1761. data/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb +39 -12
  1762. data/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb +2 -1
  1763. data/vendor/rails/activesupport/lib/active_support/core_ext/time/zones.rb +1 -1
  1764. data/vendor/rails/activesupport/lib/active_support/core_ext/try.rb +36 -0
  1765. data/vendor/rails/activesupport/lib/active_support/core_ext/uri.rb +16 -0
  1766. data/vendor/rails/activesupport/lib/active_support/dependencies.rb +196 -124
  1767. data/vendor/rails/activesupport/lib/active_support/deprecation.rb +33 -60
  1768. data/vendor/rails/activesupport/lib/active_support/duration.rb +3 -1
  1769. data/vendor/rails/activesupport/lib/active_support/gzip.rb +0 -0
  1770. data/vendor/rails/activesupport/lib/active_support/inflections.rb +1 -0
  1771. data/vendor/rails/activesupport/lib/active_support/inflector.rb +131 -38
  1772. data/vendor/rails/activesupport/lib/active_support/json.rb +1 -1
  1773. data/vendor/rails/activesupport/lib/active_support/json/decoding.rb +23 -4
  1774. data/vendor/rails/activesupport/lib/active_support/json/encoders/date.rb +9 -2
  1775. data/vendor/rails/activesupport/lib/active_support/json/encoders/date_time.rb +9 -2
  1776. data/vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb +0 -0
  1777. data/vendor/rails/activesupport/lib/active_support/json/encoders/false_class.rb +0 -0
  1778. data/vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb +10 -11
  1779. data/vendor/rails/activesupport/lib/active_support/json/encoders/nil_class.rb +0 -0
  1780. data/vendor/rails/activesupport/lib/active_support/json/encoders/numeric.rb +0 -0
  1781. data/vendor/rails/activesupport/lib/active_support/json/encoders/object.rb +0 -0
  1782. data/vendor/rails/activesupport/lib/active_support/json/encoders/regexp.rb +0 -0
  1783. data/vendor/rails/activesupport/lib/active_support/json/encoders/string.rb +0 -0
  1784. data/vendor/rails/activesupport/lib/active_support/json/encoders/symbol.rb +0 -0
  1785. data/vendor/rails/activesupport/lib/active_support/json/encoders/time.rb +10 -3
  1786. data/vendor/rails/activesupport/lib/active_support/json/encoders/true_class.rb +0 -0
  1787. data/vendor/rails/activesupport/lib/active_support/json/encoding.rb +23 -29
  1788. data/vendor/rails/activesupport/lib/active_support/json/variable.rb +0 -0
  1789. data/vendor/rails/activesupport/lib/active_support/locale/en.yml +33 -0
  1790. data/vendor/rails/activesupport/lib/active_support/memoizable.rb +100 -0
  1791. data/vendor/rails/activesupport/lib/active_support/message_encryptor.rb +70 -0
  1792. data/vendor/rails/activesupport/lib/active_support/message_verifier.rb +46 -0
  1793. data/vendor/rails/activesupport/lib/active_support/multibyte.rb +31 -7
  1794. data/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb +686 -122
  1795. data/vendor/rails/activesupport/lib/active_support/multibyte/exceptions.rb +8 -0
  1796. data/vendor/rails/activesupport/lib/active_support/multibyte/unicode_database.rb +71 -0
  1797. data/vendor/rails/activesupport/lib/active_support/option_merger.rb +6 -8
  1798. data/vendor/rails/activesupport/lib/active_support/ordered_hash.rb +81 -18
  1799. data/vendor/rails/activesupport/lib/active_support/ordered_options.rb +0 -0
  1800. data/vendor/rails/activesupport/lib/active_support/rescuable.rb +108 -0
  1801. data/vendor/rails/activesupport/lib/active_support/secure_random.rb +199 -0
  1802. data/vendor/rails/activesupport/lib/active_support/string_inquirer.rb +11 -1
  1803. data/vendor/rails/activesupport/lib/active_support/test_case.rb +33 -7
  1804. data/vendor/rails/activesupport/lib/active_support/{core_ext/test/unit → testing}/assertions.rb +14 -13
  1805. data/vendor/rails/activesupport/lib/active_support/testing/declarative.rb +21 -0
  1806. data/vendor/rails/activesupport/lib/active_support/testing/default.rb +0 -0
  1807. data/vendor/rails/activesupport/lib/active_support/testing/deprecation.rb +55 -0
  1808. data/vendor/rails/activesupport/lib/active_support/testing/performance.rb +452 -0
  1809. data/vendor/rails/activesupport/lib/active_support/testing/setup_and_teardown.rb +66 -68
  1810. data/vendor/rails/activesupport/lib/active_support/time_with_zone.rb +80 -50
  1811. data/vendor/rails/activesupport/lib/active_support/values/time_zone.rb +12 -4
  1812. data/vendor/rails/activesupport/lib/active_support/values/unicode_tables.dat +0 -0
  1813. data/vendor/rails/activesupport/lib/active_support/vendor.rb +12 -9
  1814. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/blankslate.rb +0 -0
  1815. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder.rb +0 -0
  1816. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb +0 -0
  1817. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb +0 -0
  1818. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb +0 -0
  1819. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb +0 -0
  1820. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb +1 -1
  1821. data/vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb +0 -0
  1822. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/MIT-LICENSE +20 -0
  1823. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/README.textile +20 -0
  1824. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/Rakefile +5 -0
  1825. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/i18n.gemspec +27 -0
  1826. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n.rb +199 -0
  1827. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/backend/simple.rb +214 -0
  1828. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/lib/i18n/exceptions.rb +53 -0
  1829. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/all.rb +5 -0
  1830. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_exceptions_test.rb +100 -0
  1831. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/i18n_test.rb +125 -0
  1832. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.rb +1 -0
  1833. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/locale/en.yml +3 -0
  1834. data/vendor/rails/activesupport/lib/active_support/vendor/i18n-0.1.3/test/simple_backend_test.rb +568 -0
  1835. data/vendor/rails/activesupport/lib/active_support/vendor/{memcache-client-1.5.0 → memcache-client-1.6.5}/memcache.rb +383 -297
  1836. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo.rb +0 -0
  1837. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/data_timezone.rb +0 -0
  1838. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/data_timezone_info.rb +0 -0
  1839. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Africa/Algiers.rb +0 -0
  1840. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Africa/Cairo.rb +0 -0
  1841. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Africa/Casablanca.rb +0 -0
  1842. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Africa/Harare.rb +0 -0
  1843. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Africa/Johannesburg.rb +0 -0
  1844. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Africa/Monrovia.rb +0 -0
  1845. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Africa/Nairobi.rb +0 -0
  1846. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Argentina/Buenos_Aires.rb +0 -0
  1847. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb +86 -0
  1848. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Bogota.rb +0 -0
  1849. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Caracas.rb +0 -0
  1850. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Chicago.rb +0 -0
  1851. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Chihuahua.rb +0 -0
  1852. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Denver.rb +0 -0
  1853. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Godthab.rb +0 -0
  1854. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Guatemala.rb +0 -0
  1855. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Halifax.rb +0 -0
  1856. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Indiana/Indianapolis.rb +0 -0
  1857. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Juneau.rb +0 -0
  1858. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/La_Paz.rb +0 -0
  1859. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Lima.rb +0 -0
  1860. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Los_Angeles.rb +0 -0
  1861. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Mazatlan.rb +0 -0
  1862. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Mexico_City.rb +0 -0
  1863. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Monterrey.rb +0 -0
  1864. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/New_York.rb +0 -0
  1865. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Phoenix.rb +0 -0
  1866. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Regina.rb +0 -0
  1867. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Santiago.rb +0 -0
  1868. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Sao_Paulo.rb +0 -0
  1869. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/St_Johns.rb +0 -0
  1870. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/America/Tijuana.rb +0 -0
  1871. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Almaty.rb +0 -0
  1872. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Baghdad.rb +0 -0
  1873. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Baku.rb +0 -0
  1874. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Bangkok.rb +0 -0
  1875. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Chongqing.rb +0 -0
  1876. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb +30 -0
  1877. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Dhaka.rb +0 -0
  1878. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Hong_Kong.rb +0 -0
  1879. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Irkutsk.rb +0 -0
  1880. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Jakarta.rb +0 -0
  1881. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Jerusalem.rb +0 -0
  1882. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Kabul.rb +0 -0
  1883. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Kamchatka.rb +0 -0
  1884. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Karachi.rb +0 -0
  1885. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Katmandu.rb +0 -0
  1886. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Kolkata.rb +0 -0
  1887. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Krasnoyarsk.rb +0 -0
  1888. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Kuala_Lumpur.rb +0 -0
  1889. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Kuwait.rb +0 -0
  1890. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Magadan.rb +0 -0
  1891. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Muscat.rb +0 -0
  1892. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Novosibirsk.rb +0 -0
  1893. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Rangoon.rb +0 -0
  1894. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Riyadh.rb +0 -0
  1895. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Seoul.rb +0 -0
  1896. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Shanghai.rb +0 -0
  1897. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Singapore.rb +0 -0
  1898. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Taipei.rb +0 -0
  1899. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Tashkent.rb +0 -0
  1900. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Tbilisi.rb +0 -0
  1901. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Tehran.rb +0 -0
  1902. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Tokyo.rb +0 -0
  1903. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Ulaanbaatar.rb +0 -0
  1904. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Urumqi.rb +0 -0
  1905. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Vladivostok.rb +0 -0
  1906. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Yakutsk.rb +0 -0
  1907. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Yekaterinburg.rb +0 -0
  1908. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Asia/Yerevan.rb +0 -0
  1909. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Atlantic/Azores.rb +0 -0
  1910. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Atlantic/Cape_Verde.rb +0 -0
  1911. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Atlantic/South_Georgia.rb +0 -0
  1912. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Australia/Adelaide.rb +0 -0
  1913. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Australia/Brisbane.rb +0 -0
  1914. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Australia/Darwin.rb +0 -0
  1915. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Australia/Hobart.rb +0 -0
  1916. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Australia/Melbourne.rb +0 -0
  1917. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Australia/Perth.rb +0 -0
  1918. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Australia/Sydney.rb +0 -0
  1919. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Etc/UTC.rb +0 -0
  1920. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Amsterdam.rb +0 -0
  1921. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Athens.rb +0 -0
  1922. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Belgrade.rb +0 -0
  1923. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Berlin.rb +0 -0
  1924. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Bratislava.rb +0 -0
  1925. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Brussels.rb +0 -0
  1926. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Bucharest.rb +0 -0
  1927. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Budapest.rb +0 -0
  1928. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Copenhagen.rb +0 -0
  1929. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Dublin.rb +0 -0
  1930. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Helsinki.rb +0 -0
  1931. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Istanbul.rb +0 -0
  1932. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Kiev.rb +0 -0
  1933. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Lisbon.rb +0 -0
  1934. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Ljubljana.rb +0 -0
  1935. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/London.rb +0 -0
  1936. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Madrid.rb +0 -0
  1937. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Minsk.rb +0 -0
  1938. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Moscow.rb +0 -0
  1939. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Paris.rb +0 -0
  1940. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Prague.rb +0 -0
  1941. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Riga.rb +0 -0
  1942. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Rome.rb +0 -0
  1943. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Sarajevo.rb +0 -0
  1944. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Skopje.rb +0 -0
  1945. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Sofia.rb +0 -0
  1946. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Stockholm.rb +0 -0
  1947. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Tallinn.rb +0 -0
  1948. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Vienna.rb +0 -0
  1949. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Vilnius.rb +0 -0
  1950. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Warsaw.rb +0 -0
  1951. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Europe/Zagreb.rb +0 -0
  1952. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Pacific/Auckland.rb +0 -0
  1953. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Pacific/Fiji.rb +0 -0
  1954. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Pacific/Guam.rb +0 -0
  1955. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Pacific/Honolulu.rb +0 -0
  1956. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Pacific/Majuro.rb +0 -0
  1957. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Pacific/Midway.rb +0 -0
  1958. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Pacific/Noumea.rb +0 -0
  1959. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Pacific/Pago_Pago.rb +0 -0
  1960. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Pacific/Port_Moresby.rb +0 -0
  1961. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/definitions/Pacific/Tongatapu.rb +0 -0
  1962. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/info_timezone.rb +0 -0
  1963. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/linked_timezone.rb +0 -0
  1964. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/linked_timezone_info.rb +0 -0
  1965. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/offset_rationals.rb +0 -0
  1966. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/ruby_core_support.rb +0 -0
  1967. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/time_or_datetime.rb +0 -0
  1968. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/timezone.rb +0 -0
  1969. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/timezone_definition.rb +0 -0
  1970. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/timezone_info.rb +0 -0
  1971. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/timezone_offset_info.rb +0 -0
  1972. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/timezone_period.rb +0 -0
  1973. data/vendor/rails/activesupport/lib/active_support/vendor/{tzinfo-0.3.11 → tzinfo-0.3.12}/tzinfo/timezone_transition_info.rb +0 -0
  1974. data/vendor/rails/activesupport/lib/active_support/version.rb +1 -1
  1975. data/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -0
  1976. data/vendor/rails/activesupport/lib/active_support/xml_mini.rb +31 -0
  1977. data/vendor/rails/activesupport/lib/active_support/xml_mini/libxml.rb +133 -0
  1978. data/vendor/rails/activesupport/lib/active_support/xml_mini/nokogiri.rb +77 -0
  1979. data/vendor/rails/activesupport/lib/active_support/xml_mini/rexml.rb +108 -0
  1980. data/vendor/rails/activesupport/lib/activesupport.rb +0 -0
  1981. data/vendor/rails/railties/CHANGELOG +297 -188
  1982. data/vendor/rails/railties/MIT-LICENSE +1 -1
  1983. data/vendor/rails/railties/README +6 -19
  1984. data/vendor/rails/railties/Rakefile +33 -20
  1985. data/vendor/rails/railties/bin/rails +1 -0
  1986. data/vendor/rails/railties/builtin/rails_info/rails/info.rb +12 -8
  1987. data/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb +0 -0
  1988. data/vendor/rails/railties/builtin/rails_info/rails/info_helper.rb +0 -0
  1989. data/vendor/rails/railties/builtin/rails_info/rails_info_controller.rb +0 -0
  1990. data/vendor/rails/railties/configs/databases/frontbase.yml +0 -0
  1991. data/vendor/rails/railties/configs/databases/ibm_db.yml +62 -0
  1992. data/vendor/rails/railties/configs/databases/mysql.yml +6 -0
  1993. data/vendor/rails/railties/configs/databases/oracle.yml +0 -0
  1994. data/vendor/rails/railties/configs/databases/postgresql.yml +3 -0
  1995. data/vendor/rails/railties/configs/databases/sqlite2.yml +3 -0
  1996. data/vendor/rails/railties/configs/databases/sqlite3.yml +3 -0
  1997. data/vendor/rails/railties/configs/empty.log +0 -0
  1998. data/vendor/rails/railties/configs/initializers/backtrace_silencers.rb +7 -0
  1999. data/vendor/rails/railties/configs/initializers/inflections.rb +0 -0
  2000. data/vendor/rails/railties/configs/initializers/mime_types.rb +0 -0
  2001. data/vendor/rails/railties/configs/initializers/new_rails_defaults.rb +2 -0
  2002. data/vendor/rails/railties/configs/initializers/session_store.rb +15 -0
  2003. data/vendor/rails/railties/configs/locales/en.yml +5 -0
  2004. data/vendor/rails/railties/configs/routes.rb +0 -0
  2005. data/vendor/rails/railties/dispatches/config.ru +7 -0
  2006. data/vendor/rails/railties/dispatches/dispatch.fcgi +1 -1
  2007. data/vendor/rails/railties/dispatches/dispatch.rb +2 -2
  2008. data/vendor/rails/railties/dispatches/gateway.cgi +2 -2
  2009. data/vendor/rails/railties/doc/README_FOR_APP +0 -0
  2010. data/vendor/rails/railties/environments/boot.rb +3 -2
  2011. data/vendor/rails/railties/environments/development.rb +0 -0
  2012. data/vendor/rails/railties/environments/environment.rb +16 -42
  2013. data/vendor/rails/railties/environments/production.rb +10 -4
  2014. data/vendor/rails/railties/environments/test.rb +6 -0
  2015. data/vendor/rails/railties/helpers/application_controller.rb +10 -0
  2016. data/vendor/rails/railties/helpers/application_helper.rb +0 -0
  2017. data/vendor/rails/railties/helpers/performance_test.rb +9 -0
  2018. data/vendor/rails/railties/helpers/test_helper.rb +1 -1
  2019. data/vendor/rails/railties/html/404.html +0 -0
  2020. data/vendor/rails/railties/html/422.html +0 -0
  2021. data/vendor/rails/railties/html/500.html +1 -1
  2022. data/vendor/rails/railties/html/favicon.ico +0 -0
  2023. data/vendor/rails/railties/html/images/rails.png +0 -0
  2024. data/vendor/rails/railties/html/index.html +1 -0
  2025. data/vendor/rails/railties/html/javascripts/application.js +0 -0
  2026. data/vendor/rails/railties/html/javascripts/controls.js +72 -72
  2027. data/vendor/rails/railties/html/javascripts/dragdrop.js +165 -164
  2028. data/vendor/rails/railties/html/javascripts/effects.js +173 -165
  2029. data/vendor/rails/railties/html/javascripts/prototype.js +362 -267
  2030. data/vendor/rails/railties/html/robots.txt +0 -0
  2031. data/vendor/rails/railties/lib/code_statistics.rb +0 -0
  2032. data/vendor/rails/railties/lib/commands.rb +0 -0
  2033. data/vendor/rails/railties/lib/commands/about.rb +1 -1
  2034. data/vendor/rails/railties/lib/commands/console.rb +13 -0
  2035. data/vendor/rails/railties/lib/commands/dbconsole.rb +20 -4
  2036. data/vendor/rails/railties/lib/commands/destroy.rb +0 -0
  2037. data/vendor/rails/railties/lib/commands/ncgi/listener +2 -2
  2038. data/vendor/rails/railties/lib/commands/ncgi/tracker +2 -2
  2039. data/vendor/rails/railties/lib/commands/performance/benchmarker.rb +0 -0
  2040. data/vendor/rails/railties/lib/commands/performance/profiler.rb +0 -0
  2041. data/vendor/rails/railties/lib/commands/plugin.rb +43 -25
  2042. data/vendor/rails/railties/lib/commands/runner.rb +13 -7
  2043. data/vendor/rails/railties/lib/commands/server.rb +100 -25
  2044. data/vendor/rails/railties/lib/commands/update.rb +0 -0
  2045. data/vendor/rails/railties/lib/console_app.rb +4 -4
  2046. data/vendor/rails/railties/lib/console_sandbox.rb +0 -0
  2047. data/vendor/rails/railties/lib/console_with_helpers.rb +2 -23
  2048. data/vendor/rails/railties/lib/dispatcher.rb +1 -1
  2049. data/vendor/rails/railties/lib/fcgi_handler.rb +13 -13
  2050. data/vendor/rails/railties/lib/initializer.rb +256 -66
  2051. data/vendor/rails/railties/lib/performance_test_help.rb +5 -0
  2052. data/vendor/rails/railties/lib/rails/backtrace_cleaner.rb +54 -0
  2053. data/vendor/rails/railties/lib/rails/gem_builder.rb +3 -3
  2054. data/vendor/rails/railties/lib/rails/gem_dependency.rb +209 -56
  2055. data/vendor/rails/railties/lib/rails/plugin.rb +59 -8
  2056. data/vendor/rails/railties/lib/rails/plugin/loader.rb +66 -27
  2057. data/vendor/rails/railties/lib/rails/plugin/locator.rb +1 -1
  2058. data/vendor/rails/railties/lib/rails/rack.rb +8 -0
  2059. data/vendor/rails/railties/lib/rails/rack/debugger.rb +21 -0
  2060. data/vendor/rails/railties/lib/rails/rack/log_tailer.rb +35 -0
  2061. data/vendor/rails/railties/lib/rails/rack/metal.rb +51 -0
  2062. data/vendor/rails/railties/lib/rails/rack/static.rb +46 -0
  2063. data/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb +140 -0
  2064. data/vendor/rails/railties/lib/rails/version.rb +1 -1
  2065. data/vendor/rails/railties/lib/rails_generator.rb +0 -0
  2066. data/vendor/rails/railties/lib/rails_generator/base.rb +3 -0
  2067. data/vendor/rails/railties/lib/rails_generator/commands.rb +16 -17
  2068. data/vendor/rails/railties/lib/rails_generator/generated_attribute.rb +4 -0
  2069. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/USAGE +0 -0
  2070. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb +213 -133
  2071. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/scm.rb +8 -0
  2072. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/scm/svn.rb +7 -0
  2073. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/template_runner.rb +401 -0
  2074. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/USAGE +12 -11
  2075. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb +7 -1
  2076. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -0
  2077. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb +1 -1
  2078. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -0
  2079. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper_test.rb +4 -0
  2080. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/view.html.erb +0 -0
  2081. data/vendor/rails/railties/lib/rails_generator/generators/components/helper/USAGE +24 -0
  2082. data/vendor/rails/railties/lib/rails_generator/generators/components/helper/helper_generator.rb +25 -0
  2083. data/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper.rb +2 -0
  2084. data/vendor/rails/railties/lib/rails_generator/generators/components/helper/templates/helper_test.rb +4 -0
  2085. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/USAGE +0 -0
  2086. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +1 -1
  2087. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +2 -2
  2088. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/USAGE +0 -0
  2089. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb +1 -1
  2090. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.erb +0 -0
  2091. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
  2092. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -0
  2093. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +2 -3
  2094. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.erb +0 -0
  2095. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
  2096. data/vendor/rails/railties/lib/rails_generator/generators/components/metal/USAGE +8 -0
  2097. data/vendor/rails/railties/lib/rails_generator/generators/components/metal/metal_generator.rb +8 -0
  2098. data/vendor/rails/railties/lib/rails_generator/generators/components/metal/templates/metal.rb +12 -0
  2099. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE +0 -0
  2100. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -0
  2101. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -0
  2102. data/vendor/rails/railties/lib/rails_generator/generators/components/model/USAGE +0 -0
  2103. data/vendor/rails/railties/lib/rails_generator/generators/components/model/model_generator.rb +1 -1
  2104. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -0
  2105. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/migration.rb +0 -0
  2106. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/model.rb +3 -0
  2107. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb +1 -1
  2108. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/USAGE +0 -0
  2109. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/observer_generator.rb +1 -1
  2110. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -0
  2111. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb +1 -1
  2112. data/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/USAGE +8 -0
  2113. data/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb +16 -0
  2114. data/vendor/rails/railties/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb +9 -0
  2115. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/USAGE +0 -0
  2116. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb +11 -11
  2117. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +0 -0
  2118. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/README +0 -0
  2119. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile +1 -0
  2120. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -0
  2121. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -0
  2122. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -0
  2123. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/install.rb +0 -0
  2124. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -0
  2125. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -0
  2126. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/test_helper.rb +3 -0
  2127. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +0 -0
  2128. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +4 -4
  2129. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/USAGE +2 -2
  2130. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/resource_generator.rb +4 -2
  2131. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -0
  2132. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb +1 -1
  2133. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -0
  2134. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper_test.rb +4 -0
  2135. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/USAGE +9 -5
  2136. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +12 -3
  2137. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb +1 -1
  2138. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +11 -11
  2139. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -0
  2140. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb +4 -0
  2141. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +1 -1
  2142. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -0
  2143. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +2 -2
  2144. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +2 -2
  2145. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +2 -2
  2146. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +1 -1
  2147. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/USAGE +0 -0
  2148. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -0
  2149. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -0
  2150. data/vendor/rails/railties/lib/rails_generator/lookup.rb +0 -0
  2151. data/vendor/rails/railties/lib/rails_generator/manifest.rb +0 -0
  2152. data/vendor/rails/railties/lib/rails_generator/options.rb +0 -0
  2153. data/vendor/rails/railties/lib/rails_generator/scripts.rb +1 -1
  2154. data/vendor/rails/railties/lib/rails_generator/scripts/destroy.rb +6 -7
  2155. data/vendor/rails/railties/lib/rails_generator/scripts/generate.rb +0 -0
  2156. data/vendor/rails/railties/lib/rails_generator/scripts/update.rb +0 -0
  2157. data/vendor/rails/railties/lib/rails_generator/secret_key_generator.rb +7 -147
  2158. data/vendor/rails/railties/lib/rails_generator/simple_logger.rb +0 -0
  2159. data/vendor/rails/railties/lib/rails_generator/spec.rb +0 -0
  2160. data/vendor/rails/railties/lib/railties_path.rb +0 -0
  2161. data/vendor/rails/railties/lib/ruby_version_check.rb +0 -0
  2162. data/vendor/rails/railties/lib/rubyprof_ext.rb +0 -0
  2163. data/vendor/rails/railties/lib/source_annotation_extractor.rb +0 -0
  2164. data/vendor/rails/railties/lib/tasks/annotations.rake +8 -11
  2165. data/vendor/rails/railties/lib/tasks/databases.rake +55 -21
  2166. data/vendor/rails/railties/lib/tasks/documentation.rake +8 -0
  2167. data/vendor/rails/railties/lib/tasks/framework.rake +31 -2
  2168. data/vendor/rails/railties/lib/tasks/gems.rake +41 -40
  2169. data/vendor/rails/railties/lib/tasks/log.rake +0 -0
  2170. data/vendor/rails/railties/lib/tasks/middleware.rake +7 -0
  2171. data/vendor/rails/railties/lib/tasks/misc.rake +10 -4
  2172. data/vendor/rails/railties/lib/tasks/rails.rb +0 -0
  2173. data/vendor/rails/railties/lib/tasks/routes.rake +0 -0
  2174. data/vendor/rails/railties/lib/tasks/statistics.rake +0 -1
  2175. data/vendor/rails/railties/lib/tasks/testing.rake +30 -9
  2176. data/vendor/rails/railties/lib/test_help.rb +17 -10
  2177. data/vendor/rails/railties/lib/webrick_server.rb +2 -11
  2178. data/vendor/redcloth/Rakefile +0 -0
  2179. data/vendor/redcloth/bin/redcloth +0 -0
  2180. data/vendor/redcloth/doc/CHANGELOG +0 -0
  2181. data/vendor/redcloth/doc/COPYING +0 -0
  2182. data/vendor/redcloth/doc/README +0 -0
  2183. data/vendor/redcloth/doc/REFERENCE +0 -0
  2184. data/vendor/redcloth/doc/make.rb +0 -0
  2185. data/vendor/redcloth/lib/rctodb.rb +0 -0
  2186. data/vendor/redcloth/lib/redcloth.rb +0 -0
  2187. data/vendor/redcloth/run-tests.rb +0 -0
  2188. data/vendor/redcloth/setup.rb +0 -0
  2189. data/vendor/redcloth/tests/code.yml +0 -0
  2190. data/vendor/redcloth/tests/images.yml +0 -0
  2191. data/vendor/redcloth/tests/instiki.yml +0 -0
  2192. data/vendor/redcloth/tests/links.yml +0 -0
  2193. data/vendor/redcloth/tests/lists.yml +0 -0
  2194. data/vendor/redcloth/tests/markdown.yml +0 -0
  2195. data/vendor/redcloth/tests/poignant.yml +0 -0
  2196. data/vendor/redcloth/tests/table.yml +0 -0
  2197. data/vendor/redcloth/tests/textism.yml +0 -0
  2198. metadata +514 -315
  2199. data/app/controllers/admin/abstract_model_controller.rb +0 -134
  2200. data/app/models/response_cache.rb +0 -187
  2201. data/lib/plugins/extension_patches/lib/fixture_loading_extension.rb +0 -76
  2202. data/lib/plugins/extension_patches/lib/mailer_view_paths_extension.rb +0 -93
  2203. data/lib/radiant/compat.rb +0 -10
  2204. data/spec/integration/admin/content_negotiation_spec.rb +0 -27
  2205. data/spec/integration/admin/pages_integration_spec.rb +0 -124
  2206. data/spec/integration/admin/permission_integration_spec.rb +0 -24
  2207. data/spec/integration/admin/snippets_integration_spec.rb +0 -73
  2208. data/spec/integration/admin/user_management_integration_spec.rb +0 -80
  2209. data/spec/integration/admin/user_preferences_integration_spec.rb +0 -19
  2210. data/spec/integration/page_serving_spec.rb +0 -37
  2211. data/spec/models/response_cache_spec.rb +0 -286
  2212. data/stories/all.rb +0 -4
  2213. data/stories/helper.rb +0 -3
  2214. data/vendor/highline/AUTHORS +0 -2
  2215. data/vendor/highline/COPYING +0 -340
  2216. data/vendor/highline/site/highline.css +0 -65
  2217. data/vendor/highline/site/images/logo.png +0 -0
  2218. data/vendor/highline/site/index.html +0 -59
  2219. data/vendor/plugins/dataset/History.txt +0 -9
  2220. data/vendor/plugins/dataset/Manifest.txt +0 -21
  2221. data/vendor/plugins/default_order/README +0 -35
  2222. data/vendor/plugins/default_order/Rakefile +0 -22
  2223. data/vendor/plugins/default_order/init.rb +0 -1
  2224. data/vendor/plugins/default_order/lib/default_order.rb +0 -32
  2225. data/vendor/plugins/default_order/test/default_order_test.rb +0 -5
  2226. data/vendor/plugins/spec_integration/LICENSE +0 -19
  2227. data/vendor/plugins/spec_integration/README +0 -117
  2228. data/vendor/plugins/spec_integration/Rakefile +0 -10
  2229. data/vendor/plugins/spec_integration/lib/spec/integration.rb +0 -10
  2230. data/vendor/plugins/spec_integration/lib/spec/integration/dsl.rb +0 -11
  2231. data/vendor/plugins/spec_integration/lib/spec/integration/dsl/form.rb +0 -157
  2232. data/vendor/plugins/spec_integration/lib/spec/integration/dsl/integration_example_group.rb +0 -97
  2233. data/vendor/plugins/spec_integration/lib/spec/integration/dsl/navigation.rb +0 -102
  2234. data/vendor/plugins/spec_integration/lib/spec/integration/extensions.rb +0 -8
  2235. data/vendor/plugins/spec_integration/lib/spec/integration/extensions/action_controller.rb +0 -25
  2236. data/vendor/plugins/spec_integration/lib/spec/integration/extensions/hash.rb +0 -48
  2237. data/vendor/plugins/spec_integration/lib/spec/integration/matchers.rb +0 -1
  2238. data/vendor/plugins/spec_integration/lib/spec/integration/matchers/display_object.rb +0 -41
  2239. data/vendor/plugins/spec_integration/lib/spec/integration/matchers/have_link_to.rb +0 -35
  2240. data/vendor/plugins/spec_integration/lib/spec/integration/matchers/navigate_successfully.rb +0 -60
  2241. data/vendor/plugins/spec_integration/lib/spec/integration/matchers/showing.rb +0 -44
  2242. data/vendor/plugins/spec_integration/spec/application.rb +0 -3
  2243. data/vendor/plugins/spec_integration/spec/dispatcher.rb +0 -24
  2244. data/vendor/plugins/spec_integration/spec/dsl/form_spec.rb +0 -130
  2245. data/vendor/plugins/spec_integration/spec/dsl/integration_spec_spec.rb +0 -38
  2246. data/vendor/plugins/spec_integration/spec/dsl/navigation_spec.rb +0 -35
  2247. data/vendor/plugins/spec_integration/spec/integration_dsl_controller.rb +0 -5
  2248. data/vendor/plugins/spec_integration/spec/spec.opts +0 -7
  2249. data/vendor/plugins/spec_integration/spec/spec_helper.rb +0 -10
  2250. data/vendor/plugins/spec_integration/tasks/integration.rake +0 -14
  2251. data/vendor/plugins/vizres/CHANGELOG +0 -15
  2252. data/vendor/plugins/vizres/MIT-LICENSE +0 -16
  2253. data/vendor/plugins/vizres/README +0 -80
  2254. data/vendor/plugins/vizres/Rakefile +0 -22
  2255. data/vendor/plugins/vizres/init.rb +0 -1
  2256. data/vendor/plugins/vizres/lib/vizres.rb +0 -33
  2257. data/vendor/plugins/vizres/lib/vizres/browser.rb +0 -36
  2258. data/vendor/plugins/vizres/lib/vizres/scm.rb +0 -27
  2259. data/vendor/plugins/vizres/test/vizres/browser_test.rb +0 -76
  2260. data/vendor/plugins/vizres/test/vizres/scm_test.rb +0 -41
  2261. data/vendor/plugins/vizres/test/vizres_test.rb +0 -55
  2262. data/vendor/plugins/vizres/vizres.gemspec +0 -26
  2263. data/vendor/rails/actionmailer/lib/action_mailer/vendor.rb +0 -14
  2264. data/vendor/rails/actionpack/lib/action_controller/assertions.rb +0 -69
  2265. data/vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb +0 -18
  2266. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/session.rb +0 -73
  2267. data/vendor/rails/actionpack/lib/action_controller/components.rb +0 -166
  2268. data/vendor/rails/actionpack/lib/action_controller/request_profiler.rb +0 -169
  2269. data/vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb +0 -340
  2270. data/vendor/rails/actionpack/lib/action_controller/session/drb_server.rb +0 -32
  2271. data/vendor/rails/actionpack/lib/action_controller/session/drb_store.rb +0 -35
  2272. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/controls.js +0 -963
  2273. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/dragdrop.js +0 -972
  2274. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/effects.js +0 -1120
  2275. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/prototype.js +0 -4225
  2276. data/vendor/rails/actionpack/lib/action_view/partial_template.rb +0 -70
  2277. data/vendor/rails/actionpack/lib/action_view/template_finder.rb +0 -177
  2278. data/vendor/rails/actionpack/lib/action_view/template_handlers/compilable.rb +0 -128
  2279. data/vendor/rails/actionpack/test/controller/cgi_test.rb +0 -116
  2280. data/vendor/rails/actionpack/test/controller/components_test.rb +0 -140
  2281. data/vendor/rails/actionpack/test/controller/custom_handler_test.rb +0 -45
  2282. data/vendor/rails/actionpack/test/controller/http_authentication_test.rb +0 -54
  2283. data/vendor/rails/actionpack/test/controller/integration_upload_test.rb +0 -43
  2284. data/vendor/rails/actionpack/test/controller/new_render_test.rb +0 -945
  2285. data/vendor/rails/actionpack/test/controller/session_fixation_test.rb +0 -89
  2286. data/vendor/rails/actionpack/test/controller/session_management_test.rb +0 -178
  2287. data/vendor/rails/actionpack/test/fixtures/test/block_content_for.erb +0 -2
  2288. data/vendor/rails/actionpack/test/fixtures/test/erb_content_for.erb +0 -2
  2289. data/vendor/rails/actionpack/test/template/deprecated_erb_variable_test.rb +0 -9
  2290. data/vendor/rails/actionpack/test/template/template_finder_test.rb +0 -73
  2291. data/vendor/rails/actionpack/test/template/template_object_test.rb +0 -95
  2292. data/vendor/rails/activerecord/lib/active_record/vendor/mysql.rb +0 -1214
  2293. data/vendor/rails/activerecord/test/cases/adapter_test_sqlserver.rb +0 -95
  2294. data/vendor/rails/activerecord/test/cases/table_name_test_sqlserver.rb +0 -23
  2295. data/vendor/rails/activerecord/test/cases/threaded_connections_test.rb +0 -48
  2296. data/vendor/rails/activerecord/test/schema/sqlserver_specific_schema.rb +0 -5
  2297. data/vendor/rails/activesupport/lib/active_support/clean_logger.rb +0 -127
  2298. data/vendor/rails/activesupport/lib/active_support/core_ext/string/unicode.rb +0 -66
  2299. data/vendor/rails/activesupport/lib/active_support/core_ext/test.rb +0 -1
  2300. data/vendor/rails/activesupport/lib/active_support/multibyte/generators/generate_tables.rb +0 -149
  2301. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/passthru_handler.rb +0 -9
  2302. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb +0 -564
  2303. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler_proc.rb +0 -43
  2304. data/vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.11/tzinfo/definitions/America/Argentina/San_Juan.rb +0 -170
  2305. data/vendor/rails/activesupport/lib/active_support/vendor/xml-simple-1.0.11/xmlsimple.rb +0 -1021
  2306. data/vendor/rails/railties/bin/performance/request +0 -3
  2307. data/vendor/rails/railties/bin/process/inspector +0 -3
  2308. data/vendor/rails/railties/bin/process/reaper +0 -3
  2309. data/vendor/rails/railties/bin/process/spawner +0 -3
  2310. data/vendor/rails/railties/configs/apache.conf +0 -40
  2311. data/vendor/rails/railties/configs/lighttpd.conf +0 -54
  2312. data/vendor/rails/railties/helpers/application.rb +0 -15
  2313. data/vendor/rails/railties/lib/commands/performance/request.rb +0 -6
  2314. data/vendor/rails/railties/lib/commands/process/inspector.rb +0 -68
  2315. data/vendor/rails/railties/lib/commands/process/reaper.rb +0 -149
  2316. data/vendor/rails/railties/lib/commands/process/spawner.rb +0 -219
  2317. data/vendor/rails/railties/lib/commands/process/spinner.rb +0 -57
  2318. data/vendor/rails/railties/lib/commands/servers/base.rb +0 -31
  2319. data/vendor/rails/railties/lib/commands/servers/lighttpd.rb +0 -94
  2320. data/vendor/rails/railties/lib/commands/servers/mongrel.rb +0 -69
  2321. data/vendor/rails/railties/lib/commands/servers/new_mongrel.rb +0 -16
  2322. data/vendor/rails/railties/lib/commands/servers/webrick.rb +0 -66
  2323. data/vendor/rails/railties/lib/rails/mongrel_server/commands.rb +0 -342
  2324. data/vendor/rails/railties/lib/rails/mongrel_server/handler.rb +0 -55
@@ -1,3 +1,5 @@
1
+ require 'set'
2
+
1
3
  # Adds easy defaults to writing Atom feeds with the Builder template engine (this does not work on ERb or any other
2
4
  # template languages).
3
5
  module ActionView
@@ -17,7 +19,7 @@ module ActionView
17
19
  # # GET /posts.atom
18
20
  # def index
19
21
  # @posts = Post.find(:all)
20
- #
22
+ #
21
23
  # respond_to do |format|
22
24
  # format.html
23
25
  # format.atom
@@ -28,13 +30,13 @@ module ActionView
28
30
  # app/views/posts/index.atom.builder:
29
31
  # atom_feed do |feed|
30
32
  # feed.title("My great blog!")
31
- # feed.updated((@posts.first.created_at))
32
- #
33
+ # feed.updated(@posts.first.created_at)
34
+ #
33
35
  # for post in @posts
34
36
  # feed.entry(post) do |entry|
35
37
  # entry.title(post.title)
36
38
  # entry.content(post.body, :type => 'html')
37
- #
39
+ #
38
40
  # entry.author do |author|
39
41
  # author.name("DHH")
40
42
  # end
@@ -47,9 +49,11 @@ module ActionView
47
49
  # * <tt>:language</tt>: Defaults to "en-US".
48
50
  # * <tt>:root_url</tt>: The HTML alternative that this feed is doubling for. Defaults to / on the current host.
49
51
  # * <tt>:url</tt>: The URL for this feed. Defaults to the current URL.
50
- # * <tt>:schema_date</tt>: The date at which the tag scheme for the feed was first used. A good default is the year you
51
- # created the feed. See http://feedvalidator.org/docs/error/InvalidTAG.html for more information. If not specified,
52
+ # * <tt>:id</tt>: The id for this feed. Defaults to "tag:#{request.host},#{options[:schema_date]}:#{request.request_uri.split(".")[0]}"
53
+ # * <tt>:schema_date</tt>: The date at which the tag scheme for the feed was first used. A good default is the year you
54
+ # created the feed. See http://feedvalidator.org/docs/error/InvalidTAG.html for more information. If not specified,
52
55
  # 2005 is used (as an "I don't care" value).
56
+ # * <tt>:instruct</tt>: Hash of XML processing instructions in the form {target => {attribute => value, }} or {target => [{attribute => value, }, ]}
53
57
  #
54
58
  # Other namespaces can be added to the root element:
55
59
  #
@@ -73,36 +77,90 @@ module ActionView
73
77
  # end
74
78
  # end
75
79
  #
80
+ # The Atom spec defines five elements (content rights title subtitle
81
+ # summary) which may directly contain xhtml content if :type => 'xhtml'
82
+ # is specified as an attribute. If so, this helper will take care of
83
+ # the enclosing div and xhtml namespace declaration. Example usage:
84
+ #
85
+ # entry.summary :type => 'xhtml' do |xhtml|
86
+ # xhtml.p pluralize(order.line_items.count, "line item")
87
+ # xhtml.p "Shipped to #{order.address}"
88
+ # xhtml.p "Paid by #{order.pay_type}"
89
+ # end
76
90
  #
77
- # atom_feed yields an AtomFeedBuilder instance.
91
+ #
92
+ # atom_feed yields an AtomFeedBuilder instance. Nested elements yield
93
+ # an AtomBuilder instance.
78
94
  def atom_feed(options = {}, &block)
79
95
  if options[:schema_date]
80
96
  options[:schema_date] = options[:schema_date].strftime("%Y-%m-%d") if options[:schema_date].respond_to?(:strftime)
81
97
  else
82
98
  options[:schema_date] = "2005" # The Atom spec copyright date
83
99
  end
84
-
100
+
85
101
  xml = options[:xml] || eval("xml", block.binding)
86
102
  xml.instruct!
103
+ if options[:instruct]
104
+ options[:instruct].each do |target,attrs|
105
+ if attrs.respond_to?(:keys)
106
+ xml.instruct!(target, attrs)
107
+ elsif attrs.respond_to?(:each)
108
+ attrs.each { |attr_group| xml.instruct!(target, attr_group) }
109
+ end
110
+ end
111
+ end
87
112
 
88
113
  feed_opts = {"xml:lang" => options[:language] || "en-US", "xmlns" => 'http://www.w3.org/2005/Atom'}
89
114
  feed_opts.merge!(options).reject!{|k,v| !k.to_s.match(/^xml/)}
90
115
 
91
116
  xml.feed(feed_opts) do
92
- xml.id("tag:#{request.host},#{options[:schema_date]}:#{request.request_uri.split(".")[0]}")
117
+ xml.id(options[:id] || "tag:#{request.host},#{options[:schema_date]}:#{request.request_uri.split(".")[0]}")
93
118
  xml.link(:rel => 'alternate', :type => 'text/html', :href => options[:root_url] || (request.protocol + request.host_with_port))
94
119
  xml.link(:rel => 'self', :type => 'application/atom+xml', :href => options[:url] || request.url)
95
-
120
+
96
121
  yield AtomFeedBuilder.new(xml, self, options)
97
122
  end
98
123
  end
99
124
 
125
+ class AtomBuilder
126
+ XHTML_TAG_NAMES = %w(content rights title subtitle summary).to_set
100
127
 
101
- class AtomFeedBuilder
128
+ def initialize(xml)
129
+ @xml = xml
130
+ end
131
+
132
+ private
133
+ # Delegate to xml builder, first wrapping the element in a xhtml
134
+ # namespaced div element if the method and arguments indicate
135
+ # that an xhtml_block? is desired.
136
+ def method_missing(method, *arguments, &block)
137
+ if xhtml_block?(method, arguments)
138
+ @xml.__send__(method, *arguments) do
139
+ @xml.div(:xmlns => 'http://www.w3.org/1999/xhtml') do |xhtml|
140
+ block.call(xhtml)
141
+ end
142
+ end
143
+ else
144
+ @xml.__send__(method, *arguments, &block)
145
+ end
146
+ end
147
+
148
+ # True if the method name matches one of the five elements defined
149
+ # in the Atom spec as potentially containing XHTML content and
150
+ # if :type => 'xhtml' is, in fact, specified.
151
+ def xhtml_block?(method, arguments)
152
+ if XHTML_TAG_NAMES.include?(method.to_s)
153
+ last = arguments.last
154
+ last.is_a?(Hash) && last[:type].to_s == 'xhtml'
155
+ end
156
+ end
157
+ end
158
+
159
+ class AtomFeedBuilder < AtomBuilder
102
160
  def initialize(xml, view, feed_options = {})
103
161
  @xml, @view, @feed_options = xml, view, feed_options
104
162
  end
105
-
163
+
106
164
  # Accepts a Date or Time object and inserts it in the proper format. If nil is passed, current time in UTC is used.
107
165
  def updated(date_or_time = nil)
108
166
  @xml.updated((date_or_time || Time.now.utc).xmlschema)
@@ -115,9 +173,10 @@ module ActionView
115
173
  # * <tt>:published</tt>: Time first published. Defaults to the created_at attribute on the record if one such exists.
116
174
  # * <tt>:updated</tt>: Time of update. Defaults to the updated_at attribute on the record if one such exists.
117
175
  # * <tt>:url</tt>: The URL for this entry. Defaults to the polymorphic_url for the record.
176
+ # * <tt>:id</tt>: The ID for this entry. Defaults to "tag:#{@view.request.host},#{@feed_options[:schema_date]}:#{record.class}/#{record.id}"
118
177
  def entry(record, options = {})
119
- @xml.entry do
120
- @xml.id("tag:#{@view.request.host},#{@feed_options[:schema_date]}:#{record.class}/#{record.id}")
178
+ @xml.entry do
179
+ @xml.id(options[:id] || "tag:#{@view.request.host},#{@feed_options[:schema_date]}:#{record.class}/#{record.id}")
121
180
 
122
181
  if options[:published] || (record.respond_to?(:created_at) && record.created_at)
123
182
  @xml.published((options[:published] || record.created_at).xmlschema)
@@ -129,15 +188,11 @@ module ActionView
129
188
 
130
189
  @xml.link(:rel => 'alternate', :type => 'text/html', :href => options[:url] || @view.polymorphic_url(record))
131
190
 
132
- yield @xml
191
+ yield AtomBuilder.new(@xml)
133
192
  end
134
193
  end
135
-
136
- private
137
- def method_missing(method, *arguments, &block)
138
- @xml.__send__(method, *arguments, &block)
139
- end
140
194
  end
195
+
141
196
  end
142
197
  end
143
198
  end
@@ -15,19 +15,40 @@ module ActionView
15
15
  # <%= expensive_files_operation %>
16
16
  # <% end %>
17
17
  #
18
- # That would add something like "Process data files (0.34523)" to the log,
18
+ # That would add something like "Process data files (345.2ms)" to the log,
19
19
  # which you can then use to compare timings when optimizing your code.
20
20
  #
21
- # You may give an optional logger level as the second argument
21
+ # You may give an optional logger level as the :level option.
22
22
  # (:debug, :info, :warn, :error); the default value is :info.
23
- def benchmark(message = "Benchmarking", level = :info)
23
+ #
24
+ # <% benchmark "Low-level files", :level => :debug do %>
25
+ # <%= lowlevel_files_operation %>
26
+ # <% end %>
27
+ #
28
+ # Finally, you can pass true as the third argument to silence all log activity
29
+ # inside the block. This is great for boiling down a noisy block to just a single statement:
30
+ #
31
+ # <% benchmark "Process data files", :level => :info, :silence => true do %>
32
+ # <%= expensive_and_chatty_files_operation %>
33
+ # <% end %>
34
+ def benchmark(message = "Benchmarking", options = {})
24
35
  if controller.logger
25
- real = Benchmark.realtime { yield }
26
- controller.logger.send(level, "#{message} (#{'%.5f' % real})")
36
+ if options.is_a?(Symbol)
37
+ ActiveSupport::Deprecation.warn("use benchmark('#{message}', :level => :#{options}) instead", caller)
38
+ options = { :level => options, :silence => false }
39
+ else
40
+ options.assert_valid_keys(:level, :silence)
41
+ options[:level] ||= :info
42
+ end
43
+
44
+ result = nil
45
+ ms = Benchmark.ms { result = options[:silence] ? controller.logger.silence { yield } : yield }
46
+ controller.logger.send(options[:level], '%s (%.1fms)' % [ message, ms ])
47
+ result
27
48
  else
28
49
  yield
29
50
  end
30
51
  end
31
52
  end
32
53
  end
33
- end
54
+ end
@@ -32,8 +32,7 @@ module ActionView
32
32
  # <i>Topics listed alphabetically</i>
33
33
  # <% end %>
34
34
  def cache(name = {}, options = nil, &block)
35
- handler = Template.handler_class_for_extension(current_render_extension.to_sym)
36
- handler.new(@controller).cache_fragment(block, name, options)
35
+ @controller.fragment_for(output_buffer, name, options, &block)
37
36
  end
38
37
  end
39
38
  end
@@ -31,20 +31,15 @@ module ActionView
31
31
  # </body></html>
32
32
  #
33
33
  def capture(*args, &block)
34
- # execute the block
35
- begin
36
- buffer = eval(ActionView::Base.erb_variable, block.binding)
37
- rescue
38
- buffer = nil
39
- end
40
-
41
- if buffer.nil?
42
- capture_block(*args, &block).to_s
34
+ # Return captured buffer in erb.
35
+ if block_called_from_erb?(block)
36
+ with_output_buffer { block.call(*args) }
43
37
  else
44
- capture_erb_with_buffer(buffer, *args, &block).to_s
38
+ # Return block result otherwise, but protect buffer also.
39
+ with_output_buffer { return block.call(*args) }
45
40
  end
46
41
  end
47
-
42
+
48
43
  # Calling content_for stores a block of markup in an identifier for later use.
49
44
  # You can make subsequent calls to the stored content in other templates or the layout
50
45
  # by passing the identifier as an argument to <tt>yield</tt>.
@@ -121,41 +116,21 @@ module ActionView
121
116
  # named <tt>@content_for_#{name_of_the_content_block}</tt>. The preferred usage is now
122
117
  # <tt><%= yield :footer %></tt>.
123
118
  def content_for(name, content = nil, &block)
124
- existing_content_for = instance_variable_get("@content_for_#{name}").to_s
125
- new_content_for = existing_content_for + (block_given? ? capture(&block) : content)
126
- instance_variable_set("@content_for_#{name}", new_content_for)
119
+ ivar = "@content_for_#{name}"
120
+ content = capture(&block) if block_given?
121
+ instance_variable_set(ivar, "#{instance_variable_get(ivar)}#{content}")
122
+ nil
127
123
  end
128
124
 
129
- private
130
- def capture_block(*args, &block)
131
- block.call(*args)
132
- end
133
-
134
- def capture_erb(*args, &block)
135
- buffer = eval(ActionView::Base.erb_variable, block.binding)
136
- capture_erb_with_buffer(buffer, *args, &block)
137
- end
138
-
139
- def capture_erb_with_buffer(buffer, *args, &block)
140
- pos = buffer.length
141
- block.call(*args)
142
-
143
- # extract the block
144
- data = buffer[pos..-1]
145
-
146
- # replace it in the original with empty string
147
- buffer[pos..-1] = ''
148
-
149
- data
150
- end
151
-
152
- def erb_content_for(name, &block)
153
- eval "@content_for_#{name} = (@content_for_#{name} || '') + capture_erb(&block)"
154
- end
155
-
156
- def block_content_for(name, &block)
157
- eval "@content_for_#{name} = (@content_for_#{name} || '') + capture_block(&block)"
158
- end
125
+ # Use an alternate output buffer for the duration of the block.
126
+ # Defaults to a new empty string.
127
+ def with_output_buffer(buf = '') #:nodoc:
128
+ self.output_buffer, old_buffer = buf, output_buffer
129
+ yield
130
+ output_buffer
131
+ ensure
132
+ self.output_buffer = old_buffer
133
+ end
159
134
  end
160
135
  end
161
136
  end
@@ -3,18 +3,16 @@ require 'action_view/helpers/tag_helper'
3
3
 
4
4
  module ActionView
5
5
  module Helpers
6
- # The Date Helper primarily creates select/option tags for different kinds of dates and date elements. All of the select-type methods
7
- # share a number of common options that are as follows:
6
+ # The Date Helper primarily creates select/option tags for different kinds of dates and date elements. All of the
7
+ # select-type methods share a number of common options that are as follows:
8
8
  #
9
- # * <tt>:prefix</tt> - overwrites the default prefix of "date" used for the select names. So specifying "birthday" would give
10
- # birthday[month] instead of date[month] if passed to the select_month method.
9
+ # * <tt>:prefix</tt> - overwrites the default prefix of "date" used for the select names. So specifying "birthday"
10
+ # would give birthday[month] instead of date[month] if passed to the select_month method.
11
11
  # * <tt>:include_blank</tt> - set to true if it should be possible to set an empty date.
12
- # * <tt>:discard_type</tt> - set to true if you want to discard the type part of the select name. If set to true, the select_month
13
- # method would use simply "date" (which can be overwritten using <tt>:prefix</tt>) instead of "date[month]".
12
+ # * <tt>:discard_type</tt> - set to true if you want to discard the type part of the select name. If set to true,
13
+ # the select_month method would use simply "date" (which can be overwritten using <tt>:prefix</tt>) instead of
14
+ # "date[month]".
14
15
  module DateHelper
15
- include ActionView::Helpers::TagHelper
16
- DEFAULT_PREFIX = 'date' unless const_defined?('DEFAULT_PREFIX')
17
-
18
16
  # Reports the approximate distance in time between two Time or Date objects or integers as seconds.
19
17
  # Set <tt>include_seconds</tt> to true if you want more detailed approximations when distance < 1 min, 29 secs
20
18
  # Distances are reported based on the following table:
@@ -51,40 +49,45 @@ module ActionView
51
49
  # distance_of_time_in_words(from_time, from_time - 45.seconds, true) # => less than a minute
52
50
  # distance_of_time_in_words(from_time, 76.seconds.from_now) # => 1 minute
53
51
  # distance_of_time_in_words(from_time, from_time + 1.year + 3.days) # => about 1 year
54
- # distance_of_time_in_words(from_time, from_time + 4.years + 15.days + 30.minutes + 5.seconds) # => over 4 years
52
+ # distance_of_time_in_words(from_time, from_time + 4.years + 9.days + 30.minutes + 5.seconds) # => over 4 years
55
53
  #
56
54
  # to_time = Time.now + 6.years + 19.days
57
55
  # distance_of_time_in_words(from_time, to_time, true) # => over 6 years
58
56
  # distance_of_time_in_words(to_time, from_time, true) # => over 6 years
59
57
  # distance_of_time_in_words(Time.now, Time.now) # => less than a minute
60
58
  #
61
- def distance_of_time_in_words(from_time, to_time = 0, include_seconds = false)
59
+ def distance_of_time_in_words(from_time, to_time = 0, include_seconds = false, options = {})
62
60
  from_time = from_time.to_time if from_time.respond_to?(:to_time)
63
61
  to_time = to_time.to_time if to_time.respond_to?(:to_time)
64
62
  distance_in_minutes = (((to_time - from_time).abs)/60).round
65
63
  distance_in_seconds = ((to_time - from_time).abs).round
66
64
 
67
- case distance_in_minutes
68
- when 0..1
69
- return (distance_in_minutes == 0) ? 'less than a minute' : '1 minute' unless include_seconds
70
- case distance_in_seconds
71
- when 0..4 then 'less than 5 seconds'
72
- when 5..9 then 'less than 10 seconds'
73
- when 10..19 then 'less than 20 seconds'
74
- when 20..39 then 'half a minute'
75
- when 40..59 then 'less than a minute'
76
- else '1 minute'
77
- end
78
-
79
- when 2..44 then "#{distance_in_minutes} minutes"
80
- when 45..89 then 'about 1 hour'
81
- when 90..1439 then "about #{(distance_in_minutes.to_f / 60.0).round} hours"
82
- when 1440..2879 then '1 day'
83
- when 2880..43199 then "#{(distance_in_minutes / 1440).round} days"
84
- when 43200..86399 then 'about 1 month'
85
- when 86400..525599 then "#{(distance_in_minutes / 43200).round} months"
86
- when 525600..1051199 then 'about 1 year'
87
- else "over #{(distance_in_minutes / 525600).round} years"
65
+ I18n.with_options :locale => options[:locale], :scope => :'datetime.distance_in_words' do |locale|
66
+ case distance_in_minutes
67
+ when 0..1
68
+ return distance_in_minutes == 0 ?
69
+ locale.t(:less_than_x_minutes, :count => 1) :
70
+ locale.t(:x_minutes, :count => distance_in_minutes) unless include_seconds
71
+
72
+ case distance_in_seconds
73
+ when 0..4 then locale.t :less_than_x_seconds, :count => 5
74
+ when 5..9 then locale.t :less_than_x_seconds, :count => 10
75
+ when 10..19 then locale.t :less_than_x_seconds, :count => 20
76
+ when 20..39 then locale.t :half_a_minute
77
+ when 40..59 then locale.t :less_than_x_minutes, :count => 1
78
+ else locale.t :x_minutes, :count => 1
79
+ end
80
+
81
+ when 2..44 then locale.t :x_minutes, :count => distance_in_minutes
82
+ when 45..89 then locale.t :about_x_hours, :count => 1
83
+ when 90..1439 then locale.t :about_x_hours, :count => (distance_in_minutes.to_f / 60.0).round
84
+ when 1440..2879 then locale.t :x_days, :count => 1
85
+ when 2880..43199 then locale.t :x_days, :count => (distance_in_minutes / 1440).round
86
+ when 43200..86399 then locale.t :about_x_months, :count => 1
87
+ when 86400..525599 then locale.t :x_months, :count => (distance_in_minutes / 43200).round
88
+ when 525600..1051199 then locale.t :about_x_years, :count => 1
89
+ else locale.t :over_x_years, :count => (distance_in_minutes / 525600).round
90
+ end
88
91
  end
89
92
  end
90
93
 
@@ -102,17 +105,41 @@ module ActionView
102
105
 
103
106
  alias_method :distance_of_time_in_words_to_now, :time_ago_in_words
104
107
 
105
- # Returns a set of select tags (one for year, month, and day) pre-selected for accessing a specified date-based attribute (identified by
106
- # +method+) on an object assigned to the template (identified by +object+). It's possible to tailor the selects through the +options+ hash,
107
- # which accepts all the keys that each of the individual select builders do (like <tt>:use_month_numbers</tt> for select_month) as well as a range of
108
- # discard options. The discard options are <tt>:discard_year</tt>, <tt>:discard_month</tt> and <tt>:discard_day</tt>. Set to true, they'll
109
- # drop the respective select. Discarding the month select will also automatically discard the day select. It's also possible to explicitly
110
- # set the order of the tags using the <tt>:order</tt> option with an array of symbols <tt>:year</tt>, <tt>:month</tt> and <tt>:day</tt> in
111
- # the desired order. Symbols may be omitted and the respective select is not included.
112
- #
113
- # Pass the <tt>:default</tt> option to set the default date. Use a Time object or a Hash of <tt>:year</tt>, <tt>:month</tt>, <tt>:day</tt>, <tt>:hour</tt>, <tt>:minute</tt>, and <tt>:second</tt>.
114
- #
115
- # Passing <tt>:disabled => true</tt> as part of the +options+ will make elements inaccessible for change.
108
+ # Returns a set of select tags (one for year, month, and day) pre-selected for accessing a specified date-based
109
+ # attribute (identified by +method+) on an object assigned to the template (identified by +object+). You can
110
+ # the output in the +options+ hash.
111
+ #
112
+ # ==== Options
113
+ # * <tt>:use_month_numbers</tt> - Set to true if you want to use month numbers rather than month names (e.g.
114
+ # "2" instead of "February").
115
+ # * <tt>:use_short_month</tt> - Set to true if you want to use the abbreviated month name instead of the full
116
+ # name (e.g. "Feb" instead of "February").
117
+ # * <tt>:add_month_number</tt> - Set to true if you want to show both, the month's number and name (e.g.
118
+ # "2 - February" instead of "February").
119
+ # * <tt>:use_month_names</tt> - Set to an array with 12 month names if you want to customize month names.
120
+ # Note: You can also use Rails' new i18n functionality for this.
121
+ # * <tt>:date_separator</tt> - Specifies a string to separate the date fields. Default is "" (i.e. nothing).
122
+ # * <tt>:start_year</tt> - Set the start year for the year select. Default is <tt>Time.now.year - 5</tt>.
123
+ # * <tt>:end_year</tt> - Set the end year for the year select. Default is <tt>Time.now.year + 5</tt>.
124
+ # * <tt>:discard_day</tt> - Set to true if you don't want to show a day select. This includes the day
125
+ # as a hidden field instead of showing a select field. Also note that this implicitly sets the day to be the
126
+ # first of the given month in order to not create invalid dates like 31 February.
127
+ # * <tt>:discard_month</tt> - Set to true if you don't want to show a month select. This includes the month
128
+ # as a hidden field instead of showing a select field. Also note that this implicitly sets :discard_day to true.
129
+ # * <tt>:discard_year</tt> - Set to true if you don't want to show a year select. This includes the year
130
+ # as a hidden field instead of showing a select field.
131
+ # * <tt>:order</tt> - Set to an array containing <tt>:day</tt>, <tt>:month</tt> and <tt>:year</tt> do
132
+ # customize the order in which the select fields are shown. If you leave out any of the symbols, the respective
133
+ # select will not be shown (like when you set <tt>:discard_xxx => true</tt>. Defaults to the order defined in
134
+ # the respective locale (e.g. [:year, :month, :day] in the en locale that ships with Rails).
135
+ # * <tt>:include_blank</tt> - Include a blank option in every select field so it's possible to set empty
136
+ # dates.
137
+ # * <tt>:default</tt> - Set a default date if the affected date isn't set or is nil.
138
+ # * <tt>:disabled</tt> - Set to true if you want show the select fields as disabled.
139
+ # * <tt>:prompt</tt> - Set to true (for a generic prompt), a prompt string or a hash of prompt strings
140
+ # for <tt>:year</tt>, <tt>:month</tt>, <tt>:day</tt>, <tt>:hour</tt>, <tt>:minute</tt> and <tt>:second</tt>.
141
+ # Setting this option prepends a select option with a generic prompt (Day, Month, Year, Hour, Minute, Seconds)
142
+ # or the given prompt string.
116
143
  #
117
144
  # If anything is passed in the +html_options+ hash it will be applied to every select tag in the set.
118
145
  #
@@ -128,7 +155,7 @@ module ActionView
128
155
  #
129
156
  # # Generates a date select that when POSTed is stored in the post variable, in the written_on attribute,
130
157
  # # with the year in the year drop down box starting at 1995, numbers used for months instead of words,
131
- # # and without a day select box.
158
+ # # and without a day select box.
132
159
  # date_select("post", "written_on", :start_year => 1995, :use_month_numbers => true,
133
160
  # :discard_day => true, :include_blank => true)
134
161
  #
@@ -148,80 +175,100 @@ module ActionView
148
175
  # # that will have a default day of 20.
149
176
  # date_select("credit_card", "bill_due", :default => { :day => 20 })
150
177
  #
178
+ # # Generates a date select with custom prompts
179
+ # date_select("post", "written_on", :prompt => { :day => 'Select day', :month => 'Select month', :year => 'Select year' })
180
+ #
151
181
  # The selects are prepared for multi-parameter assignment to an Active Record object.
152
182
  #
153
- # Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that all month
154
- # choices are valid.
183
+ # Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that
184
+ # all month choices are valid.
155
185
  def date_select(object_name, method, options = {}, html_options = {})
156
- InstanceTag.new(object_name, method, self, nil, options.delete(:object)).to_date_select_tag(options, html_options)
186
+ InstanceTag.new(object_name, method, self, options.delete(:object)).to_date_select_tag(options, html_options)
157
187
  end
158
188
 
159
- # Returns a set of select tags (one for hour, minute and optionally second) pre-selected for accessing a specified
160
- # time-based attribute (identified by +method+) on an object assigned to the template (identified by +object+).
161
- # You can include the seconds with <tt>:include_seconds</tt>.
162
- #
189
+ # Returns a set of select tags (one for hour, minute and optionally second) pre-selected for accessing a
190
+ # specified time-based attribute (identified by +method+) on an object assigned to the template (identified by
191
+ # +object+). You can include the seconds with <tt>:include_seconds</tt>.
192
+ #
193
+ # This method will also generate 3 input hidden tags, for the actual year, month and day unless the option
194
+ # <tt>:ignore_date</tt> is set to +true+.
195
+ #
163
196
  # If anything is passed in the html_options hash it will be applied to every select tag in the set.
164
197
  #
165
198
  # ==== Examples
166
199
  # # Creates a time select tag that, when POSTed, will be stored in the post variable in the sunrise attribute
167
200
  # time_select("post", "sunrise")
168
201
  #
169
- # # Creates a time select tag that, when POSTed, will be stored in the order variable in the submitted attribute
202
+ # # Creates a time select tag that, when POSTed, will be stored in the order variable in the submitted
203
+ # # attribute
170
204
  # time_select("order", "submitted")
171
205
  #
172
206
  # # Creates a time select tag that, when POSTed, will be stored in the mail variable in the sent_at attribute
173
207
  # time_select("mail", "sent_at")
174
208
  #
175
- # # Creates a time select tag with a seconds field that, when POSTed, will be stored in the post variables in
176
- # # the sunrise attribute.
209
+ # # Creates a time select tag with a seconds field that, when POSTed, will be stored in the post variables in
210
+ # # the sunrise attribute.
177
211
  # time_select("post", "start_time", :include_seconds => true)
178
212
  #
179
- # # Creates a time select tag with a seconds field that, when POSTed, will be stored in the entry variables in
180
- # # the submission_time attribute.
213
+ # # Creates a time select tag with a seconds field that, when POSTed, will be stored in the entry variables in
214
+ # # the submission_time attribute.
181
215
  # time_select("entry", "submission_time", :include_seconds => true)
182
216
  #
183
217
  # # You can set the :minute_step to 15 which will give you: 00, 15, 30 and 45.
184
218
  # time_select 'game', 'game_time', {:minute_step => 15}
185
219
  #
220
+ # # Creates a time select tag with a custom prompt. Use :prompt => true for generic prompts.
221
+ # time_select("post", "written_on", :prompt => {:hour => 'Choose hour', :minute => 'Choose minute', :second => 'Choose seconds'})
222
+ # time_select("post", "written_on", :prompt => {:hour => true}) # generic prompt for hours
223
+ # time_select("post", "written_on", :prompt => true) # generic prompts for all
224
+ #
186
225
  # The selects are prepared for multi-parameter assignment to an Active Record object.
187
226
  #
188
- # Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that all month
189
- # choices are valid.
227
+ # Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that
228
+ # all month choices are valid.
190
229
  def time_select(object_name, method, options = {}, html_options = {})
191
- InstanceTag.new(object_name, method, self, nil, options.delete(:object)).to_time_select_tag(options, html_options)
230
+ InstanceTag.new(object_name, method, self, options.delete(:object)).to_time_select_tag(options, html_options)
192
231
  end
193
232
 
194
- # Returns a set of select tags (one for year, month, day, hour, and minute) pre-selected for accessing a specified datetime-based
195
- # attribute (identified by +method+) on an object assigned to the template (identified by +object+). Examples:
233
+ # Returns a set of select tags (one for year, month, day, hour, and minute) pre-selected for accessing a
234
+ # specified datetime-based attribute (identified by +method+) on an object assigned to the template (identified
235
+ # by +object+). Examples:
196
236
  #
197
237
  # If anything is passed in the html_options hash it will be applied to every select tag in the set.
198
238
  #
199
239
  # ==== Examples
200
- # # Generates a datetime select that, when POSTed, will be stored in the post variable in the written_on attribute
240
+ # # Generates a datetime select that, when POSTed, will be stored in the post variable in the written_on
241
+ # # attribute
201
242
  # datetime_select("post", "written_on")
202
243
  #
203
- # # Generates a datetime select with a year select that starts at 1995 that, when POSTed, will be stored in the
244
+ # # Generates a datetime select with a year select that starts at 1995 that, when POSTed, will be stored in the
204
245
  # # post variable in the written_on attribute.
205
246
  # datetime_select("post", "written_on", :start_year => 1995)
206
247
  #
207
- # # Generates a datetime select with a default value of 3 days from the current time that, when POSTed, will be stored in the
208
- # # trip variable in the departing attribute.
248
+ # # Generates a datetime select with a default value of 3 days from the current time that, when POSTed, will
249
+ # # be stored in the trip variable in the departing attribute.
209
250
  # datetime_select("trip", "departing", :default => 3.days.from_now)
210
251
  #
211
- # # Generates a datetime select that discards the type that, when POSTed, will be stored in the post variable as the written_on
212
- # # attribute.
252
+ # # Generates a datetime select that discards the type that, when POSTed, will be stored in the post variable
253
+ # # as the written_on attribute.
213
254
  # datetime_select("post", "written_on", :discard_type => true)
214
255
  #
256
+ # # Generates a datetime select with a custom prompt. Use :prompt=>true for generic prompts.
257
+ # datetime_select("post", "written_on", :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'})
258
+ # datetime_select("post", "written_on", :prompt => {:hour => true}) # generic prompt for hours
259
+ # datetime_select("post", "written_on", :prompt => true) # generic prompts for all
260
+ #
215
261
  # The selects are prepared for multi-parameter assignment to an Active Record object.
216
262
  def datetime_select(object_name, method, options = {}, html_options = {})
217
- InstanceTag.new(object_name, method, self, nil, options.delete(:object)).to_datetime_select_tag(options, html_options)
263
+ InstanceTag.new(object_name, method, self, options.delete(:object)).to_datetime_select_tag(options, html_options)
218
264
  end
219
265
 
220
- # Returns a set of html select-tags (one for year, month, day, hour, and minute) pre-selected with the +datetime+.
221
- # It's also possible to explicitly set the order of the tags using the <tt>:order</tt> option with an array of
222
- # symbols <tt>:year</tt>, <tt>:month</tt> and <tt>:day</tt> in the desired order. If you do not supply a Symbol, it
223
- # will be appended onto the <tt>:order</tt> passed in. You can also add <tt>:date_separator</tt> and <tt>:time_separator</tt>
224
- # keys to the +options+ to control visual display of the elements.
266
+ # Returns a set of html select-tags (one for year, month, day, hour, and minute) pre-selected with the
267
+ # +datetime+. It's also possible to explicitly set the order of the tags using the <tt>:order</tt> option with
268
+ # an array of symbols <tt>:year</tt>, <tt>:month</tt> and <tt>:day</tt> in the desired order. If you do not
269
+ # supply a Symbol, it will be appended onto the <tt>:order</tt> passed in. You can also add
270
+ # <tt>:date_separator</tt>, <tt>:datetime_separator</tt> and <tt>:time_separator</tt> keys to the +options+ to
271
+ # control visual display of the elements.
225
272
  #
226
273
  # If anything is passed in the html_options hash it will be applied to every select tag in the set.
227
274
  #
@@ -242,7 +289,12 @@ module ActionView
242
289
  # # with a '/' between each date field.
243
290
  # select_datetime(my_date_time, :date_separator => '/')
244
291
  #
245
- # # Generates a datetime select that discards the type of the field and defaults to the datetime in
292
+ # # Generates a datetime select that defaults to the datetime in my_date_time (four days after today)
293
+ # # with a date fields separated by '/', time fields separated by '' and the date and time fields
294
+ # # separated by a comma (',').
295
+ # select_datetime(my_date_time, :date_separator => '/', :time_separator => '', :datetime_separator => ',')
296
+ #
297
+ # # Generates a datetime select that discards the type of the field and defaults to the datetime in
246
298
  # # my_date_time (four days after today)
247
299
  # select_datetime(my_date_time, :discard_type => true)
248
300
  #
@@ -250,15 +302,19 @@ module ActionView
250
302
  # # prefixed with 'payday' rather than 'date'
251
303
  # select_datetime(my_date_time, :prefix => 'payday')
252
304
  #
305
+ # # Generates a datetime select with a custom prompt. Use :prompt=>true for generic prompts.
306
+ # select_datetime(my_date_time, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'})
307
+ # select_datetime(my_date_time, :prompt => {:hour => true}) # generic prompt for hours
308
+ # select_datetime(my_date_time, :prompt => true) # generic prompts for all
309
+ #
253
310
  def select_datetime(datetime = Time.current, options = {}, html_options = {})
254
- separator = options[:datetime_separator] || ''
255
- select_date(datetime, options, html_options) + separator + select_time(datetime, options, html_options)
256
- end
311
+ DateTimeSelector.new(datetime, options, html_options).select_datetime
312
+ end
257
313
 
258
314
  # Returns a set of html select-tags (one for year, month, and day) pre-selected with the +date+.
259
315
  # It's possible to explicitly set the order of the tags using the <tt>:order</tt> option with an array of
260
- # symbols <tt>:year</tt>, <tt>:month</tt> and <tt>:day</tt> in the desired order. If you do not supply a Symbol, it
261
- # will be appended onto the <tt>:order</tt> passed in.
316
+ # symbols <tt>:year</tt>, <tt>:month</tt> and <tt>:day</tt> in the desired order. If you do not supply a Symbol,
317
+ # it will be appended onto the <tt>:order</tt> passed in.
262
318
  #
263
319
  # If anything is passed in the html_options hash it will be applied to every select tag in the set.
264
320
  #
@@ -275,27 +331,29 @@ module ActionView
275
331
  # # with the fields ordered year, month, day rather than month, day, year.
276
332
  # select_date(my_date, :order => [:year, :month, :day])
277
333
  #
278
- # # Generates a date select that discards the type of the field and defaults to the date in
334
+ # # Generates a date select that discards the type of the field and defaults to the date in
279
335
  # # my_date (six days after today)
280
- # select_datetime(my_date_time, :discard_type => true)
336
+ # select_date(my_date, :discard_type => true)
337
+ #
338
+ # # Generates a date select that defaults to the date in my_date,
339
+ # # which has fields separated by '/'
340
+ # select_date(my_date, :date_separator => '/')
281
341
  #
282
342
  # # Generates a date select that defaults to the datetime in my_date (six days after today)
283
343
  # # prefixed with 'payday' rather than 'date'
284
- # select_datetime(my_date_time, :prefix => 'payday')
344
+ # select_date(my_date, :prefix => 'payday')
345
+ #
346
+ # # Generates a date select with a custom prompt. Use :prompt=>true for generic prompts.
347
+ # select_date(my_date, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'})
348
+ # select_date(my_date, :prompt => {:hour => true}) # generic prompt for hours
349
+ # select_date(my_date, :prompt => true) # generic prompts for all
285
350
  #
286
351
  def select_date(date = Date.current, options = {}, html_options = {})
287
- options[:order] ||= []
288
- [:year, :month, :day].each { |o| options[:order].push(o) unless options[:order].include?(o) }
289
-
290
- select_date = ''
291
- options[:order].each do |o|
292
- select_date << self.send("select_#{o}", date, options, html_options)
293
- end
294
- select_date
352
+ DateTimeSelector.new(date, options, html_options).select_date
295
353
  end
296
354
 
297
355
  # Returns a set of html select-tags (one for hour and minute)
298
- # You can set <tt>:time_separator</tt> key to format the output, and
356
+ # You can set <tt>:time_separator</tt> key to format the output, and
299
357
  # the <tt>:include_seconds</tt> option to include an input for seconds.
300
358
  #
301
359
  # If anything is passed in the html_options hash it will be applied to every select tag in the set.
@@ -310,7 +368,7 @@ module ActionView
310
368
  # select_time()
311
369
  #
312
370
  # # Generates a time select that defaults to the time in my_time,
313
- # # which has fields separated by ':'
371
+ # # which has fields separated by ':'
314
372
  # select_time(my_time, :time_separator => ':')
315
373
  #
316
374
  # # Generates a time select that defaults to the time in my_time,
@@ -321,9 +379,13 @@ module ActionView
321
379
  # # separated by ':' and includes an input for seconds
322
380
  # select_time(my_time, :time_separator => ':', :include_seconds => true)
323
381
  #
382
+ # # Generates a time select with a custom prompt. Use :prompt=>true for generic prompts.
383
+ # select_time(my_time, :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'})
384
+ # select_time(my_time, :prompt => {:hour => true}) # generic prompt for hours
385
+ # select_time(my_time, :prompt => true) # generic prompts for all
386
+ #
324
387
  def select_time(datetime = Time.current, options = {}, html_options = {})
325
- separator = options[:time_separator] || ''
326
- select_hour(datetime, options, html_options) + separator + select_minute(datetime, options, html_options) + (options[:include_seconds] ? separator + select_second(datetime, options, html_options) : '')
388
+ DateTimeSelector.new(datetime, options, html_options).select_time
327
389
  end
328
390
 
329
391
  # Returns a select tag with options for each of the seconds 0 through 59 with the current second selected.
@@ -338,31 +400,22 @@ module ActionView
338
400
  #
339
401
  # # Generates a select field for seconds that defaults to the number given
340
402
  # select_second(33)
341
- #
403
+ #
342
404
  # # Generates a select field for seconds that defaults to the seconds for the time in my_time
343
405
  # # that is named 'interval' rather than 'second'
344
406
  # select_second(my_time, :field_name => 'interval')
345
407
  #
408
+ # # Generates a select field for seconds with a custom prompt. Use :prompt=>true for a
409
+ # # generic prompt.
410
+ # select_minute(14, :prompt => 'Choose seconds')
411
+ #
346
412
  def select_second(datetime, options = {}, html_options = {})
347
- val = datetime ? (datetime.kind_of?(Fixnum) ? datetime : datetime.sec) : ''
348
- if options[:use_hidden]
349
- options[:include_seconds] ? hidden_html(options[:field_name] || 'second', val, options) : ''
350
- else
351
- second_options = []
352
- 0.upto(59) do |second|
353
- second_options << ((val == second) ?
354
- content_tag(:option, leading_zero_on_single_digits(second), :value => leading_zero_on_single_digits(second), :selected => "selected") :
355
- content_tag(:option, leading_zero_on_single_digits(second), :value => leading_zero_on_single_digits(second))
356
- )
357
- second_options << "\n"
358
- end
359
- select_html(options[:field_name] || 'second', second_options.join, options, html_options)
360
- end
413
+ DateTimeSelector.new(datetime, options, html_options).select_second
361
414
  end
362
415
 
363
416
  # Returns a select tag with options for each of the minutes 0 through 59 with the current minute selected.
364
- # Also can return a select tag with options by <tt>minute_step</tt> from 0 through 59 with the 00 minute selected
365
- # The <tt>minute</tt> can also be substituted for a minute number.
417
+ # Also can return a select tag with options by <tt>minute_step</tt> from 0 through 59 with the 00 minute
418
+ # selected. The <tt>minute</tt> can also be substituted for a minute number.
366
419
  # Override the field name using the <tt>:field_name</tt> option, 'minute' by default.
367
420
  #
368
421
  # ==== Examples
@@ -373,26 +426,17 @@ module ActionView
373
426
  #
374
427
  # # Generates a select field for minutes that defaults to the number given
375
428
  # select_minute(14)
376
- #
429
+ #
377
430
  # # Generates a select field for minutes that defaults to the minutes for the time in my_time
378
431
  # # that is named 'stride' rather than 'second'
379
432
  # select_minute(my_time, :field_name => 'stride')
380
433
  #
434
+ # # Generates a select field for minutes with a custom prompt. Use :prompt=>true for a
435
+ # # generic prompt.
436
+ # select_minute(14, :prompt => 'Choose minutes')
437
+ #
381
438
  def select_minute(datetime, options = {}, html_options = {})
382
- val = datetime ? (datetime.kind_of?(Fixnum) ? datetime : datetime.min) : ''
383
- if options[:use_hidden]
384
- hidden_html(options[:field_name] || 'minute', val, options)
385
- else
386
- minute_options = []
387
- 0.step(59, options[:minute_step] || 1) do |minute|
388
- minute_options << ((val == minute) ?
389
- content_tag(:option, leading_zero_on_single_digits(minute), :value => leading_zero_on_single_digits(minute), :selected => "selected") :
390
- content_tag(:option, leading_zero_on_single_digits(minute), :value => leading_zero_on_single_digits(minute))
391
- )
392
- minute_options << "\n"
393
- end
394
- select_html(options[:field_name] || 'minute', minute_options.join, options, html_options)
395
- end
439
+ DateTimeSelector.new(datetime, options, html_options).select_minute
396
440
  end
397
441
 
398
442
  # Returns a select tag with options for each of the hours 0 through 23 with the current hour selected.
@@ -402,31 +446,22 @@ module ActionView
402
446
  # ==== Examples
403
447
  # my_time = Time.now + 6.hours
404
448
  #
405
- # # Generates a select field for minutes that defaults to the minutes for the time in my_time
406
- # select_minute(my_time)
449
+ # # Generates a select field for hours that defaults to the hour for the time in my_time
450
+ # select_hour(my_time)
407
451
  #
408
- # # Generates a select field for minutes that defaults to the number given
409
- # select_minute(14)
410
- #
411
- # # Generates a select field for minutes that defaults to the minutes for the time in my_time
452
+ # # Generates a select field for hours that defaults to the number given
453
+ # select_hour(13)
454
+ #
455
+ # # Generates a select field for hours that defaults to the minutes for the time in my_time
412
456
  # # that is named 'stride' rather than 'second'
413
- # select_minute(my_time, :field_name => 'stride')
457
+ # select_hour(my_time, :field_name => 'stride')
458
+ #
459
+ # # Generates a select field for hours with a custom prompt. Use :prompt => true for a
460
+ # # generic prompt.
461
+ # select_hour(13, :prompt =>'Choose hour')
414
462
  #
415
463
  def select_hour(datetime, options = {}, html_options = {})
416
- val = datetime ? (datetime.kind_of?(Fixnum) ? datetime : datetime.hour) : ''
417
- if options[:use_hidden]
418
- hidden_html(options[:field_name] || 'hour', val, options)
419
- else
420
- hour_options = []
421
- 0.upto(23) do |hour|
422
- hour_options << ((val == hour) ?
423
- content_tag(:option, leading_zero_on_single_digits(hour), :value => leading_zero_on_single_digits(hour), :selected => "selected") :
424
- content_tag(:option, leading_zero_on_single_digits(hour), :value => leading_zero_on_single_digits(hour))
425
- )
426
- hour_options << "\n"
427
- end
428
- select_html(options[:field_name] || 'hour', hour_options.join, options, html_options)
429
- end
464
+ DateTimeSelector.new(datetime, options, html_options).select_hour
430
465
  end
431
466
 
432
467
  # Returns a select tag with options for each of the days 1 through 31 with the current day selected.
@@ -441,36 +476,27 @@ module ActionView
441
476
  #
442
477
  # # Generates a select field for days that defaults to the number given
443
478
  # select_day(5)
444
- #
479
+ #
445
480
  # # Generates a select field for days that defaults to the day for the date in my_date
446
481
  # # that is named 'due' rather than 'day'
447
482
  # select_day(my_time, :field_name => 'due')
448
483
  #
484
+ # # Generates a select field for days with a custom prompt. Use :prompt => true for a
485
+ # # generic prompt.
486
+ # select_day(5, :prompt => 'Choose day')
487
+ #
449
488
  def select_day(date, options = {}, html_options = {})
450
- val = date ? (date.kind_of?(Fixnum) ? date : date.day) : ''
451
- if options[:use_hidden]
452
- hidden_html(options[:field_name] || 'day', val, options)
453
- else
454
- day_options = []
455
- 1.upto(31) do |day|
456
- day_options << ((val == day) ?
457
- content_tag(:option, day, :value => day, :selected => "selected") :
458
- content_tag(:option, day, :value => day)
459
- )
460
- day_options << "\n"
461
- end
462
- select_html(options[:field_name] || 'day', day_options.join, options, html_options)
463
- end
489
+ DateTimeSelector.new(date, options, html_options).select_day
464
490
  end
465
491
 
466
- # Returns a select tag with options for each of the months January through December with the current month selected.
467
- # The month names are presented as keys (what's shown to the user) and the month numbers (1-12) are used as values
468
- # (what's submitted to the server). It's also possible to use month numbers for the presentation instead of names --
469
- # set the <tt>:use_month_numbers</tt> key in +options+ to true for this to happen. If you want both numbers and names,
470
- # set the <tt>:add_month_numbers</tt> key in +options+ to true. If you would prefer to show month names as abbreviations,
471
- # set the <tt>:use_short_month</tt> key in +options+ to true. If you want to use your own month names, set the
472
- # <tt>:use_month_names</tt> key in +options+ to an array of 12 month names. Override the field name using the
473
- # <tt>:field_name</tt> option, 'month' by default.
492
+ # Returns a select tag with options for each of the months January through December with the current month
493
+ # selected. The month names are presented as keys (what's shown to the user) and the month numbers (1-12) are
494
+ # used as values (what's submitted to the server). It's also possible to use month numbers for the presentation
495
+ # instead of names -- set the <tt>:use_month_numbers</tt> key in +options+ to true for this to happen. If you
496
+ # want both numbers and names, set the <tt>:add_month_numbers</tt> key in +options+ to true. If you would prefer
497
+ # to show month names as abbreviations, set the <tt>:use_short_month</tt> key in +options+ to true. If you want
498
+ # to use your own month names, set the <tt>:use_month_names</tt> key in +options+ to an array of 12 month names.
499
+ # Override the field name using the <tt>:field_name</tt> option, 'month' by default.
474
500
  #
475
501
  # ==== Examples
476
502
  # # Generates a select field for months that defaults to the current month that
@@ -482,7 +508,7 @@ module ActionView
482
508
  # select_month(Date.today, :field_name => 'start')
483
509
  #
484
510
  # # Generates a select field for months that defaults to the current month that
485
- # # will use keys like "1", "3".
511
+ # # will use keys like "1", "3".
486
512
  # select_month(Date.today, :use_month_numbers => true)
487
513
  #
488
514
  # # Generates a select field for months that defaults to the current month that
@@ -497,37 +523,19 @@ module ActionView
497
523
  # # will use keys like "Januar", "Marts."
498
524
  # select_month(Date.today, :use_month_names => %w(Januar Februar Marts ...))
499
525
  #
526
+ # # Generates a select field for months with a custom prompt. Use :prompt => true for a
527
+ # # generic prompt.
528
+ # select_month(14, :prompt => 'Choose month')
529
+ #
500
530
  def select_month(date, options = {}, html_options = {})
501
- val = date ? (date.kind_of?(Fixnum) ? date : date.month) : ''
502
- if options[:use_hidden]
503
- hidden_html(options[:field_name] || 'month', val, options)
504
- else
505
- month_options = []
506
- month_names = options[:use_month_names] || (options[:use_short_month] ? Date::ABBR_MONTHNAMES : Date::MONTHNAMES)
507
- month_names.unshift(nil) if month_names.size < 13
508
- 1.upto(12) do |month_number|
509
- month_name = if options[:use_month_numbers]
510
- month_number
511
- elsif options[:add_month_numbers]
512
- month_number.to_s + ' - ' + month_names[month_number]
513
- else
514
- month_names[month_number]
515
- end
516
-
517
- month_options << ((val == month_number) ?
518
- content_tag(:option, month_name, :value => month_number, :selected => "selected") :
519
- content_tag(:option, month_name, :value => month_number)
520
- )
521
- month_options << "\n"
522
- end
523
- select_html(options[:field_name] || 'month', month_options.join, options, html_options)
524
- end
531
+ DateTimeSelector.new(date, options, html_options).select_month
525
532
  end
526
533
 
527
- # Returns a select tag with options for each of the five years on each side of the current, which is selected. The five year radius
528
- # can be changed using the <tt>:start_year</tt> and <tt>:end_year</tt> keys in the +options+. Both ascending and descending year
529
- # lists are supported by making <tt>:start_year</tt> less than or greater than <tt>:end_year</tt>. The <tt>date</tt> can also be
530
- # substituted for a year given as a number. Override the field name using the <tt>:field_name</tt> option, 'year' by default.
534
+ # Returns a select tag with options for each of the five years on each side of the current, which is selected.
535
+ # The five year radius can be changed using the <tt>:start_year</tt> and <tt>:end_year</tt> keys in the
536
+ # +options+. Both ascending and descending year lists are supported by making <tt>:start_year</tt> less than or
537
+ # greater than <tt>:end_year</tt>. The <tt>date</tt> can also be substituted for a year given as a number.
538
+ # Override the field name using the <tt>:field_name</tt> option, 'year' by default.
531
539
  #
532
540
  # ==== Examples
533
541
  # # Generates a select field for years that defaults to the current year that
@@ -546,165 +554,422 @@ module ActionView
546
554
  # # has ascending year values
547
555
  # select_year(2006, :start_year => 2000, :end_year => 2010)
548
556
  #
557
+ # # Generates a select field for years with a custom prompt. Use :prompt => true for a
558
+ # # generic prompt.
559
+ # select_year(14, :prompt => 'Choose year')
560
+ #
549
561
  def select_year(date, options = {}, html_options = {})
550
- val = date ? (date.kind_of?(Fixnum) ? date : date.year) : ''
551
- if options[:use_hidden]
552
- hidden_html(options[:field_name] || 'year', val, options)
553
- else
554
- year_options = []
555
- y = date ? (date.kind_of?(Fixnum) ? (y = (date == 0) ? Date.today.year : date) : date.year) : Date.today.year
556
-
557
- start_year, end_year = (options[:start_year] || y-5), (options[:end_year] || y+5)
558
- step_val = start_year < end_year ? 1 : -1
559
- start_year.step(end_year, step_val) do |year|
560
- year_options << ((val == year) ?
561
- content_tag(:option, year, :value => year, :selected => "selected") :
562
- content_tag(:option, year, :value => year)
563
- )
564
- year_options << "\n"
562
+ DateTimeSelector.new(date, options, html_options).select_year
563
+ end
564
+ end
565
+
566
+ class DateTimeSelector #:nodoc:
567
+ extend ActiveSupport::Memoizable
568
+ include ActionView::Helpers::TagHelper
569
+
570
+ DEFAULT_PREFIX = 'date'.freeze unless const_defined?('DEFAULT_PREFIX')
571
+ POSITION = {
572
+ :year => 1, :month => 2, :day => 3, :hour => 4, :minute => 5, :second => 6
573
+ }.freeze unless const_defined?('POSITION')
574
+
575
+ def initialize(datetime, options = {}, html_options = {})
576
+ @options = options.dup
577
+ @html_options = html_options.dup
578
+ @datetime = datetime
579
+ end
580
+
581
+ def select_datetime
582
+ # TODO: Remove tag conditional
583
+ # Ideally we could just join select_date and select_date for the tag case
584
+ if @options[:tag] && @options[:ignore_date]
585
+ select_time
586
+ elsif @options[:tag]
587
+ order = date_order.dup
588
+ order -= [:hour, :minute, :second]
589
+
590
+ @options[:discard_year] ||= true unless order.include?(:year)
591
+ @options[:discard_month] ||= true unless order.include?(:month)
592
+ @options[:discard_day] ||= true if @options[:discard_month] || !order.include?(:day)
593
+ @options[:discard_minute] ||= true if @options[:discard_hour]
594
+ @options[:discard_second] ||= true unless @options[:include_seconds] && !@options[:discard_minute]
595
+
596
+ # If the day is hidden and the month is visible, the day should be set to the 1st so all month choices are
597
+ # valid (otherwise it could be 31 and february wouldn't be a valid date)
598
+ if @datetime && @options[:discard_day] && !@options[:discard_month]
599
+ @datetime = @datetime.change(:day => 1)
565
600
  end
566
- select_html(options[:field_name] || 'year', year_options.join, options, html_options)
601
+
602
+ [:day, :month, :year].each { |o| order.unshift(o) unless order.include?(o) }
603
+ order += [:hour, :minute, :second] unless @options[:discard_hour]
604
+
605
+ build_selects_from_types(order)
606
+ else
607
+ "#{select_date}#{@options[:datetime_separator]}#{select_time}"
567
608
  end
568
609
  end
569
610
 
570
- private
611
+ def select_date
612
+ order = date_order.dup
571
613
 
572
- def select_html(type, html_options, options, select_tag_options = {})
573
- name_and_id_from_options(options, type)
574
- select_options = {:id => options[:id], :name => options[:name]}
575
- select_options.merge!(:disabled => 'disabled') if options[:disabled]
576
- select_options.merge!(select_tag_options) unless select_tag_options.empty?
577
- select_html = "\n"
578
- select_html << content_tag(:option, '', :value => '') + "\n" if options[:include_blank]
579
- select_html << html_options.to_s
580
- content_tag(:select, select_html, select_options) + "\n"
614
+ # TODO: Remove tag conditional
615
+ if @options[:tag]
616
+ @options[:discard_hour] = true
617
+ @options[:discard_minute] = true
618
+ @options[:discard_second] = true
619
+
620
+ @options[:discard_year] ||= true unless order.include?(:year)
621
+ @options[:discard_month] ||= true unless order.include?(:month)
622
+ @options[:discard_day] ||= true if @options[:discard_month] || !order.include?(:day)
623
+
624
+ # If the day is hidden and the month is visible, the day should be set to the 1st so all month choices are
625
+ # valid (otherwise it could be 31 and february wouldn't be a valid date)
626
+ if @datetime && @options[:discard_day] && !@options[:discard_month]
627
+ @datetime = @datetime.change(:day => 1)
628
+ end
581
629
  end
582
630
 
583
- def hidden_html(type, value, options)
584
- name_and_id_from_options(options, type)
585
- hidden_html = tag(:input, :type => "hidden", :id => options[:id], :name => options[:name], :value => value) + "\n"
631
+ [:day, :month, :year].each { |o| order.unshift(o) unless order.include?(o) }
632
+
633
+ build_selects_from_types(order)
634
+ end
635
+
636
+ def select_time
637
+ order = []
638
+
639
+ # TODO: Remove tag conditional
640
+ if @options[:tag]
641
+ @options[:discard_month] = true
642
+ @options[:discard_year] = true
643
+ @options[:discard_day] = true
644
+ @options[:discard_second] ||= true unless @options[:include_seconds]
645
+
646
+ order += [:year, :month, :day] unless @options[:ignore_date]
586
647
  end
587
648
 
588
- def name_and_id_from_options(options, type)
589
- options[:name] = (options[:prefix] || DEFAULT_PREFIX) + (options[:discard_type] ? '' : "[#{type}]")
590
- options[:id] = options[:name].gsub(/([\[\(])|(\]\[)/, '_').gsub(/[\]\)]/, '')
649
+ order += [:hour, :minute]
650
+ order << :second if @options[:include_seconds]
651
+
652
+ build_selects_from_types(order)
653
+ end
654
+
655
+ def select_second
656
+ if @options[:use_hidden] || @options[:discard_second]
657
+ build_hidden(:second, sec) if @options[:include_seconds]
658
+ else
659
+ build_options_and_select(:second, sec)
591
660
  end
661
+ end
592
662
 
593
- def leading_zero_on_single_digits(number)
594
- number > 9 ? number : "0#{number}"
663
+ def select_minute
664
+ if @options[:use_hidden] || @options[:discard_minute]
665
+ build_hidden(:minute, min)
666
+ else
667
+ build_options_and_select(:minute, min, :step => @options[:minute_step])
595
668
  end
596
- end
669
+ end
597
670
 
598
- class InstanceTag #:nodoc:
599
- include DateHelper
671
+ def select_hour
672
+ if @options[:use_hidden] || @options[:discard_hour]
673
+ build_hidden(:hour, hour)
674
+ else
675
+ build_options_and_select(:hour, hour, :end => 23)
676
+ end
677
+ end
600
678
 
601
- def to_date_select_tag(options = {}, html_options = {})
602
- date_or_time_select(options.merge(:discard_hour => true), html_options)
679
+ def select_day
680
+ if @options[:use_hidden] || @options[:discard_day]
681
+ build_hidden(:day, day)
682
+ else
683
+ build_options_and_select(:day, day, :start => 1, :end => 31, :leading_zeros => false)
684
+ end
603
685
  end
604
686
 
605
- def to_time_select_tag(options = {}, html_options = {})
606
- date_or_time_select(options.merge(:discard_year => true, :discard_month => true), html_options)
687
+ def select_month
688
+ if @options[:use_hidden] || @options[:discard_month]
689
+ build_hidden(:month, month)
690
+ else
691
+ month_options = []
692
+ 1.upto(12) do |month_number|
693
+ options = { :value => month_number }
694
+ options[:selected] = "selected" if month == month_number
695
+ month_options << content_tag(:option, month_name(month_number), options) + "\n"
696
+ end
697
+ build_select(:month, month_options.join)
698
+ end
607
699
  end
608
700
 
609
- def to_datetime_select_tag(options = {}, html_options = {})
610
- date_or_time_select(options, html_options)
701
+ def select_year
702
+ if !@datetime || @datetime == 0
703
+ val = ''
704
+ middle_year = Date.today.year
705
+ else
706
+ val = middle_year = year
707
+ end
708
+
709
+ if @options[:use_hidden] || @options[:discard_year]
710
+ build_hidden(:year, val)
711
+ else
712
+ options = {}
713
+ options[:start] = @options[:start_year] || middle_year - 5
714
+ options[:end] = @options[:end_year] || middle_year + 5
715
+ options[:step] = options[:start] < options[:end] ? 1 : -1
716
+ options[:leading_zeros] = false
717
+
718
+ build_options_and_select(:year, val, options)
719
+ end
611
720
  end
612
721
 
613
722
  private
614
- def date_or_time_select(options, html_options = {})
615
- defaults = { :discard_type => true }
616
- options = defaults.merge(options)
617
- datetime = value(object)
618
- datetime ||= default_time_from_options(options[:default]) unless options[:include_blank]
619
-
620
- position = { :year => 1, :month => 2, :day => 3, :hour => 4, :minute => 5, :second => 6 }
621
-
622
- order = (options[:order] ||= [:year, :month, :day])
623
-
624
- # Discard explicit and implicit by not being included in the :order
625
- discard = {}
626
- discard[:year] = true if options[:discard_year] or !order.include?(:year)
627
- discard[:month] = true if options[:discard_month] or !order.include?(:month)
628
- discard[:day] = true if options[:discard_day] or discard[:month] or !order.include?(:day)
629
- discard[:hour] = true if options[:discard_hour]
630
- discard[:minute] = true if options[:discard_minute] or discard[:hour]
631
- discard[:second] = true unless options[:include_seconds] && !discard[:minute]
632
-
633
- # If the day is hidden and the month is visible, the day should be set to the 1st so all month choices are valid
634
- # (otherwise it could be 31 and february wouldn't be a valid date)
635
- if datetime && discard[:day] && !discard[:month]
636
- datetime = datetime.change(:day => 1)
723
+ %w( sec min hour day month year ).each do |method|
724
+ define_method(method) do
725
+ @datetime.kind_of?(Fixnum) ? @datetime : @datetime.send(method) if @datetime
637
726
  end
727
+ end
638
728
 
639
- # Maintain valid dates by including hidden fields for discarded elements
640
- [:day, :month, :year].each { |o| order.unshift(o) unless order.include?(o) }
729
+ # Returns translated month names, but also ensures that a custom month
730
+ # name array has a leading nil element
731
+ def month_names
732
+ month_names = @options[:use_month_names] || translated_month_names
733
+ month_names.unshift(nil) if month_names.size < 13
734
+ month_names
735
+ end
736
+ memoize :month_names
737
+
738
+ # Returns translated month names
739
+ # => [nil, "January", "February", "March",
740
+ # "April", "May", "June", "July",
741
+ # "August", "September", "October",
742
+ # "November", "December"]
743
+ #
744
+ # If :use_short_month option is set
745
+ # => [nil, "Jan", "Feb", "Mar", "Apr", "May", "Jun",
746
+ # "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
747
+ def translated_month_names
748
+ begin
749
+ key = @options[:use_short_month] ? :'date.abbr_month_names' : :'date.month_names'
750
+ I18n.translate(key, :locale => @options[:locale])
751
+ end
752
+ end
753
+
754
+ # Lookup month name for number
755
+ # month_name(1) => "January"
756
+ #
757
+ # If :use_month_numbers option is passed
758
+ # month_name(1) => 1
759
+ #
760
+ # If :add_month_numbers option is passed
761
+ # month_name(1) => "1 - January"
762
+ def month_name(number)
763
+ if @options[:use_month_numbers]
764
+ number
765
+ elsif @options[:add_month_numbers]
766
+ "#{number} - #{month_names[number]}"
767
+ else
768
+ month_names[number]
769
+ end
770
+ end
771
+
772
+ def date_order
773
+ @options[:order] || translated_date_order
774
+ end
775
+ memoize :date_order
776
+
777
+ def translated_date_order
778
+ begin
779
+ I18n.translate(:'date.order', :locale => @options[:locale]) || []
780
+ end
781
+ end
782
+
783
+ # Build full select tag from date type and options
784
+ def build_options_and_select(type, selected, options = {})
785
+ build_select(type, build_options(selected, options))
786
+ end
787
+
788
+ # Build select option html from date value and options
789
+ # build_options(15, :start => 1, :end => 31)
790
+ # => "<option value="1">1</option>
791
+ # <option value=\"2\">2</option>
792
+ # <option value=\"3\">3</option>..."
793
+ def build_options(selected, options = {})
794
+ start = options.delete(:start) || 0
795
+ stop = options.delete(:end) || 59
796
+ step = options.delete(:step) || 1
797
+ leading_zeros = options.delete(:leading_zeros).nil? ? true : false
798
+
799
+ select_options = []
800
+ start.step(stop, step) do |i|
801
+ value = leading_zeros ? sprintf("%02d", i) : i
802
+ tag_options = { :value => value }
803
+ tag_options[:selected] = "selected" if selected == i
804
+ select_options << content_tag(:option, value, tag_options)
805
+ end
806
+ select_options.join("\n") + "\n"
807
+ end
808
+
809
+ # Builds select tag from date type and html select options
810
+ # build_select(:month, "<option value="1">January</option>...")
811
+ # => "<select id="post_written_on_2i" name="post[written_on(2i)]">
812
+ # <option value="1">January</option>...
813
+ # </select>"
814
+ def build_select(type, select_options_as_html)
815
+ select_options = {
816
+ :id => input_id_from_type(type),
817
+ :name => input_name_from_type(type)
818
+ }.merge(@html_options)
819
+ select_options.merge!(:disabled => 'disabled') if @options[:disabled]
820
+
821
+ select_html = "\n"
822
+ select_html << content_tag(:option, '', :value => '') + "\n" if @options[:include_blank]
823
+ select_html << prompt_option_tag(type, @options[:prompt]) + "\n" if @options[:prompt]
824
+ select_html << select_options_as_html.to_s
641
825
 
642
- # Ensure proper ordering of :hour, :minute and :second
643
- [:hour, :minute, :second].each { |o| order.delete(o); order.push(o) }
826
+ content_tag(:select, select_html, select_options) + "\n"
827
+ end
828
+
829
+ # Builds a prompt option tag with supplied options or from default options
830
+ # prompt_option_tag(:month, :prompt => 'Select month')
831
+ # => "<option value="">Select month</option>"
832
+ def prompt_option_tag(type, options)
833
+ default_options = {:year => false, :month => false, :day => false, :hour => false, :minute => false, :second => false}
834
+
835
+ case options
836
+ when Hash
837
+ prompt = default_options.merge(options)[type.to_sym]
838
+ when String
839
+ prompt = options
840
+ else
841
+ prompt = I18n.translate(('datetime.prompts.' + type.to_s).to_sym, :locale => @options[:locale])
842
+ end
843
+
844
+ prompt ? content_tag(:option, prompt, :value => '') : ''
845
+ end
644
846
 
645
- date_or_time_select = ''
646
- order.reverse.each do |param|
647
- # Send hidden fields for discarded elements once output has started
648
- # This ensures AR can reconstruct valid dates using ParseDate
649
- next if discard[param] && date_or_time_select.empty?
847
+ # Builds hidden input tag for date part and value
848
+ # build_hidden(:year, 2008)
849
+ # => "<input id="post_written_on_1i" name="post[written_on(1i)]" type="hidden" value="2008" />"
850
+ def build_hidden(type, value)
851
+ tag(:input, {
852
+ :type => "hidden",
853
+ :id => input_id_from_type(type),
854
+ :name => input_name_from_type(type),
855
+ :value => value
856
+ }) + "\n"
857
+ end
650
858
 
651
- date_or_time_select.insert(0, self.send("select_#{param}", datetime, options_with_prefix(position[param], options.merge(:use_hidden => discard[param])), html_options))
652
- date_or_time_select.insert(0,
653
- case param
654
- when :hour then (discard[:year] && discard[:day] ? "" : " &mdash; ")
655
- when :minute then " : "
656
- when :second then options[:include_seconds] ? " : " : ""
657
- else ""
658
- end)
859
+ # Returns the name attribute for the input tag
860
+ # => post[written_on(1i)]
861
+ def input_name_from_type(type)
862
+ prefix = @options[:prefix] || ActionView::Helpers::DateTimeSelector::DEFAULT_PREFIX
863
+ prefix += "[#{@options[:index]}]" if @options.has_key?(:index)
659
864
 
865
+ field_name = @options[:field_name] || type
866
+ if @options[:include_position]
867
+ field_name += "(#{ActionView::Helpers::DateTimeSelector::POSITION[type]}i)"
660
868
  end
661
869
 
662
- date_or_time_select
870
+ @options[:discard_type] ? prefix : "#{prefix}[#{field_name}]"
871
+ end
872
+
873
+ # Returns the id attribute for the input tag
874
+ # => "post_written_on_1i"
875
+ def input_id_from_type(type)
876
+ input_name_from_type(type).gsub(/([\[\(])|(\]\[)/, '_').gsub(/[\]\)]/, '')
877
+ end
878
+
879
+ # Given an ordering of datetime components, create the selection html
880
+ # and join them with their appropriate seperators
881
+ def build_selects_from_types(order)
882
+ select = ''
883
+ order.reverse.each do |type|
884
+ separator = separator(type) unless type == order.first # don't add on last field
885
+ select.insert(0, separator.to_s + send("select_#{type}").to_s)
886
+ end
887
+ select
663
888
  end
664
889
 
665
- def options_with_prefix(position, options)
666
- prefix = "#{@object_name}"
667
- if options[:index]
668
- prefix << "[#{options[:index]}]"
669
- elsif @auto_index
670
- prefix << "[#{@auto_index}]"
890
+ # Returns the separator for a given datetime component
891
+ def separator(type)
892
+ case type
893
+ when :month, :day
894
+ @options[:date_separator]
895
+ when :hour
896
+ (@options[:discard_year] && @options[:discard_day]) ? "" : @options[:datetime_separator]
897
+ when :minute
898
+ @options[:time_separator]
899
+ when :second
900
+ @options[:include_seconds] ? @options[:time_separator] : ""
671
901
  end
672
- options.merge(:prefix => "#{prefix}[#{@method_name}(#{position}i)]")
673
902
  end
903
+ end
904
+
905
+ class InstanceTag #:nodoc:
906
+ def to_date_select_tag(options = {}, html_options = {})
907
+ datetime_selector(options, html_options).select_date
908
+ end
909
+
910
+ def to_time_select_tag(options = {}, html_options = {})
911
+ datetime_selector(options, html_options).select_time
912
+ end
913
+
914
+ def to_datetime_select_tag(options = {}, html_options = {})
915
+ datetime_selector(options, html_options).select_datetime
916
+ end
917
+
918
+ private
919
+ def datetime_selector(options, html_options)
920
+ datetime = value(object) || default_datetime(options)
921
+
922
+ options = options.dup
923
+ options[:field_name] = @method_name
924
+ options[:include_position] = true
925
+ options[:prefix] ||= @object_name
926
+ options[:index] = @auto_index if @auto_index && !options.has_key?(:index)
927
+ options[:datetime_separator] ||= ' &mdash; '
928
+ options[:time_separator] ||= ' : '
929
+
930
+ DateTimeSelector.new(datetime, options.merge(:tag => true), html_options)
931
+ end
932
+
933
+ def default_datetime(options)
934
+ return if options[:include_blank] || options[:prompt]
674
935
 
675
- def default_time_from_options(default)
676
- case default
936
+ case options[:default]
677
937
  when nil
678
938
  Time.current
679
939
  when Date, Time
680
- default
940
+ options[:default]
681
941
  else
942
+ default = options[:default].dup
943
+
682
944
  # Rename :minute and :second to :min and :sec
683
945
  default[:min] ||= default[:minute]
684
946
  default[:sec] ||= default[:second]
685
947
 
686
948
  time = Time.current
687
-
949
+
688
950
  [:year, :month, :day, :hour, :min, :sec].each do |key|
689
951
  default[key] ||= time.send(key)
690
952
  end
691
953
 
692
- Time.utc_time(default[:year], default[:month], default[:day], default[:hour], default[:min], default[:sec])
693
- end
954
+ Time.utc_time(
955
+ default[:year], default[:month], default[:day],
956
+ default[:hour], default[:min], default[:sec]
957
+ )
958
+ end
694
959
  end
695
960
  end
696
961
 
697
962
  class FormBuilder
698
963
  def date_select(method, options = {}, html_options = {})
699
- @template.date_select(@object_name, method, options.merge(:object => @object), html_options)
964
+ @template.date_select(@object_name, method, objectify_options(options), html_options)
700
965
  end
701
966
 
702
967
  def time_select(method, options = {}, html_options = {})
703
- @template.time_select(@object_name, method, options.merge(:object => @object), html_options)
968
+ @template.time_select(@object_name, method, objectify_options(options), html_options)
704
969
  end
705
970
 
706
971
  def datetime_select(method, options = {}, html_options = {})
707
- @template.datetime_select(@object_name, method, options.merge(:object => @object), html_options)
972
+ @template.datetime_select(@object_name, method, objectify_options(options), html_options)
708
973
  end
709
974
  end
710
975
  end