backlog 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1196) hide show
  1. data/History.txt +17 -0
  2. data/README.txt +14 -3
  3. data/Rakefile +18 -4
  4. data/app/controllers/application.rb +2 -0
  5. data/app/controllers/tasks_controller.rb +4 -3
  6. data/app/controllers/user_controller.rb +1 -0
  7. data/app/helpers/application_helper.rb +2 -0
  8. data/app/models/period.rb +5 -6
  9. data/app/models/task.rb +1 -1
  10. data/app/views/backlogs/_tasks.rhtml +1 -1
  11. data/app/views/periods/_burn_down_chart.rhtml +2 -1
  12. data/app/views/user/login.rhtml +1 -1
  13. data/config/database.yml +26 -1
  14. data/config/environment.rb +7 -1
  15. data/config/war.rb +26 -0
  16. data/config/war.rb~ +11 -0
  17. data/db/migrate/018_create_groups.rb +3 -9
  18. data/db/schema.rb +53 -53
  19. data/lib/postgresql-8.2-504.jdbc4.jar +0 -0
  20. data/lib/url_for_fix.rb +28 -0
  21. data/lib/version_from_history.rb +2 -2
  22. data/test/fixtures/periods.yml +11 -5
  23. data/test/fixtures/tasks.yml +14 -6
  24. data/test/fixtures/users.yml +1 -1
  25. data/test/functional/backlogs_controller_test.rb +19 -0
  26. data/test/functional/estimates_controller_test.rb +2 -5
  27. data/test/functional/periods_controller_test.rb +36 -24
  28. data/test/functional/tasks_controller_test.rb +47 -14
  29. data/test/functional/user_controller_test.rb +7 -38
  30. data/test/functional/works_controller_test.rb +2 -2
  31. data/test/performance/test.rb +3 -0
  32. data/test/performance/test_threaded.rb +36 -0
  33. data/test/test_helper.rb +45 -0
  34. data/vendor/plugins/goldspike/README +13 -0
  35. data/vendor/{rails/railties/lib/rails_generator/generators/components/plugin/templates → plugins/goldspike}/Rakefile +3 -3
  36. data/vendor/plugins/goldspike/generators/goldspike/goldspike_generator.rb +21 -0
  37. data/vendor/plugins/goldspike/generators/goldspike/templates/war.rb +8 -0
  38. data/vendor/plugins/goldspike/generators/goldspike/templates/web.xml.erb +57 -0
  39. data/vendor/{rails/railties/lib/rails_generator/generators/components/plugin/templates → plugins/goldspike}/init.rb +0 -0
  40. data/vendor/plugins/goldspike/install.rb +4 -0
  41. data/vendor/plugins/goldspike/lib/create_war.rb +102 -0
  42. data/vendor/plugins/goldspike/lib/java_library.rb +137 -0
  43. data/vendor/plugins/goldspike/lib/packer.rb +216 -0
  44. data/vendor/plugins/goldspike/lib/run.rb +161 -0
  45. data/vendor/plugins/goldspike/lib/util.rb +35 -0
  46. data/vendor/plugins/goldspike/lib/war_config.rb +327 -0
  47. data/vendor/plugins/goldspike/tasks/war.rake +49 -0
  48. data/vendor/{rails/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb → plugins/goldspike/test/test_create_war.rb} +2 -2
  49. data/vendor/plugins/goldspike/test/test_java_library.rb +130 -0
  50. data/vendor/plugins/goldspike/test/test_maven_library.rb +132 -0
  51. data/vendor/plugins/goldspike/test/war_config_test_config.rb +15 -0
  52. metadata +35 -1396
  53. data/vendor/rails/REVISION_6747 +0 -0
  54. data/vendor/rails/actionmailer/CHANGELOG +0 -281
  55. data/vendor/rails/actionmailer/MIT-LICENSE +0 -21
  56. data/vendor/rails/actionmailer/README +0 -145
  57. data/vendor/rails/actionmailer/Rakefile +0 -95
  58. data/vendor/rails/actionmailer/install.rb +0 -30
  59. data/vendor/rails/actionmailer/lib/action_mailer.rb +0 -51
  60. data/vendor/rails/actionmailer/lib/action_mailer/adv_attr_accessor.rb +0 -30
  61. data/vendor/rails/actionmailer/lib/action_mailer/base.rb +0 -570
  62. data/vendor/rails/actionmailer/lib/action_mailer/helpers.rb +0 -111
  63. data/vendor/rails/actionmailer/lib/action_mailer/mail_helper.rb +0 -19
  64. data/vendor/rails/actionmailer/lib/action_mailer/part.rb +0 -113
  65. data/vendor/rails/actionmailer/lib/action_mailer/part_container.rb +0 -51
  66. data/vendor/rails/actionmailer/lib/action_mailer/quoting.rb +0 -59
  67. data/vendor/rails/actionmailer/lib/action_mailer/test_helper.rb +0 -67
  68. data/vendor/rails/actionmailer/lib/action_mailer/utils.rb +0 -8
  69. data/vendor/rails/actionmailer/lib/action_mailer/vendor/text/format.rb +0 -1466
  70. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail.rb +0 -3
  71. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/address.rb +0 -242
  72. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/attachments.rb +0 -41
  73. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/base64.rb +0 -71
  74. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/config.rb +0 -69
  75. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/encode.rb +0 -467
  76. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/facade.rb +0 -552
  77. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/header.rb +0 -914
  78. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/info.rb +0 -35
  79. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/loader.rb +0 -1
  80. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mail.rb +0 -447
  81. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mailbox.rb +0 -433
  82. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mbox.rb +0 -1
  83. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/net.rb +0 -280
  84. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/obsolete.rb +0 -135
  85. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/parser.rb +0 -1522
  86. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/port.rb +0 -377
  87. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb +0 -131
  88. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/scanner.rb +0 -41
  89. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/scanner_r.rb +0 -263
  90. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/stringio.rb +0 -277
  91. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/tmail.rb +0 -1
  92. data/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/utils.rb +0 -238
  93. data/vendor/rails/actionmailer/lib/action_mailer/version.rb +0 -9
  94. data/vendor/rails/actionmailer/test/abstract_unit.rb +0 -39
  95. data/vendor/rails/actionmailer/test/fixtures/first_mailer/share.erb +0 -1
  96. data/vendor/rails/actionmailer/test/fixtures/first_mailer/share.rhtml +0 -0
  97. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb +0 -1
  98. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml +0 -0
  99. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.erb +0 -1
  100. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml +0 -0
  101. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb +0 -1
  102. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml +0 -0
  103. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb +0 -5
  104. data/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml +0 -0
  105. data/vendor/rails/actionmailer/test/fixtures/helpers/example_helper.rb +0 -5
  106. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb +0 -1
  107. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml +0 -0
  108. data/vendor/rails/actionmailer/test/fixtures/path.with.dots/multipart_with_template_path_with_dots.rhtml +0 -0
  109. data/vendor/rails/actionmailer/test/fixtures/raw_email +0 -14
  110. data/vendor/rails/actionmailer/test/fixtures/raw_email10 +0 -20
  111. data/vendor/rails/actionmailer/test/fixtures/raw_email11 +0 -34
  112. data/vendor/rails/actionmailer/test/fixtures/raw_email12 +0 -32
  113. data/vendor/rails/actionmailer/test/fixtures/raw_email13 +0 -29
  114. data/vendor/rails/actionmailer/test/fixtures/raw_email2 +0 -114
  115. data/vendor/rails/actionmailer/test/fixtures/raw_email3 +0 -70
  116. data/vendor/rails/actionmailer/test/fixtures/raw_email4 +0 -59
  117. data/vendor/rails/actionmailer/test/fixtures/raw_email5 +0 -19
  118. data/vendor/rails/actionmailer/test/fixtures/raw_email6 +0 -20
  119. data/vendor/rails/actionmailer/test/fixtures/raw_email7 +0 -66
  120. data/vendor/rails/actionmailer/test/fixtures/raw_email8 +0 -47
  121. data/vendor/rails/actionmailer/test/fixtures/raw_email9 +0 -28
  122. data/vendor/rails/actionmailer/test/fixtures/raw_email_quoted_with_0d0a +0 -14
  123. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_nested_attachment +0 -100
  124. data/vendor/rails/actionmailer/test/fixtures/raw_email_with_partially_quoted_subject +0 -14
  125. data/vendor/rails/actionmailer/test/fixtures/second_mailer/share.erb +0 -1
  126. data/vendor/rails/actionmailer/test/fixtures/second_mailer/share.rhtml +0 -0
  127. data/vendor/rails/actionmailer/test/fixtures/templates/signed_up.erb +0 -3
  128. data/vendor/rails/actionmailer/test/fixtures/templates/signed_up.rhtml +0 -0
  129. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb +0 -1
  130. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml +0 -0
  131. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak +0 -1
  132. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb +0 -10
  133. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml +0 -0
  134. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb +0 -2
  135. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml +0 -0
  136. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb +0 -1
  137. data/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml +0 -0
  138. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.erb +0 -3
  139. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.rhtml +0 -0
  140. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb +0 -3
  141. data/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml +0 -0
  142. data/vendor/rails/actionmailer/test/mail_helper_test.rb +0 -91
  143. data/vendor/rails/actionmailer/test/mail_render_test.rb +0 -79
  144. data/vendor/rails/actionmailer/test/mail_service_test.rb +0 -850
  145. data/vendor/rails/actionmailer/test/quoting_test.rb +0 -57
  146. data/vendor/rails/actionmailer/test/test_helper_test.rb +0 -79
  147. data/vendor/rails/actionmailer/test/tmail_test.rb +0 -21
  148. data/vendor/rails/actionmailer/test/url_test.rb +0 -68
  149. data/vendor/rails/actionpack/CHANGELOG +0 -3560
  150. data/vendor/rails/actionpack/MIT-LICENSE +0 -21
  151. data/vendor/rails/actionpack/README +0 -469
  152. data/vendor/rails/actionpack/RUNNING_UNIT_TESTS +0 -25
  153. data/vendor/rails/actionpack/Rakefile +0 -154
  154. data/vendor/rails/actionpack/examples/address_book/index.erb +0 -33
  155. data/vendor/rails/actionpack/examples/address_book/index.rhtml +0 -0
  156. data/vendor/rails/actionpack/examples/address_book/layout.erb +0 -8
  157. data/vendor/rails/actionpack/examples/address_book/layout.rhtml +0 -0
  158. data/vendor/rails/actionpack/examples/address_book_controller.cgi +0 -9
  159. data/vendor/rails/actionpack/examples/address_book_controller.fcgi +0 -6
  160. data/vendor/rails/actionpack/examples/address_book_controller.rb +0 -52
  161. data/vendor/rails/actionpack/examples/address_book_controller.rbx +0 -4
  162. data/vendor/rails/actionpack/examples/benchmark.rb +0 -52
  163. data/vendor/rails/actionpack/examples/benchmark_with_ar.fcgi +0 -89
  164. data/vendor/rails/actionpack/examples/blog_controller.cgi +0 -53
  165. data/vendor/rails/actionpack/examples/debate/index.erb +0 -14
  166. data/vendor/rails/actionpack/examples/debate/index.rhtml +0 -0
  167. data/vendor/rails/actionpack/examples/debate/new_topic.erb +0 -22
  168. data/vendor/rails/actionpack/examples/debate/new_topic.rhtml +0 -0
  169. data/vendor/rails/actionpack/examples/debate/topic.erb +0 -32
  170. data/vendor/rails/actionpack/examples/debate/topic.rhtml +0 -0
  171. data/vendor/rails/actionpack/examples/debate_controller.cgi +0 -57
  172. data/vendor/rails/actionpack/install.rb +0 -30
  173. data/vendor/rails/actionpack/lib/action_controller.rb +0 -85
  174. data/vendor/rails/actionpack/lib/action_controller/assertions.rb +0 -70
  175. data/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb +0 -25
  176. data/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb +0 -12
  177. data/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb +0 -141
  178. data/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb +0 -99
  179. data/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb +0 -585
  180. data/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb +0 -117
  181. data/vendor/rails/actionpack/lib/action_controller/base.rb +0 -1251
  182. data/vendor/rails/actionpack/lib/action_controller/benchmarking.rb +0 -93
  183. data/vendor/rails/actionpack/lib/action_controller/caching.rb +0 -656
  184. data/vendor/rails/actionpack/lib/action_controller/cgi_ext.rb +0 -18
  185. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie.rb +0 -123
  186. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/parameters.rb +0 -208
  187. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/query_extension.rb +0 -96
  188. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/session.rb +0 -63
  189. data/vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb +0 -23
  190. data/vendor/rails/actionpack/lib/action_controller/cgi_process.rb +0 -217
  191. data/vendor/rails/actionpack/lib/action_controller/components.rb +0 -165
  192. data/vendor/rails/actionpack/lib/action_controller/cookies.rb +0 -78
  193. data/vendor/rails/actionpack/lib/action_controller/filters.rb +0 -752
  194. data/vendor/rails/actionpack/lib/action_controller/flash.rb +0 -184
  195. data/vendor/rails/actionpack/lib/action_controller/helpers.rb +0 -153
  196. data/vendor/rails/actionpack/lib/action_controller/http_authentication.rb +0 -121
  197. data/vendor/rails/actionpack/lib/action_controller/integration.rb +0 -552
  198. data/vendor/rails/actionpack/lib/action_controller/layout.rb +0 -318
  199. data/vendor/rails/actionpack/lib/action_controller/macros/auto_complete.rb +0 -53
  200. data/vendor/rails/actionpack/lib/action_controller/macros/in_place_editing.rb +0 -33
  201. data/vendor/rails/actionpack/lib/action_controller/mime_responds.rb +0 -191
  202. data/vendor/rails/actionpack/lib/action_controller/mime_type.rb +0 -157
  203. data/vendor/rails/actionpack/lib/action_controller/mime_types.rb +0 -20
  204. data/vendor/rails/actionpack/lib/action_controller/pagination.rb +0 -402
  205. data/vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb +0 -56
  206. data/vendor/rails/actionpack/lib/action_controller/record_identifier.rb +0 -91
  207. data/vendor/rails/actionpack/lib/action_controller/request.rb +0 -316
  208. data/vendor/rails/actionpack/lib/action_controller/rescue.rb +0 -152
  209. data/vendor/rails/actionpack/lib/action_controller/resources.rb +0 -485
  210. data/vendor/rails/actionpack/lib/action_controller/response.rb +0 -76
  211. data/vendor/rails/actionpack/lib/action_controller/routing.rb +0 -1365
  212. data/vendor/rails/actionpack/lib/action_controller/scaffolding.rb +0 -191
  213. data/vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb +0 -335
  214. data/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb +0 -143
  215. data/vendor/rails/actionpack/lib/action_controller/session/drb_server.rb +0 -32
  216. data/vendor/rails/actionpack/lib/action_controller/session/drb_store.rb +0 -35
  217. data/vendor/rails/actionpack/lib/action_controller/session/mem_cache_store.rb +0 -105
  218. data/vendor/rails/actionpack/lib/action_controller/session_management.rb +0 -150
  219. data/vendor/rails/actionpack/lib/action_controller/status_codes.rb +0 -88
  220. data/vendor/rails/actionpack/lib/action_controller/streaming.rb +0 -141
  221. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.erb +0 -24
  222. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.rhtml +0 -0
  223. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.erb +0 -26
  224. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.rhtml +0 -0
  225. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.erb +0 -11
  226. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.rhtml +0 -0
  227. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.erb +0 -29
  228. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.rhtml +0 -0
  229. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.erb +0 -2
  230. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.rhtml +0 -0
  231. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.erb +0 -10
  232. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.rhtml +0 -0
  233. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.erb +0 -21
  234. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.rhtml +0 -0
  235. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.erb +0 -2
  236. data/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.rhtml +0 -0
  237. data/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/edit.erb +0 -7
  238. data/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/edit.rhtml +0 -0
  239. data/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/layout.erb +0 -69
  240. data/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/layout.rhtml +0 -0
  241. data/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/list.erb +0 -27
  242. data/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/list.rhtml +0 -0
  243. data/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/new.erb +0 -6
  244. data/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/new.rhtml +0 -0
  245. data/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/show.erb +0 -9
  246. data/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/show.rhtml +0 -0
  247. data/vendor/rails/actionpack/lib/action_controller/test_process.rb +0 -516
  248. data/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb +0 -124
  249. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb +0 -64
  250. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb +0 -530
  251. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb +0 -828
  252. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb +0 -105
  253. data/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb +0 -11
  254. data/vendor/rails/actionpack/lib/action_controller/verification.rb +0 -108
  255. data/vendor/rails/actionpack/lib/action_pack.rb +0 -24
  256. data/vendor/rails/actionpack/lib/action_pack/version.rb +0 -9
  257. data/vendor/rails/actionpack/lib/action_view.rb +0 -31
  258. data/vendor/rails/actionpack/lib/action_view/base.rb +0 -625
  259. data/vendor/rails/actionpack/lib/action_view/compiled_templates.rb +0 -69
  260. data/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb +0 -237
  261. data/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb +0 -405
  262. data/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb +0 -24
  263. data/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb +0 -10
  264. data/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb +0 -128
  265. data/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb +0 -454
  266. data/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb +0 -31
  267. data/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb +0 -609
  268. data/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb +0 -372
  269. data/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb +0 -192
  270. data/vendor/rails/actionpack/lib/action_view/helpers/java_script_macros_helper.rb +0 -233
  271. data/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb +0 -193
  272. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/controls.js +0 -833
  273. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/dragdrop.js +0 -942
  274. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/effects.js +0 -1088
  275. data/vendor/rails/actionpack/lib/action_view/helpers/javascripts/prototype.js +0 -2515
  276. data/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb +0 -152
  277. data/vendor/rails/actionpack/lib/action_view/helpers/pagination_helper.rb +0 -86
  278. data/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb +0 -913
  279. data/vendor/rails/actionpack/lib/action_view/helpers/record_identification_helper.rb +0 -20
  280. data/vendor/rails/actionpack/lib/action_view/helpers/record_tag_helper.rb +0 -59
  281. data/vendor/rails/actionpack/lib/action_view/helpers/scriptaculous_helper.rb +0 -140
  282. data/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb +0 -108
  283. data/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb +0 -401
  284. data/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb +0 -496
  285. data/vendor/rails/actionpack/lib/action_view/partials.rb +0 -128
  286. data/vendor/rails/actionpack/lib/action_view/template_error.rb +0 -102
  287. data/vendor/rails/actionpack/test/abstract_unit.rb +0 -29
  288. data/vendor/rails/actionpack/test/active_record_unit.rb +0 -108
  289. data/vendor/rails/actionpack/test/activerecord/active_record_store_test.rb +0 -142
  290. data/vendor/rails/actionpack/test/activerecord/pagination_test.rb +0 -156
  291. data/vendor/rails/actionpack/test/controller/action_pack_assertions_test.rb +0 -479
  292. data/vendor/rails/actionpack/test/controller/addresses_render_test.rb +0 -43
  293. data/vendor/rails/actionpack/test/controller/assert_select_test.rb +0 -597
  294. data/vendor/rails/actionpack/test/controller/base_test.rb +0 -134
  295. data/vendor/rails/actionpack/test/controller/benchmark_test.rb +0 -33
  296. data/vendor/rails/actionpack/test/controller/caching_test.rb +0 -262
  297. data/vendor/rails/actionpack/test/controller/capture_test.rb +0 -71
  298. data/vendor/rails/actionpack/test/controller/cgi_test.rb +0 -432
  299. data/vendor/rails/actionpack/test/controller/components_test.rb +0 -129
  300. data/vendor/rails/actionpack/test/controller/content_type_test.rb +0 -139
  301. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/admin/user_controller.rb +0 -0
  302. data/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/user_controller.rb +0 -0
  303. data/vendor/rails/actionpack/test/controller/controller_fixtures/vendor/plugins/bad_plugin/lib/plugin_controller.rb +0 -0
  304. data/vendor/rails/actionpack/test/controller/cookie_test.rb +0 -88
  305. data/vendor/rails/actionpack/test/controller/custom_handler_test.rb +0 -41
  306. data/vendor/rails/actionpack/test/controller/deprecation/deprecated_base_methods_test.rb +0 -48
  307. data/vendor/rails/actionpack/test/controller/fake_controllers.rb +0 -16
  308. data/vendor/rails/actionpack/test/controller/filter_params_test.rb +0 -42
  309. data/vendor/rails/actionpack/test/controller/filters_test.rb +0 -752
  310. data/vendor/rails/actionpack/test/controller/flash_test.rb +0 -147
  311. data/vendor/rails/actionpack/test/controller/fragment_store_setting_test.rb +0 -45
  312. data/vendor/rails/actionpack/test/controller/helper_test.rb +0 -204
  313. data/vendor/rails/actionpack/test/controller/html-scanner/document_test.rb +0 -104
  314. data/vendor/rails/actionpack/test/controller/html-scanner/node_test.rb +0 -69
  315. data/vendor/rails/actionpack/test/controller/html-scanner/tag_node_test.rb +0 -239
  316. data/vendor/rails/actionpack/test/controller/html-scanner/text_node_test.rb +0 -51
  317. data/vendor/rails/actionpack/test/controller/html-scanner/tokenizer_test.rb +0 -125
  318. data/vendor/rails/actionpack/test/controller/http_authentication_test.rb +0 -42
  319. data/vendor/rails/actionpack/test/controller/integration_test.rb +0 -187
  320. data/vendor/rails/actionpack/test/controller/layout_test.rb +0 -202
  321. data/vendor/rails/actionpack/test/controller/mime_responds_test.rb +0 -358
  322. data/vendor/rails/actionpack/test/controller/mime_type_test.rb +0 -54
  323. data/vendor/rails/actionpack/test/controller/new_render_test.rb +0 -769
  324. data/vendor/rails/actionpack/test/controller/raw_post_test.rb +0 -74
  325. data/vendor/rails/actionpack/test/controller/record_identifier_test.rb +0 -103
  326. data/vendor/rails/actionpack/test/controller/redirect_test.rb +0 -180
  327. data/vendor/rails/actionpack/test/controller/render_test.rb +0 -404
  328. data/vendor/rails/actionpack/test/controller/request_test.rb +0 -393
  329. data/vendor/rails/actionpack/test/controller/rescue_test.rb +0 -215
  330. data/vendor/rails/actionpack/test/controller/resources_test.rb +0 -585
  331. data/vendor/rails/actionpack/test/controller/routing_test.rb +0 -1902
  332. data/vendor/rails/actionpack/test/controller/selector_test.rb +0 -628
  333. data/vendor/rails/actionpack/test/controller/send_file_test.rb +0 -127
  334. data/vendor/rails/actionpack/test/controller/session/cookie_store_test.rb +0 -228
  335. data/vendor/rails/actionpack/test/controller/session_management_test.rb +0 -156
  336. data/vendor/rails/actionpack/test/controller/test_test.rb +0 -520
  337. data/vendor/rails/actionpack/test/controller/url_rewriter_test.rb +0 -218
  338. data/vendor/rails/actionpack/test/controller/verification_test.rb +0 -242
  339. data/vendor/rails/actionpack/test/controller/view_paths_test.rb +0 -79
  340. data/vendor/rails/actionpack/test/controller/webservice_test.rb +0 -181
  341. data/vendor/rails/actionpack/test/fixtures/addresses/list.erb +0 -1
  342. data/vendor/rails/actionpack/test/fixtures/addresses/list.rhtml +0 -0
  343. data/vendor/rails/actionpack/test/fixtures/companies.yml +0 -24
  344. data/vendor/rails/actionpack/test/fixtures/company.rb +0 -9
  345. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_content_types_for_respond_to.rhtml +0 -1
  346. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rhtml.rhtml +0 -1
  347. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rjs.rjs +0 -1
  348. data/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rxml.rxml +0 -1
  349. data/vendor/rails/actionpack/test/fixtures/db_definitions/sqlite.sql +0 -42
  350. data/vendor/rails/actionpack/test/fixtures/developer.rb +0 -7
  351. data/vendor/rails/actionpack/test/fixtures/developers.yml +0 -21
  352. data/vendor/rails/actionpack/test/fixtures/developers_projects.yml +0 -13
  353. data/vendor/rails/actionpack/test/fixtures/fun/games/hello_world.erb +0 -1
  354. data/vendor/rails/actionpack/test/fixtures/fun/games/hello_world.rhtml +0 -0
  355. data/vendor/rails/actionpack/test/fixtures/helpers/abc_helper.rb +0 -5
  356. data/vendor/rails/actionpack/test/fixtures/helpers/fun/games_helper.rb +0 -3
  357. data/vendor/rails/actionpack/test/fixtures/helpers/fun/pdf_helper.rb +0 -3
  358. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/controller_name_space/nested.rhtml +0 -1
  359. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/item.rhtml +0 -1
  360. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/layout_test.rhtml +0 -1
  361. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/multiple_extensions.html.erb +0 -1
  362. data/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/third_party_template_library.mab +0 -1
  363. data/vendor/rails/actionpack/test/fixtures/layout_tests/views/hello.rhtml +0 -1
  364. data/vendor/rails/actionpack/test/fixtures/layouts/builder.builder +0 -3
  365. data/vendor/rails/actionpack/test/fixtures/layouts/builder.rxml +0 -0
  366. data/vendor/rails/actionpack/test/fixtures/layouts/standard.erb +0 -1
  367. data/vendor/rails/actionpack/test/fixtures/layouts/standard.rhtml +0 -0
  368. data/vendor/rails/actionpack/test/fixtures/layouts/talk_from_action.erb +0 -2
  369. data/vendor/rails/actionpack/test/fixtures/layouts/talk_from_action.rhtml +0 -0
  370. data/vendor/rails/actionpack/test/fixtures/layouts/yield.erb +0 -2
  371. data/vendor/rails/actionpack/test/fixtures/layouts/yield.rhtml +0 -0
  372. data/vendor/rails/actionpack/test/fixtures/multipart/binary_file +0 -0
  373. data/vendor/rails/actionpack/test/fixtures/multipart/large_text_file +0 -10
  374. data/vendor/rails/actionpack/test/fixtures/multipart/mixed_files +0 -0
  375. data/vendor/rails/actionpack/test/fixtures/multipart/mona_lisa.jpg +0 -0
  376. data/vendor/rails/actionpack/test/fixtures/multipart/single_parameter +0 -5
  377. data/vendor/rails/actionpack/test/fixtures/multipart/text_file +0 -10
  378. data/vendor/rails/actionpack/test/fixtures/override/test/hello_world.erb +0 -1
  379. data/vendor/rails/actionpack/test/fixtures/override/test/hello_world.rhtml +0 -0
  380. data/vendor/rails/actionpack/test/fixtures/project.rb +0 -3
  381. data/vendor/rails/actionpack/test/fixtures/projects.yml +0 -7
  382. data/vendor/rails/actionpack/test/fixtures/public/404.html +0 -1
  383. data/vendor/rails/actionpack/test/fixtures/public/500.html +0 -1
  384. data/vendor/rails/actionpack/test/fixtures/public/images/rails.png +0 -0
  385. data/vendor/rails/actionpack/test/fixtures/public/javascripts/application.js +0 -0
  386. data/vendor/rails/actionpack/test/fixtures/public/javascripts/bank.js +0 -1
  387. data/vendor/rails/actionpack/test/fixtures/public/javascripts/robber.js +0 -1
  388. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/bank.css +0 -1
  389. data/vendor/rails/actionpack/test/fixtures/public/stylesheets/robber.css +0 -1
  390. data/vendor/rails/actionpack/test/fixtures/replies.yml +0 -13
  391. data/vendor/rails/actionpack/test/fixtures/reply.rb +0 -5
  392. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.html.erb +0 -1
  393. data/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.js.rjs +0 -1
  394. data/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.rhtml +0 -1
  395. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.html.erb +0 -1
  396. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.js.rjs +0 -1
  397. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.xml.builder +0 -1
  398. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.html.erb +0 -1
  399. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.js.rjs +0 -1
  400. data/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.xml.builder +0 -1
  401. data/vendor/rails/actionpack/test/fixtures/scope/test/modgreet.erb +0 -1
  402. data/vendor/rails/actionpack/test/fixtures/scope/test/modgreet.rhtml +0 -0
  403. data/vendor/rails/actionpack/test/fixtures/test/_customer.erb +0 -1
  404. data/vendor/rails/actionpack/test/fixtures/test/_customer.rhtml +0 -0
  405. data/vendor/rails/actionpack/test/fixtures/test/_customer_greeting.erb +0 -1
  406. data/vendor/rails/actionpack/test/fixtures/test/_customer_greeting.rhtml +0 -0
  407. data/vendor/rails/actionpack/test/fixtures/test/_hash_object.erb +0 -1
  408. data/vendor/rails/actionpack/test/fixtures/test/_hash_object.rhtml +0 -0
  409. data/vendor/rails/actionpack/test/fixtures/test/_hello.builder +0 -1
  410. data/vendor/rails/actionpack/test/fixtures/test/_hello.rxml +0 -0
  411. data/vendor/rails/actionpack/test/fixtures/test/_partial.erb +0 -1
  412. data/vendor/rails/actionpack/test/fixtures/test/_partial.html.erb +0 -1
  413. data/vendor/rails/actionpack/test/fixtures/test/_partial.js.erb +0 -1
  414. data/vendor/rails/actionpack/test/fixtures/test/_partial.rhtml +0 -0
  415. data/vendor/rails/actionpack/test/fixtures/test/_partial_only.erb +0 -1
  416. data/vendor/rails/actionpack/test/fixtures/test/_partial_only.rhtml +0 -0
  417. data/vendor/rails/actionpack/test/fixtures/test/_person.erb +0 -2
  418. data/vendor/rails/actionpack/test/fixtures/test/_person.rhtml +0 -0
  419. data/vendor/rails/actionpack/test/fixtures/test/action_talk_to_layout.erb +0 -2
  420. data/vendor/rails/actionpack/test/fixtures/test/action_talk_to_layout.rhtml +0 -0
  421. data/vendor/rails/actionpack/test/fixtures/test/block_content_for.erb +0 -2
  422. data/vendor/rails/actionpack/test/fixtures/test/block_content_for.rhtml +0 -0
  423. data/vendor/rails/actionpack/test/fixtures/test/capturing.erb +0 -4
  424. data/vendor/rails/actionpack/test/fixtures/test/capturing.rhtml +0 -0
  425. data/vendor/rails/actionpack/test/fixtures/test/content_for.erb +0 -2
  426. data/vendor/rails/actionpack/test/fixtures/test/content_for.rhtml +0 -0
  427. data/vendor/rails/actionpack/test/fixtures/test/delete_with_js.rjs +0 -2
  428. data/vendor/rails/actionpack/test/fixtures/test/dot.directory/render_file_with_ivar.erb +0 -1
  429. data/vendor/rails/actionpack/test/fixtures/test/dot.directory/render_file_with_ivar.rhtml +0 -0
  430. data/vendor/rails/actionpack/test/fixtures/test/enum_rjs_test.rjs +0 -6
  431. data/vendor/rails/actionpack/test/fixtures/test/erb_content_for.erb +0 -2
  432. data/vendor/rails/actionpack/test/fixtures/test/erb_content_for.rhtml +0 -0
  433. data/vendor/rails/actionpack/test/fixtures/test/formatted_html_erb.html.erb +0 -1
  434. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.builder +0 -1
  435. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.html.erb +0 -1
  436. data/vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.xml.erb +0 -1
  437. data/vendor/rails/actionpack/test/fixtures/test/greeting.erb +0 -1
  438. data/vendor/rails/actionpack/test/fixtures/test/greeting.rhtml +0 -0
  439. data/vendor/rails/actionpack/test/fixtures/test/hello.builder +0 -4
  440. data/vendor/rails/actionpack/test/fixtures/test/hello.rxml +0 -0
  441. data/vendor/rails/actionpack/test/fixtures/test/hello_world.builder +0 -4
  442. data/vendor/rails/actionpack/test/fixtures/test/hello_world.erb +0 -1
  443. data/vendor/rails/actionpack/test/fixtures/test/hello_world.rhtml +0 -0
  444. data/vendor/rails/actionpack/test/fixtures/test/hello_world.rxml +0 -0
  445. data/vendor/rails/actionpack/test/fixtures/test/hello_world_container.builder +0 -3
  446. data/vendor/rails/actionpack/test/fixtures/test/hello_world_container.rxml +0 -0
  447. data/vendor/rails/actionpack/test/fixtures/test/hello_world_with_layout_false.erb +0 -1
  448. data/vendor/rails/actionpack/test/fixtures/test/hello_world_with_layout_false.rhtml +0 -0
  449. data/vendor/rails/actionpack/test/fixtures/test/hello_xml_world.builder +0 -11
  450. data/vendor/rails/actionpack/test/fixtures/test/hello_xml_world.rxml +0 -0
  451. data/vendor/rails/actionpack/test/fixtures/test/list.erb +0 -1
  452. data/vendor/rails/actionpack/test/fixtures/test/list.rhtml +0 -0
  453. data/vendor/rails/actionpack/test/fixtures/test/non_erb_block_content_for.builder +0 -4
  454. data/vendor/rails/actionpack/test/fixtures/test/non_erb_block_content_for.rxml +0 -0
  455. data/vendor/rails/actionpack/test/fixtures/test/potential_conflicts.erb +0 -4
  456. data/vendor/rails/actionpack/test/fixtures/test/potential_conflicts.rhtml +0 -0
  457. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_ivar.erb +0 -1
  458. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_ivar.rhtml +0 -0
  459. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_locals.erb +0 -1
  460. data/vendor/rails/actionpack/test/fixtures/test/render_file_with_locals.rhtml +0 -0
  461. data/vendor/rails/actionpack/test/fixtures/test/render_to_string_test.erb +0 -1
  462. data/vendor/rails/actionpack/test/fixtures/test/render_to_string_test.rhtml +0 -0
  463. data/vendor/rails/actionpack/test/fixtures/test/update_element_with_capture.erb +0 -9
  464. data/vendor/rails/actionpack/test/fixtures/test/update_element_with_capture.rhtml +0 -0
  465. data/vendor/rails/actionpack/test/fixtures/topic.rb +0 -3
  466. data/vendor/rails/actionpack/test/fixtures/topics.yml +0 -22
  467. data/vendor/rails/actionpack/test/template/active_record_helper_test.rb +0 -197
  468. data/vendor/rails/actionpack/test/template/asset_tag_helper_test.rb +0 -367
  469. data/vendor/rails/actionpack/test/template/benchmark_helper_test.rb +0 -72
  470. data/vendor/rails/actionpack/test/template/compiled_templates_test.rb +0 -168
  471. data/vendor/rails/actionpack/test/template/date_helper_test.rb +0 -1394
  472. data/vendor/rails/actionpack/test/template/form_helper_test.rb +0 -611
  473. data/vendor/rails/actionpack/test/template/form_options_helper_test.rb +0 -489
  474. data/vendor/rails/actionpack/test/template/form_tag_helper_test.rb +0 -149
  475. data/vendor/rails/actionpack/test/template/java_script_macros_helper_test.rb +0 -109
  476. data/vendor/rails/actionpack/test/template/javascript_helper_test.rb +0 -67
  477. data/vendor/rails/actionpack/test/template/number_helper_test.rb +0 -89
  478. data/vendor/rails/actionpack/test/template/prototype_helper_test.rb +0 -556
  479. data/vendor/rails/actionpack/test/template/scriptaculous_helper_test.rb +0 -90
  480. data/vendor/rails/actionpack/test/template/tag_helper_test.rb +0 -74
  481. data/vendor/rails/actionpack/test/template/text_helper_test.rb +0 -356
  482. data/vendor/rails/actionpack/test/template/url_helper_test.rb +0 -423
  483. data/vendor/rails/actionpack/test/testing_sandbox.rb +0 -11
  484. data/vendor/rails/activerecord/CHANGELOG +0 -3195
  485. data/vendor/rails/activerecord/MIT-LICENSE +0 -20
  486. data/vendor/rails/activerecord/README +0 -360
  487. data/vendor/rails/activerecord/RUNNING_UNIT_TESTS +0 -64
  488. data/vendor/rails/activerecord/Rakefile +0 -223
  489. data/vendor/rails/activerecord/benchmarks/benchmark.rb +0 -26
  490. data/vendor/rails/activerecord/benchmarks/mysql_benchmark.rb +0 -19
  491. data/vendor/rails/activerecord/examples/associations.png +0 -0
  492. data/vendor/rails/activerecord/examples/associations.rb +0 -87
  493. data/vendor/rails/activerecord/examples/shared_setup.rb +0 -15
  494. data/vendor/rails/activerecord/examples/validation.rb +0 -85
  495. data/vendor/rails/activerecord/install.rb +0 -30
  496. data/vendor/rails/activerecord/lib/active_record.rb +0 -85
  497. data/vendor/rails/activerecord/lib/active_record/acts/list.rb +0 -253
  498. data/vendor/rails/activerecord/lib/active_record/acts/nested_set.rb +0 -211
  499. data/vendor/rails/activerecord/lib/active_record/acts/tree.rb +0 -96
  500. data/vendor/rails/activerecord/lib/active_record/aggregations.rb +0 -191
  501. data/vendor/rails/activerecord/lib/active_record/associations.rb +0 -1701
  502. data/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb +0 -212
  503. data/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb +0 -162
  504. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb +0 -56
  505. data/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb +0 -50
  506. data/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb +0 -163
  507. data/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb +0 -196
  508. data/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb +0 -245
  509. data/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb +0 -96
  510. data/vendor/rails/activerecord/lib/active_record/attribute_methods.rb +0 -75
  511. data/vendor/rails/activerecord/lib/active_record/base.rb +0 -2276
  512. data/vendor/rails/activerecord/lib/active_record/calculations.rb +0 -274
  513. data/vendor/rails/activerecord/lib/active_record/callbacks.rb +0 -371
  514. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb +0 -279
  515. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb +0 -135
  516. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb +0 -61
  517. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb +0 -393
  518. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +0 -303
  519. data/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +0 -157
  520. data/vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb +0 -228
  521. data/vendor/rails/activerecord/lib/active_record/connection_adapters/firebird_adapter.rb +0 -728
  522. data/vendor/rails/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb +0 -863
  523. data/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +0 -421
  524. data/vendor/rails/activerecord/lib/active_record/connection_adapters/openbase_adapter.rb +0 -349
  525. data/vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb +0 -710
  526. data/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +0 -582
  527. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +0 -415
  528. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb +0 -606
  529. data/vendor/rails/activerecord/lib/active_record/connection_adapters/sybase_adapter.rb +0 -666
  530. data/vendor/rails/activerecord/lib/active_record/deprecated_associations.rb +0 -104
  531. data/vendor/rails/activerecord/lib/active_record/deprecated_finders.rb +0 -44
  532. data/vendor/rails/activerecord/lib/active_record/fixtures.rb +0 -639
  533. data/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb +0 -137
  534. data/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb +0 -77
  535. data/vendor/rails/activerecord/lib/active_record/migration.rb +0 -393
  536. data/vendor/rails/activerecord/lib/active_record/observer.rb +0 -178
  537. data/vendor/rails/activerecord/lib/active_record/query_cache.rb +0 -111
  538. data/vendor/rails/activerecord/lib/active_record/reflection.rb +0 -219
  539. data/vendor/rails/activerecord/lib/active_record/schema.rb +0 -58
  540. data/vendor/rails/activerecord/lib/active_record/schema_dumper.rb +0 -164
  541. data/vendor/rails/activerecord/lib/active_record/timestamp.rb +0 -50
  542. data/vendor/rails/activerecord/lib/active_record/transactions.rb +0 -128
  543. data/vendor/rails/activerecord/lib/active_record/validations.rb +0 -902
  544. data/vendor/rails/activerecord/lib/active_record/vendor/db2.rb +0 -362
  545. data/vendor/rails/activerecord/lib/active_record/vendor/mysql.rb +0 -1214
  546. data/vendor/rails/activerecord/lib/active_record/version.rb +0 -9
  547. data/vendor/rails/activerecord/lib/active_record/wrappers/yaml_wrapper.rb +0 -15
  548. data/vendor/rails/activerecord/lib/active_record/wrappings.rb +0 -58
  549. data/vendor/rails/activerecord/lib/active_record/xml_serialization.rb +0 -327
  550. data/vendor/rails/activerecord/test/aaa_create_tables_test.rb +0 -59
  551. data/vendor/rails/activerecord/test/abstract_unit.rb +0 -79
  552. data/vendor/rails/activerecord/test/active_schema_test_mysql.rb +0 -31
  553. data/vendor/rails/activerecord/test/adapter_test.rb +0 -87
  554. data/vendor/rails/activerecord/test/adapter_test_sqlserver.rb +0 -95
  555. data/vendor/rails/activerecord/test/aggregations_test.rb +0 -95
  556. data/vendor/rails/activerecord/test/all.sh +0 -8
  557. data/vendor/rails/activerecord/test/ar_schema_test.rb +0 -33
  558. data/vendor/rails/activerecord/test/association_inheritance_reload.rb +0 -14
  559. data/vendor/rails/activerecord/test/associations/callbacks_test.rb +0 -126
  560. data/vendor/rails/activerecord/test/associations/cascaded_eager_loading_test.rb +0 -138
  561. data/vendor/rails/activerecord/test/associations/eager_singularization_test.rb +0 -145
  562. data/vendor/rails/activerecord/test/associations/eager_test.rb +0 -393
  563. data/vendor/rails/activerecord/test/associations/extension_test.rb +0 -42
  564. data/vendor/rails/activerecord/test/associations/join_model_test.rb +0 -497
  565. data/vendor/rails/activerecord/test/associations_test.rb +0 -1880
  566. data/vendor/rails/activerecord/test/attribute_methods_test.rb +0 -49
  567. data/vendor/rails/activerecord/test/base_test.rb +0 -1656
  568. data/vendor/rails/activerecord/test/binary_test.rb +0 -37
  569. data/vendor/rails/activerecord/test/calculations_test.rb +0 -219
  570. data/vendor/rails/activerecord/test/callbacks_test.rb +0 -400
  571. data/vendor/rails/activerecord/test/class_inheritable_attributes_test.rb +0 -32
  572. data/vendor/rails/activerecord/test/column_alias_test.rb +0 -17
  573. data/vendor/rails/activerecord/test/connection_test_firebird.rb +0 -8
  574. data/vendor/rails/activerecord/test/connections/native_db2/connection.rb +0 -25
  575. data/vendor/rails/activerecord/test/connections/native_firebird/connection.rb +0 -26
  576. data/vendor/rails/activerecord/test/connections/native_frontbase/connection.rb +0 -27
  577. data/vendor/rails/activerecord/test/connections/native_mysql/connection.rb +0 -27
  578. data/vendor/rails/activerecord/test/connections/native_openbase/connection.rb +0 -21
  579. data/vendor/rails/activerecord/test/connections/native_oracle/connection.rb +0 -27
  580. data/vendor/rails/activerecord/test/connections/native_postgresql/connection.rb +0 -23
  581. data/vendor/rails/activerecord/test/connections/native_sqlite/connection.rb +0 -25
  582. data/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb +0 -25
  583. data/vendor/rails/activerecord/test/connections/native_sqlite3/in_memory_connection.rb +0 -18
  584. data/vendor/rails/activerecord/test/connections/native_sqlserver/connection.rb +0 -23
  585. data/vendor/rails/activerecord/test/connections/native_sqlserver_odbc/connection.rb +0 -25
  586. data/vendor/rails/activerecord/test/connections/native_sybase/connection.rb +0 -23
  587. data/vendor/rails/activerecord/test/copy_table_test_sqlite.rb +0 -65
  588. data/vendor/rails/activerecord/test/datatype_test_postgresql.rb +0 -52
  589. data/vendor/rails/activerecord/test/default_test_firebird.rb +0 -16
  590. data/vendor/rails/activerecord/test/defaults_test.rb +0 -60
  591. data/vendor/rails/activerecord/test/deprecated_associations_test.rb +0 -396
  592. data/vendor/rails/activerecord/test/deprecated_finder_test.rb +0 -151
  593. data/vendor/rails/activerecord/test/empty_date_time_test.rb +0 -25
  594. data/vendor/rails/activerecord/test/finder_test.rb +0 -523
  595. data/vendor/rails/activerecord/test/fixtures/accounts.yml +0 -28
  596. data/vendor/rails/activerecord/test/fixtures/all/developers.yml +0 -0
  597. data/vendor/rails/activerecord/test/fixtures/all/people.csv +0 -0
  598. data/vendor/rails/activerecord/test/fixtures/all/tasks.yml +0 -0
  599. data/vendor/rails/activerecord/test/fixtures/author.rb +0 -99
  600. data/vendor/rails/activerecord/test/fixtures/author_favorites.yml +0 -4
  601. data/vendor/rails/activerecord/test/fixtures/authors.yml +0 -7
  602. data/vendor/rails/activerecord/test/fixtures/auto_id.rb +0 -4
  603. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/attr_with_numeric_first_char +0 -1
  604. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/attr_with_spaces +0 -1
  605. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/blank_line +0 -3
  606. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/duplicate_attributes +0 -3
  607. data/vendor/rails/activerecord/test/fixtures/bad_fixtures/missing_value +0 -1
  608. data/vendor/rails/activerecord/test/fixtures/binary.rb +0 -2
  609. data/vendor/rails/activerecord/test/fixtures/categories.yml +0 -14
  610. data/vendor/rails/activerecord/test/fixtures/categories/special_categories.yml +0 -9
  611. data/vendor/rails/activerecord/test/fixtures/categories/subsubdir/arbitrary_filename.yml +0 -4
  612. data/vendor/rails/activerecord/test/fixtures/categories_ordered.yml +0 -7
  613. data/vendor/rails/activerecord/test/fixtures/categories_posts.yml +0 -23
  614. data/vendor/rails/activerecord/test/fixtures/categorization.rb +0 -5
  615. data/vendor/rails/activerecord/test/fixtures/categorizations.yml +0 -17
  616. data/vendor/rails/activerecord/test/fixtures/category.rb +0 -20
  617. data/vendor/rails/activerecord/test/fixtures/column_name.rb +0 -3
  618. data/vendor/rails/activerecord/test/fixtures/comment.rb +0 -23
  619. data/vendor/rails/activerecord/test/fixtures/comments.yml +0 -59
  620. data/vendor/rails/activerecord/test/fixtures/companies.yml +0 -55
  621. data/vendor/rails/activerecord/test/fixtures/company.rb +0 -111
  622. data/vendor/rails/activerecord/test/fixtures/company_in_module.rb +0 -59
  623. data/vendor/rails/activerecord/test/fixtures/computer.rb +0 -3
  624. data/vendor/rails/activerecord/test/fixtures/computers.yml +0 -4
  625. data/vendor/rails/activerecord/test/fixtures/course.rb +0 -3
  626. data/vendor/rails/activerecord/test/fixtures/courses.yml +0 -7
  627. data/vendor/rails/activerecord/test/fixtures/customer.rb +0 -55
  628. data/vendor/rails/activerecord/test/fixtures/customers.yml +0 -17
  629. data/vendor/rails/activerecord/test/fixtures/db_definitions/db2.drop.sql +0 -32
  630. data/vendor/rails/activerecord/test/fixtures/db_definitions/db2.sql +0 -231
  631. data/vendor/rails/activerecord/test/fixtures/db_definitions/db22.drop.sql +0 -2
  632. data/vendor/rails/activerecord/test/fixtures/db_definitions/db22.sql +0 -5
  633. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird.drop.sql +0 -63
  634. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird.sql +0 -304
  635. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird2.drop.sql +0 -2
  636. data/vendor/rails/activerecord/test/fixtures/db_definitions/firebird2.sql +0 -6
  637. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase.drop.sql +0 -32
  638. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase.sql +0 -268
  639. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase2.drop.sql +0 -1
  640. data/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase2.sql +0 -4
  641. data/vendor/rails/activerecord/test/fixtures/db_definitions/mysql.drop.sql +0 -32
  642. data/vendor/rails/activerecord/test/fixtures/db_definitions/mysql.sql +0 -234
  643. data/vendor/rails/activerecord/test/fixtures/db_definitions/mysql2.drop.sql +0 -2
  644. data/vendor/rails/activerecord/test/fixtures/db_definitions/mysql2.sql +0 -5
  645. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase.drop.sql +0 -2
  646. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase.sql +0 -302
  647. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase2.drop.sql +0 -2
  648. data/vendor/rails/activerecord/test/fixtures/db_definitions/openbase2.sql +0 -7
  649. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle.drop.sql +0 -65
  650. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle.sql +0 -325
  651. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle2.drop.sql +0 -2
  652. data/vendor/rails/activerecord/test/fixtures/db_definitions/oracle2.sql +0 -6
  653. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql.drop.sql +0 -37
  654. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql.sql +0 -247
  655. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql2.drop.sql +0 -2
  656. data/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql2.sql +0 -4
  657. data/vendor/rails/activerecord/test/fixtures/db_definitions/schema.rb +0 -74
  658. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite.drop.sql +0 -32
  659. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite.sql +0 -215
  660. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite2.drop.sql +0 -2
  661. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite2.sql +0 -5
  662. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver.drop.sql +0 -34
  663. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver.sql +0 -243
  664. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver2.drop.sql +0 -2
  665. data/vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver2.sql +0 -5
  666. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase.drop.sql +0 -34
  667. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase.sql +0 -218
  668. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase2.drop.sql +0 -4
  669. data/vendor/rails/activerecord/test/fixtures/db_definitions/sybase2.sql +0 -5
  670. data/vendor/rails/activerecord/test/fixtures/default.rb +0 -2
  671. data/vendor/rails/activerecord/test/fixtures/developer.rb +0 -52
  672. data/vendor/rails/activerecord/test/fixtures/developers.yml +0 -21
  673. data/vendor/rails/activerecord/test/fixtures/developers_projects.yml +0 -17
  674. data/vendor/rails/activerecord/test/fixtures/developers_projects/david_action_controller +0 -3
  675. data/vendor/rails/activerecord/test/fixtures/developers_projects/david_active_record +0 -3
  676. data/vendor/rails/activerecord/test/fixtures/developers_projects/jamis_active_record +0 -2
  677. data/vendor/rails/activerecord/test/fixtures/edge.rb +0 -5
  678. data/vendor/rails/activerecord/test/fixtures/edges.yml +0 -6
  679. data/vendor/rails/activerecord/test/fixtures/entrant.rb +0 -3
  680. data/vendor/rails/activerecord/test/fixtures/entrants.yml +0 -14
  681. data/vendor/rails/activerecord/test/fixtures/fk_test_has_fk.yml +0 -3
  682. data/vendor/rails/activerecord/test/fixtures/fk_test_has_pk.yml +0 -2
  683. data/vendor/rails/activerecord/test/fixtures/flowers.jpg +0 -0
  684. data/vendor/rails/activerecord/test/fixtures/funny_jokes.yml +0 -10
  685. data/vendor/rails/activerecord/test/fixtures/joke.rb +0 -6
  686. data/vendor/rails/activerecord/test/fixtures/keyboard.rb +0 -3
  687. data/vendor/rails/activerecord/test/fixtures/legacy_thing.rb +0 -3
  688. data/vendor/rails/activerecord/test/fixtures/legacy_things.yml +0 -3
  689. data/vendor/rails/activerecord/test/fixtures/migrations/1_people_have_last_names.rb +0 -9
  690. data/vendor/rails/activerecord/test/fixtures/migrations/2_we_need_reminders.rb +0 -12
  691. data/vendor/rails/activerecord/test/fixtures/migrations/3_innocent_jointable.rb +0 -12
  692. data/vendor/rails/activerecord/test/fixtures/migrations_with_decimal/1_give_me_big_numbers.rb +0 -15
  693. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/1_people_have_last_names.rb +0 -9
  694. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/2_we_need_reminders.rb +0 -12
  695. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/3_foo.rb +0 -7
  696. data/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/3_innocent_jointable.rb +0 -12
  697. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/1000_people_have_middle_names.rb +0 -9
  698. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/1_people_have_last_names.rb +0 -9
  699. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/3_we_need_reminders.rb +0 -12
  700. data/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/4_innocent_jointable.rb +0 -12
  701. data/vendor/rails/activerecord/test/fixtures/mixed_case_monkey.rb +0 -3
  702. data/vendor/rails/activerecord/test/fixtures/mixed_case_monkeys.yml +0 -6
  703. data/vendor/rails/activerecord/test/fixtures/mixin.rb +0 -63
  704. data/vendor/rails/activerecord/test/fixtures/mixins.yml +0 -127
  705. data/vendor/rails/activerecord/test/fixtures/movie.rb +0 -5
  706. data/vendor/rails/activerecord/test/fixtures/movies.yml +0 -7
  707. data/vendor/rails/activerecord/test/fixtures/naked/csv/accounts.csv +0 -1
  708. data/vendor/rails/activerecord/test/fixtures/naked/yml/accounts.yml +0 -1
  709. data/vendor/rails/activerecord/test/fixtures/naked/yml/companies.yml +0 -1
  710. data/vendor/rails/activerecord/test/fixtures/naked/yml/courses.yml +0 -1
  711. data/vendor/rails/activerecord/test/fixtures/order.rb +0 -4
  712. data/vendor/rails/activerecord/test/fixtures/people.yml +0 -3
  713. data/vendor/rails/activerecord/test/fixtures/person.rb +0 -4
  714. data/vendor/rails/activerecord/test/fixtures/post.rb +0 -58
  715. data/vendor/rails/activerecord/test/fixtures/posts.yml +0 -48
  716. data/vendor/rails/activerecord/test/fixtures/project.rb +0 -27
  717. data/vendor/rails/activerecord/test/fixtures/projects.yml +0 -7
  718. data/vendor/rails/activerecord/test/fixtures/reader.rb +0 -4
  719. data/vendor/rails/activerecord/test/fixtures/readers.yml +0 -4
  720. data/vendor/rails/activerecord/test/fixtures/reply.rb +0 -37
  721. data/vendor/rails/activerecord/test/fixtures/subject.rb +0 -4
  722. data/vendor/rails/activerecord/test/fixtures/subscriber.rb +0 -6
  723. data/vendor/rails/activerecord/test/fixtures/subscribers/first +0 -2
  724. data/vendor/rails/activerecord/test/fixtures/subscribers/second +0 -2
  725. data/vendor/rails/activerecord/test/fixtures/tag.rb +0 -7
  726. data/vendor/rails/activerecord/test/fixtures/tagging.rb +0 -6
  727. data/vendor/rails/activerecord/test/fixtures/taggings.yml +0 -18
  728. data/vendor/rails/activerecord/test/fixtures/tags.yml +0 -7
  729. data/vendor/rails/activerecord/test/fixtures/task.rb +0 -3
  730. data/vendor/rails/activerecord/test/fixtures/tasks.yml +0 -7
  731. data/vendor/rails/activerecord/test/fixtures/topic.rb +0 -25
  732. data/vendor/rails/activerecord/test/fixtures/topics.yml +0 -22
  733. data/vendor/rails/activerecord/test/fixtures/vertex.rb +0 -9
  734. data/vendor/rails/activerecord/test/fixtures/vertices.yml +0 -4
  735. data/vendor/rails/activerecord/test/fixtures_test.rb +0 -410
  736. data/vendor/rails/activerecord/test/inheritance_test.rb +0 -212
  737. data/vendor/rails/activerecord/test/lifecycle_test.rb +0 -137
  738. data/vendor/rails/activerecord/test/locking_test.rb +0 -241
  739. data/vendor/rails/activerecord/test/method_scoping_test.rb +0 -416
  740. data/vendor/rails/activerecord/test/migration_test.rb +0 -781
  741. data/vendor/rails/activerecord/test/migration_test_firebird.rb +0 -124
  742. data/vendor/rails/activerecord/test/mixin_nested_set_test.rb +0 -196
  743. data/vendor/rails/activerecord/test/mixin_test.rb +0 -550
  744. data/vendor/rails/activerecord/test/modules_test.rb +0 -34
  745. data/vendor/rails/activerecord/test/multiple_db_test.rb +0 -60
  746. data/vendor/rails/activerecord/test/pk_test.rb +0 -101
  747. data/vendor/rails/activerecord/test/query_cache_test.rb +0 -107
  748. data/vendor/rails/activerecord/test/readonly_test.rb +0 -107
  749. data/vendor/rails/activerecord/test/reflection_test.rb +0 -166
  750. data/vendor/rails/activerecord/test/schema_authorization_test_postgresql.rb +0 -75
  751. data/vendor/rails/activerecord/test/schema_dumper_test.rb +0 -124
  752. data/vendor/rails/activerecord/test/schema_test_postgresql.rb +0 -64
  753. data/vendor/rails/activerecord/test/synonym_test_oracle.rb +0 -17
  754. data/vendor/rails/activerecord/test/table_name_test_sqlserver.rb +0 -23
  755. data/vendor/rails/activerecord/test/threaded_connections_test.rb +0 -48
  756. data/vendor/rails/activerecord/test/transactions_test.rb +0 -268
  757. data/vendor/rails/activerecord/test/unconnected_test.rb +0 -32
  758. data/vendor/rails/activerecord/test/validations_test.rb +0 -1131
  759. data/vendor/rails/activerecord/test/xml_serialization_test.rb +0 -153
  760. data/vendor/rails/activeresource/CHANGELOG +0 -177
  761. data/vendor/rails/activeresource/MIT-LICENSE +0 -20
  762. data/vendor/rails/activeresource/README +0 -235
  763. data/vendor/rails/activeresource/Rakefile +0 -132
  764. data/vendor/rails/activeresource/lib/active_resource.rb +0 -47
  765. data/vendor/rails/activeresource/lib/active_resource/base.rb +0 -424
  766. data/vendor/rails/activeresource/lib/active_resource/connection.rb +0 -161
  767. data/vendor/rails/activeresource/lib/active_resource/custom_methods.rb +0 -104
  768. data/vendor/rails/activeresource/lib/active_resource/http_mock.rb +0 -131
  769. data/vendor/rails/activeresource/lib/active_resource/struct.rb +0 -16
  770. data/vendor/rails/activeresource/lib/active_resource/validations.rb +0 -161
  771. data/vendor/rails/activeresource/lib/active_resource/version.rb +0 -9
  772. data/vendor/rails/activeresource/test/abstract_unit.rb +0 -10
  773. data/vendor/rails/activeresource/test/authorization_test.rb +0 -82
  774. data/vendor/rails/activeresource/test/base/custom_methods_test.rb +0 -87
  775. data/vendor/rails/activeresource/test/base/equality_test.rb +0 -43
  776. data/vendor/rails/activeresource/test/base/load_test.rb +0 -111
  777. data/vendor/rails/activeresource/test/base_errors_test.rb +0 -35
  778. data/vendor/rails/activeresource/test/base_test.rb +0 -390
  779. data/vendor/rails/activeresource/test/connection_test.rb +0 -148
  780. data/vendor/rails/activeresource/test/fixtures/beast.rb +0 -14
  781. data/vendor/rails/activeresource/test/fixtures/person.rb +0 -3
  782. data/vendor/rails/activeresource/test/fixtures/street_address.rb +0 -4
  783. data/vendor/rails/activeresource/test/setter_trap.rb +0 -29
  784. data/vendor/rails/activesupport/CHANGELOG +0 -787
  785. data/vendor/rails/activesupport/MIT-LICENSE +0 -20
  786. data/vendor/rails/activesupport/README +0 -43
  787. data/vendor/rails/activesupport/Rakefile +0 -82
  788. data/vendor/rails/activesupport/install.rb +0 -30
  789. data/vendor/rails/activesupport/lib/active_support.rb +0 -46
  790. data/vendor/rails/activesupport/lib/active_support/caching_tools.rb +0 -62
  791. data/vendor/rails/activesupport/lib/active_support/clean_logger.rb +0 -78
  792. data/vendor/rails/activesupport/lib/active_support/core_ext.rb +0 -1
  793. data/vendor/rails/activesupport/lib/active_support/core_ext/array.rb +0 -7
  794. data/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb +0 -72
  795. data/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb +0 -55
  796. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb +0 -3
  797. data/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/formatting.rb +0 -7
  798. data/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb +0 -50
  799. data/vendor/rails/activesupport/lib/active_support/core_ext/cgi.rb +0 -5
  800. data/vendor/rails/activesupport/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +0 -14
  801. data/vendor/rails/activesupport/lib/active_support/core_ext/class.rb +0 -3
  802. data/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb +0 -48
  803. data/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb +0 -140
  804. data/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb +0 -24
  805. data/vendor/rails/activesupport/lib/active_support/core_ext/date.rb +0 -10
  806. data/vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb +0 -13
  807. data/vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb +0 -45
  808. data/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb +0 -40
  809. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb +0 -8
  810. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb +0 -173
  811. data/vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb +0 -33
  812. data/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb +0 -62
  813. data/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb +0 -33
  814. data/vendor/rails/activesupport/lib/active_support/core_ext/file.rb +0 -21
  815. data/vendor/rails/activesupport/lib/active_support/core_ext/hash.rb +0 -12
  816. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb +0 -221
  817. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/diff.rb +0 -11
  818. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb +0 -101
  819. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb +0 -53
  820. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb +0 -25
  821. data/vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb +0 -28
  822. data/vendor/rails/activesupport/lib/active_support/core_ext/integer.rb +0 -7
  823. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb +0 -24
  824. data/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb +0 -21
  825. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel.rb +0 -5
  826. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/agnostics.rb +0 -11
  827. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb +0 -15
  828. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb +0 -13
  829. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb +0 -51
  830. data/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb +0 -24
  831. data/vendor/rails/activesupport/lib/active_support/core_ext/load_error.rb +0 -38
  832. data/vendor/rails/activesupport/lib/active_support/core_ext/logger.rb +0 -16
  833. data/vendor/rails/activesupport/lib/active_support/core_ext/module.rb +0 -8
  834. data/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb +0 -70
  835. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb +0 -31
  836. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb +0 -31
  837. data/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb +0 -48
  838. data/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb +0 -41
  839. data/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb +0 -11
  840. data/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb +0 -35
  841. data/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb +0 -13
  842. data/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb +0 -17
  843. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb +0 -7
  844. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/bytes.rb +0 -44
  845. data/vendor/rails/activesupport/lib/active_support/core_ext/numeric/time.rb +0 -91
  846. data/vendor/rails/activesupport/lib/active_support/core_ext/object.rb +0 -2
  847. data/vendor/rails/activesupport/lib/active_support/core_ext/object/extending.rb +0 -47
  848. data/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb +0 -54
  849. data/vendor/rails/activesupport/lib/active_support/core_ext/pathname.rb +0 -7
  850. data/vendor/rails/activesupport/lib/active_support/core_ext/pathname/clean_within.rb +0 -14
  851. data/vendor/rails/activesupport/lib/active_support/core_ext/proc.rb +0 -12
  852. data/vendor/rails/activesupport/lib/active_support/core_ext/range.rb +0 -5
  853. data/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb +0 -21
  854. data/vendor/rails/activesupport/lib/active_support/core_ext/string.rb +0 -15
  855. data/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb +0 -58
  856. data/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb +0 -19
  857. data/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb +0 -153
  858. data/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb +0 -17
  859. data/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb +0 -20
  860. data/vendor/rails/activesupport/lib/active_support/core_ext/string/unicode.rb +0 -42
  861. data/vendor/rails/activesupport/lib/active_support/core_ext/symbol.rb +0 -12
  862. data/vendor/rails/activesupport/lib/active_support/core_ext/test.rb +0 -2
  863. data/vendor/rails/activesupport/lib/active_support/core_ext/test/difference.rb +0 -40
  864. data/vendor/rails/activesupport/lib/active_support/core_ext/time.rb +0 -19
  865. data/vendor/rails/activesupport/lib/active_support/core_ext/time/behavior.rb +0 -13
  866. data/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb +0 -239
  867. data/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb +0 -39
  868. data/vendor/rails/activesupport/lib/active_support/dependencies.rb +0 -539
  869. data/vendor/rails/activesupport/lib/active_support/deprecation.rb +0 -202
  870. data/vendor/rails/activesupport/lib/active_support/duration.rb +0 -89
  871. data/vendor/rails/activesupport/lib/active_support/inflections.rb +0 -52
  872. data/vendor/rails/activesupport/lib/active_support/inflector.rb +0 -275
  873. data/vendor/rails/activesupport/lib/active_support/json.rb +0 -31
  874. data/vendor/rails/activesupport/lib/active_support/json/decoding.rb +0 -40
  875. data/vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb +0 -5
  876. data/vendor/rails/activesupport/lib/active_support/json/encoders/false_class.rb +0 -5
  877. data/vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb +0 -12
  878. data/vendor/rails/activesupport/lib/active_support/json/encoders/nil_class.rb +0 -5
  879. data/vendor/rails/activesupport/lib/active_support/json/encoders/numeric.rb +0 -5
  880. data/vendor/rails/activesupport/lib/active_support/json/encoders/object.rb +0 -10
  881. data/vendor/rails/activesupport/lib/active_support/json/encoders/regexp.rb +0 -5
  882. data/vendor/rails/activesupport/lib/active_support/json/encoders/string.rb +0 -27
  883. data/vendor/rails/activesupport/lib/active_support/json/encoders/symbol.rb +0 -5
  884. data/vendor/rails/activesupport/lib/active_support/json/encoders/true_class.rb +0 -5
  885. data/vendor/rails/activesupport/lib/active_support/json/encoding.rb +0 -45
  886. data/vendor/rails/activesupport/lib/active_support/json/variable.rb +0 -10
  887. data/vendor/rails/activesupport/lib/active_support/multibyte.rb +0 -7
  888. data/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb +0 -129
  889. data/vendor/rails/activesupport/lib/active_support/multibyte/generators/generate_tables.rb +0 -149
  890. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/passthru_handler.rb +0 -9
  891. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb +0 -458
  892. data/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler_proc.rb +0 -43
  893. data/vendor/rails/activesupport/lib/active_support/option_merger.rb +0 -25
  894. data/vendor/rails/activesupport/lib/active_support/ordered_options.rb +0 -44
  895. data/vendor/rails/activesupport/lib/active_support/reloadable.rb +0 -60
  896. data/vendor/rails/activesupport/lib/active_support/values/time_zone.rb +0 -180
  897. data/vendor/rails/activesupport/lib/active_support/values/unicode_tables.dat +0 -0
  898. data/vendor/rails/activesupport/lib/active_support/vendor/builder.rb +0 -13
  899. data/vendor/rails/activesupport/lib/active_support/vendor/builder/blankslate.rb +0 -63
  900. data/vendor/rails/activesupport/lib/active_support/vendor/builder/xchar.rb +0 -112
  901. data/vendor/rails/activesupport/lib/active_support/vendor/builder/xmlbase.rb +0 -145
  902. data/vendor/rails/activesupport/lib/active_support/vendor/builder/xmlevents.rb +0 -63
  903. data/vendor/rails/activesupport/lib/active_support/vendor/builder/xmlmarkup.rb +0 -327
  904. data/vendor/rails/activesupport/lib/active_support/vendor/xml_simple.rb +0 -1021
  905. data/vendor/rails/activesupport/lib/active_support/version.rb +0 -9
  906. data/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -38
  907. data/vendor/rails/activesupport/test/abstract_unit.rb +0 -7
  908. data/vendor/rails/activesupport/test/autoloading_fixtures/a/b.rb +0 -2
  909. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/d.rb +0 -2
  910. data/vendor/rails/activesupport/test/autoloading_fixtures/a/c/e/f.rb +0 -2
  911. data/vendor/rails/activesupport/test/autoloading_fixtures/application.rb +0 -1
  912. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder.rb +0 -3
  913. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/class_folder_subclass.rb +0 -3
  914. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/inline_class.rb +0 -2
  915. data/vendor/rails/activesupport/test/autoloading_fixtures/class_folder/nested_class.rb +0 -7
  916. data/vendor/rails/activesupport/test/autoloading_fixtures/conflict.rb +0 -1
  917. data/vendor/rails/activesupport/test/autoloading_fixtures/counting_loader.rb +0 -5
  918. data/vendor/rails/activesupport/test/autoloading_fixtures/cross_site_dependency.rb +0 -2
  919. data/vendor/rails/activesupport/test/autoloading_fixtures/e.rb +0 -2
  920. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/inline_class.rb +0 -2
  921. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_class.rb +0 -4
  922. data/vendor/rails/activesupport/test/autoloading_fixtures/module_folder/nested_sibling.rb +0 -2
  923. data/vendor/rails/activesupport/test/autoloading_fixtures/module_with_custom_const_missing/a/b.rb +0 -1
  924. data/vendor/rails/activesupport/test/autoloading_fixtures/multiple_constant_file.rb +0 -2
  925. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_name_error.rb +0 -3
  926. data/vendor/rails/activesupport/test/autoloading_fixtures/raises_no_method_error.rb +0 -3
  927. data/vendor/rails/activesupport/test/caching_tools_test.rb +0 -79
  928. data/vendor/rails/activesupport/test/clean_logger_test.rb +0 -87
  929. data/vendor/rails/activesupport/test/core_ext/array_ext_test.rb +0 -182
  930. data/vendor/rails/activesupport/test/core_ext/blank_test.rb +0 -11
  931. data/vendor/rails/activesupport/test/core_ext/cgi_ext_test.rb +0 -14
  932. data/vendor/rails/activesupport/test/core_ext/class/attribute_accessor_test.rb +0 -31
  933. data/vendor/rails/activesupport/test/core_ext/class/class_inheritable_attributes_test.rb +0 -208
  934. data/vendor/rails/activesupport/test/core_ext/class_test.rb +0 -36
  935. data/vendor/rails/activesupport/test/core_ext/date_ext_test.rb +0 -21
  936. data/vendor/rails/activesupport/test/core_ext/date_time_ext_test.rb +0 -152
  937. data/vendor/rails/activesupport/test/core_ext/duration_test.rb +0 -21
  938. data/vendor/rails/activesupport/test/core_ext/enumerable_test.rb +0 -61
  939. data/vendor/rails/activesupport/test/core_ext/exception_test.rb +0 -64
  940. data/vendor/rails/activesupport/test/core_ext/file_test.rb +0 -29
  941. data/vendor/rails/activesupport/test/core_ext/hash_ext_test.rb +0 -622
  942. data/vendor/rails/activesupport/test/core_ext/integer_ext_test.rb +0 -37
  943. data/vendor/rails/activesupport/test/core_ext/kernel_test.rb +0 -43
  944. data/vendor/rails/activesupport/test/core_ext/load_error_tests.rb +0 -16
  945. data/vendor/rails/activesupport/test/core_ext/module/attr_accessor_with_default.rb +0 -30
  946. data/vendor/rails/activesupport/test/core_ext/module/attr_accessor_with_default_test.rb +0 -30
  947. data/vendor/rails/activesupport/test/core_ext/module/attr_internal_test.rb +0 -52
  948. data/vendor/rails/activesupport/test/core_ext/module/attribute_accessor_test.rb +0 -33
  949. data/vendor/rails/activesupport/test/core_ext/module/attribute_aliasing_test.rb +0 -31
  950. data/vendor/rails/activesupport/test/core_ext/module_test.rb +0 -274
  951. data/vendor/rails/activesupport/test/core_ext/name_error_test.rb +0 -24
  952. data/vendor/rails/activesupport/test/core_ext/numeric_ext_test.rb +0 -104
  953. data/vendor/rails/activesupport/test/core_ext/object_and_class_ext_test.rb +0 -216
  954. data/vendor/rails/activesupport/test/core_ext/pathname_test.rb +0 -9
  955. data/vendor/rails/activesupport/test/core_ext/proc_test.rb +0 -11
  956. data/vendor/rails/activesupport/test/core_ext/range_ext_test.rb +0 -13
  957. data/vendor/rails/activesupport/test/core_ext/string_ext_test.rb +0 -152
  958. data/vendor/rails/activesupport/test/core_ext/symbol_test.rb +0 -9
  959. data/vendor/rails/activesupport/test/core_ext/time_ext_test.rb +0 -373
  960. data/vendor/rails/activesupport/test/dependencies/check_warnings.rb +0 -2
  961. data/vendor/rails/activesupport/test/dependencies/conflict.rb +0 -1
  962. data/vendor/rails/activesupport/test/dependencies/cross_site_depender.rb +0 -3
  963. data/vendor/rails/activesupport/test/dependencies/mutual_one.rb +0 -4
  964. data/vendor/rails/activesupport/test/dependencies/mutual_two.rb +0 -4
  965. data/vendor/rails/activesupport/test/dependencies/raises_exception.rb +0 -3
  966. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent0.rb +0 -1
  967. data/vendor/rails/activesupport/test/dependencies/requires_nonexistent1.rb +0 -1
  968. data/vendor/rails/activesupport/test/dependencies/service_one.rb +0 -5
  969. data/vendor/rails/activesupport/test/dependencies/service_two.rb +0 -2
  970. data/vendor/rails/activesupport/test/dependencies_test.rb +0 -752
  971. data/vendor/rails/activesupport/test/deprecation_test.rb +0 -151
  972. data/vendor/rails/activesupport/test/inflector_test.rb +0 -438
  973. data/vendor/rails/activesupport/test/json/decoding_test.rb +0 -28
  974. data/vendor/rails/activesupport/test/json/encoding_test.rb +0 -96
  975. data/vendor/rails/activesupport/test/multibyte_chars_test.rb +0 -164
  976. data/vendor/rails/activesupport/test/multibyte_conformance.rb +0 -141
  977. data/vendor/rails/activesupport/test/multibyte_handler_test.rb +0 -277
  978. data/vendor/rails/activesupport/test/option_merger_test.rb +0 -50
  979. data/vendor/rails/activesupport/test/ordered_options_test.rb +0 -80
  980. data/vendor/rails/activesupport/test/reloadable_test.rb +0 -123
  981. data/vendor/rails/activesupport/test/test_test.rb +0 -56
  982. data/vendor/rails/activesupport/test/time_zone_test.rb +0 -91
  983. data/vendor/rails/activesupport/test/whiny_nil_test.rb +0 -38
  984. data/vendor/rails/railties/CHANGELOG +0 -1407
  985. data/vendor/rails/railties/MIT-LICENSE +0 -20
  986. data/vendor/rails/railties/README +0 -180
  987. data/vendor/rails/railties/Rakefile +0 -355
  988. data/vendor/rails/railties/bin/about +0 -3
  989. data/vendor/rails/railties/bin/console +0 -3
  990. data/vendor/rails/railties/bin/destroy +0 -3
  991. data/vendor/rails/railties/bin/generate +0 -3
  992. data/vendor/rails/railties/bin/performance/benchmarker +0 -3
  993. data/vendor/rails/railties/bin/performance/profiler +0 -3
  994. data/vendor/rails/railties/bin/plugin +0 -3
  995. data/vendor/rails/railties/bin/process/inspector +0 -3
  996. data/vendor/rails/railties/bin/process/reaper +0 -3
  997. data/vendor/rails/railties/bin/process/spawner +0 -3
  998. data/vendor/rails/railties/bin/rails +0 -19
  999. data/vendor/rails/railties/bin/runner +0 -3
  1000. data/vendor/rails/railties/bin/server +0 -3
  1001. data/vendor/rails/railties/builtin/rails_info/rails/info.rb +0 -123
  1002. data/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb +0 -9
  1003. data/vendor/rails/railties/builtin/rails_info/rails/info_helper.rb +0 -2
  1004. data/vendor/rails/railties/builtin/rails_info/rails_info_controller.rb +0 -2
  1005. data/vendor/rails/railties/configs/apache.conf +0 -40
  1006. data/vendor/rails/railties/configs/databases/frontbase.yml +0 -28
  1007. data/vendor/rails/railties/configs/databases/mysql.yml +0 -48
  1008. data/vendor/rails/railties/configs/databases/oracle.yml +0 -39
  1009. data/vendor/rails/railties/configs/databases/postgresql.yml +0 -44
  1010. data/vendor/rails/railties/configs/databases/sqlite2.yml +0 -16
  1011. data/vendor/rails/railties/configs/databases/sqlite3.yml +0 -19
  1012. data/vendor/rails/railties/configs/empty.log +0 -0
  1013. data/vendor/rails/railties/configs/initializers/inflections.rb +0 -8
  1014. data/vendor/rails/railties/configs/initializers/mime_types.rb +0 -3
  1015. data/vendor/rails/railties/configs/lighttpd.conf +0 -54
  1016. data/vendor/rails/railties/configs/routes.rb +0 -27
  1017. data/vendor/rails/railties/dispatches/dispatch.fcgi +0 -24
  1018. data/vendor/rails/railties/dispatches/dispatch.rb +0 -10
  1019. data/vendor/rails/railties/dispatches/gateway.cgi +0 -97
  1020. data/vendor/rails/railties/doc/README_FOR_APP +0 -2
  1021. data/vendor/rails/railties/environments/boot.rb +0 -36
  1022. data/vendor/rails/railties/environments/development.rb +0 -18
  1023. data/vendor/rails/railties/environments/environment.rb +0 -55
  1024. data/vendor/rails/railties/environments/production.rb +0 -18
  1025. data/vendor/rails/railties/environments/test.rb +0 -19
  1026. data/vendor/rails/railties/fresh_rakefile +0 -10
  1027. data/vendor/rails/railties/helpers/application.rb +0 -6
  1028. data/vendor/rails/railties/helpers/application_helper.rb +0 -3
  1029. data/vendor/rails/railties/helpers/test_helper.rb +0 -36
  1030. data/vendor/rails/railties/html/404.html +0 -30
  1031. data/vendor/rails/railties/html/500.html +0 -30
  1032. data/vendor/rails/railties/html/favicon.ico +0 -0
  1033. data/vendor/rails/railties/html/images/rails.png +0 -0
  1034. data/vendor/rails/railties/html/index.html +0 -277
  1035. data/vendor/rails/railties/html/javascripts/application.js +0 -2
  1036. data/vendor/rails/railties/html/javascripts/controls.js +0 -833
  1037. data/vendor/rails/railties/html/javascripts/dragdrop.js +0 -942
  1038. data/vendor/rails/railties/html/javascripts/effects.js +0 -1088
  1039. data/vendor/rails/railties/html/javascripts/prototype.js +0 -2515
  1040. data/vendor/rails/railties/html/robots.txt +0 -1
  1041. data/vendor/rails/railties/lib/code_statistics.rb +0 -107
  1042. data/vendor/rails/railties/lib/commands.rb +0 -17
  1043. data/vendor/rails/railties/lib/commands/about.rb +0 -2
  1044. data/vendor/rails/railties/lib/commands/console.rb +0 -32
  1045. data/vendor/rails/railties/lib/commands/destroy.rb +0 -6
  1046. data/vendor/rails/railties/lib/commands/generate.rb +0 -6
  1047. data/vendor/rails/railties/lib/commands/ncgi/listener +0 -86
  1048. data/vendor/rails/railties/lib/commands/ncgi/tracker +0 -69
  1049. data/vendor/rails/railties/lib/commands/performance/benchmarker.rb +0 -24
  1050. data/vendor/rails/railties/lib/commands/performance/profiler.rb +0 -50
  1051. data/vendor/rails/railties/lib/commands/plugin.rb +0 -918
  1052. data/vendor/rails/railties/lib/commands/process/inspector.rb +0 -68
  1053. data/vendor/rails/railties/lib/commands/process/reaper.rb +0 -149
  1054. data/vendor/rails/railties/lib/commands/process/spawner.rb +0 -209
  1055. data/vendor/rails/railties/lib/commands/process/spinner.rb +0 -57
  1056. data/vendor/rails/railties/lib/commands/runner.rb +0 -48
  1057. data/vendor/rails/railties/lib/commands/server.rb +0 -39
  1058. data/vendor/rails/railties/lib/commands/servers/base.rb +0 -31
  1059. data/vendor/rails/railties/lib/commands/servers/lighttpd.rb +0 -94
  1060. data/vendor/rails/railties/lib/commands/servers/mongrel.rb +0 -69
  1061. data/vendor/rails/railties/lib/commands/servers/webrick.rb +0 -65
  1062. data/vendor/rails/railties/lib/commands/update.rb +0 -4
  1063. data/vendor/rails/railties/lib/console_app.rb +0 -27
  1064. data/vendor/rails/railties/lib/console_sandbox.rb +0 -6
  1065. data/vendor/rails/railties/lib/console_with_helpers.rb +0 -23
  1066. data/vendor/rails/railties/lib/dispatcher.rb +0 -181
  1067. data/vendor/rails/railties/lib/fcgi_handler.rb +0 -207
  1068. data/vendor/rails/railties/lib/initializer.rb +0 -693
  1069. data/vendor/rails/railties/lib/rails/plugin/loader.rb +0 -123
  1070. data/vendor/rails/railties/lib/rails/plugin/locator.rb +0 -59
  1071. data/vendor/rails/railties/lib/rails/version.rb +0 -9
  1072. data/vendor/rails/railties/lib/rails_generator.rb +0 -43
  1073. data/vendor/rails/railties/lib/rails_generator/base.rb +0 -261
  1074. data/vendor/rails/railties/lib/rails_generator/commands.rb +0 -581
  1075. data/vendor/rails/railties/lib/rails_generator/generated_attribute.rb +0 -42
  1076. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/USAGE +0 -16
  1077. data/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb +0 -175
  1078. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/USAGE +0 -30
  1079. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -37
  1080. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -10
  1081. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -18
  1082. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
  1083. data/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/view.html.erb +0 -2
  1084. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/USAGE +0 -14
  1085. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +0 -16
  1086. data/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +0 -10
  1087. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/USAGE +0 -18
  1088. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -34
  1089. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.erb +0 -3
  1090. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
  1091. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -13
  1092. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -37
  1093. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.erb +0 -3
  1094. data/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
  1095. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE +0 -14
  1096. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -7
  1097. data/vendor/rails/railties/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -7
  1098. data/vendor/rails/railties/lib/rails_generator/generators/components/model/USAGE +0 -26
  1099. data/vendor/rails/railties/lib/rails_generator/generators/components/model/model_generator.rb +0 -38
  1100. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -11
  1101. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/migration.rb +0 -13
  1102. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/model.rb +0 -2
  1103. data/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -10
  1104. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/USAGE +0 -15
  1105. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/observer_generator.rb +0 -16
  1106. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -2
  1107. data/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb +0 -10
  1108. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/USAGE +0 -35
  1109. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -39
  1110. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +0 -20
  1111. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/README +0 -13
  1112. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
  1113. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
  1114. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/install.rb +0 -1
  1115. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
  1116. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
  1117. data/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +0 -1
  1118. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/USAGE +0 -30
  1119. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/resource_generator.rb +0 -63
  1120. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/USAGE +0 -18
  1121. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -2
  1122. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/fixtures.yml +0 -0
  1123. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb +0 -20
  1124. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -2
  1125. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/migration.rb +0 -0
  1126. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/model.rb +0 -0
  1127. data/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/unit_test.rb +0 -0
  1128. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/USAGE +0 -37
  1129. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -92
  1130. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -85
  1131. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/fixtures.yml +0 -11
  1132. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -57
  1133. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
  1134. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +0 -17
  1135. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/migration.rb +0 -13
  1136. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/model.rb +0 -2
  1137. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -74
  1138. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/unit_test.rb +0 -10
  1139. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +0 -19
  1140. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +0 -24
  1141. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +0 -18
  1142. data/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +0 -10
  1143. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/USAGE +0 -15
  1144. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -18
  1145. data/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -16
  1146. data/vendor/rails/railties/lib/rails_generator/generators/components/web_service/USAGE +0 -28
  1147. data/vendor/rails/railties/lib/rails_generator/generators/components/web_service/templates/api_definition.rb +0 -5
  1148. data/vendor/rails/railties/lib/rails_generator/generators/components/web_service/templates/controller.rb +0 -8
  1149. data/vendor/rails/railties/lib/rails_generator/generators/components/web_service/templates/functional_test.rb +0 -19
  1150. data/vendor/rails/railties/lib/rails_generator/generators/components/web_service/web_service_generator.rb +0 -29
  1151. data/vendor/rails/railties/lib/rails_generator/lookup.rb +0 -209
  1152. data/vendor/rails/railties/lib/rails_generator/manifest.rb +0 -53
  1153. data/vendor/rails/railties/lib/rails_generator/options.rb +0 -143
  1154. data/vendor/rails/railties/lib/rails_generator/scripts.rb +0 -83
  1155. data/vendor/rails/railties/lib/rails_generator/scripts/destroy.rb +0 -30
  1156. data/vendor/rails/railties/lib/rails_generator/scripts/generate.rb +0 -7
  1157. data/vendor/rails/railties/lib/rails_generator/scripts/update.rb +0 -12
  1158. data/vendor/rails/railties/lib/rails_generator/simple_logger.rb +0 -46
  1159. data/vendor/rails/railties/lib/rails_generator/spec.rb +0 -44
  1160. data/vendor/rails/railties/lib/railties_path.rb +0 -1
  1161. data/vendor/rails/railties/lib/ruby_version_check.rb +0 -17
  1162. data/vendor/rails/railties/lib/rubyprof_ext.rb +0 -35
  1163. data/vendor/rails/railties/lib/tasks/annotations.rake +0 -84
  1164. data/vendor/rails/railties/lib/tasks/databases.rake +0 -187
  1165. data/vendor/rails/railties/lib/tasks/documentation.rake +0 -82
  1166. data/vendor/rails/railties/lib/tasks/framework.rake +0 -112
  1167. data/vendor/rails/railties/lib/tasks/log.rake +0 -9
  1168. data/vendor/rails/railties/lib/tasks/misc.rake +0 -4
  1169. data/vendor/rails/railties/lib/tasks/pre_namespace_aliases.rake +0 -53
  1170. data/vendor/rails/railties/lib/tasks/rails.rb +0 -8
  1171. data/vendor/rails/railties/lib/tasks/statistics.rake +0 -18
  1172. data/vendor/rails/railties/lib/tasks/testing.rake +0 -120
  1173. data/vendor/rails/railties/lib/tasks/tmp.rake +0 -37
  1174. data/vendor/rails/railties/lib/test_help.rb +0 -17
  1175. data/vendor/rails/railties/lib/webrick_server.rb +0 -165
  1176. data/vendor/rails/railties/test/abstract_unit.rb +0 -17
  1177. data/vendor/rails/railties/test/dispatcher_test.rb +0 -139
  1178. data/vendor/rails/railties/test/fcgi_dispatcher_test.rb +0 -266
  1179. data/vendor/rails/railties/test/fixtures/environment_with_constant.rb +0 -1
  1180. data/vendor/rails/railties/test/fixtures/lib/generators/missing_class/missing_class_generator.rb +0 -0
  1181. data/vendor/rails/railties/test/fixtures/lib/generators/working/working_generator.rb +0 -2
  1182. data/vendor/rails/railties/test/fixtures/plugins/default/plugin_with_no_lib_dir/init.rb +0 -0
  1183. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/init.rb +0 -7
  1184. data/vendor/rails/railties/test/fixtures/plugins/default/stubby/lib/stubby_mixin.rb +0 -2
  1185. data/vendor/rails/railties/test/initializer_test.rb +0 -22
  1186. data/vendor/rails/railties/test/mocks/dispatcher.rb +0 -13
  1187. data/vendor/rails/railties/test/mocks/fcgi.rb +0 -15
  1188. data/vendor/rails/railties/test/mocks/routes.rb +0 -6
  1189. data/vendor/rails/railties/test/mocks/stubbed_breakpoint.rb +0 -2
  1190. data/vendor/rails/railties/test/mocks/stubbed_kernel.rb +0 -5
  1191. data/vendor/rails/railties/test/plugin_loader_test.rb +0 -78
  1192. data/vendor/rails/railties/test/plugin_locator_test.rb +0 -41
  1193. data/vendor/rails/railties/test/plugin_test_helper.rb +0 -18
  1194. data/vendor/rails/railties/test/rails_generator_test.rb +0 -137
  1195. data/vendor/rails/railties/test/rails_info_controller_test.rb +0 -48
  1196. data/vendor/rails/railties/test/rails_info_test.rb +0 -98
@@ -1,1902 +0,0 @@
1
- require "#{File.dirname(__FILE__)}/../abstract_unit"
2
- require "#{File.dirname(__FILE__)}/fake_controllers"
3
- require 'action_controller/routing'
4
-
5
- RunTimeTests = ARGV.include? 'time'
6
- ROUTING = ActionController::Routing
7
-
8
- class ROUTING::RouteBuilder
9
- attr_reader :warn_output
10
-
11
- def warn(msg)
12
- (@warn_output ||= []) << msg
13
- end
14
- end
15
-
16
- # See RFC 3986, section 3.3 for allowed path characters.
17
- class UriReservedCharactersRoutingTest < Test::Unit::TestCase
18
- def setup
19
- ActionController::Routing.use_controllers! ['controller']
20
- @set = ActionController::Routing::RouteSet.new
21
- @set.draw do |map|
22
- map.connect ':controller/:action/:variable'
23
- end
24
-
25
- # TODO: perhaps , (comma) shouldn't be a route separator.
26
- safe, unsafe = %w(: @ & = + $), %w(, ^ / ? # [ ] ;)
27
- hex = unsafe.map { |char| '%' + char.unpack('H2').first.upcase }
28
-
29
- @segment = "#{safe}#{unsafe}".freeze
30
- @escaped = "#{safe}#{hex}".freeze
31
- end
32
-
33
- def test_route_generation_escapes_unsafe_path_characters
34
- assert_equal "/contr#{@segment}oller/act#{@escaped}ion/var#{@escaped}iable",
35
- @set.generate(:controller => "contr#{@segment}oller",
36
- :action => "act#{@segment}ion",
37
- :variable => "var#{@segment}iable")
38
- end
39
-
40
- def test_route_recognition_unescapes_path_components
41
- options = { :controller => "controller",
42
- :action => "act#{@segment}ion",
43
- :variable => "var#{@segment}iable" }
44
- assert_equal options, @set.recognize_path("/controller/act#{@escaped}ion/var#{@escaped}iable")
45
- end
46
- end
47
-
48
- class LegacyRouteSetTests < Test::Unit::TestCase
49
- attr_reader :rs
50
- def setup
51
- @rs = ::ActionController::Routing::RouteSet.new
52
- @rs.draw {|m| m.connect ':controller/:action/:id' }
53
- ActionController::Routing.use_controllers! %w(content admin/user admin/news_feed)
54
- end
55
-
56
- def test_default_setup
57
- assert_equal({:controller => "content", :action => 'index'}, rs.recognize_path("/content"))
58
- assert_equal({:controller => "content", :action => 'list'}, rs.recognize_path("/content/list"))
59
- assert_equal({:controller => "content", :action => 'show', :id => '10'}, rs.recognize_path("/content/show/10"))
60
-
61
- assert_equal({:controller => "admin/user", :action => 'show', :id => '10'}, rs.recognize_path("/admin/user/show/10"))
62
-
63
- assert_equal '/admin/user/show/10', rs.generate(:controller => 'admin/user', :action => 'show', :id => 10)
64
-
65
- assert_equal '/admin/user/show', rs.generate({:action => 'show'}, {:controller => 'admin/user', :action => 'list', :id => '10'})
66
- assert_equal '/admin/user/list/10', rs.generate({}, {:controller => 'admin/user', :action => 'list', :id => '10'})
67
-
68
- assert_equal '/admin/stuff', rs.generate({:controller => 'stuff'}, {:controller => 'admin/user', :action => 'list', :id => '10'})
69
- assert_equal '/stuff', rs.generate({:controller => '/stuff'}, {:controller => 'admin/user', :action => 'list', :id => '10'})
70
- end
71
-
72
- def test_ignores_leading_slash
73
- @rs.draw {|m| m.connect '/:controller/:action/:id'}
74
- test_default_setup
75
- end
76
-
77
- def test_time_recognition
78
- n = 10000
79
- if RunTimeTests
80
- GC.start
81
- rectime = Benchmark.realtime do
82
- n.times do
83
- rs.recognize_path("content")
84
- rs.recognize_path("content/list")
85
- rs.recognize_path("content/show/10")
86
- rs.recognize_path("admin/user")
87
- rs.recognize_path("admin/user/list")
88
- rs.recognize_path("admin/user/show/10")
89
- end
90
- end
91
- puts "\n\nRecognition (RouteSet):"
92
- per_url = rectime / (n * 6)
93
- puts "#{per_url * 1000} ms/url"
94
- puts "#{1 / per_url} url/s\n\n"
95
- end
96
- end
97
- def test_time_generation
98
- n = 5000
99
- if RunTimeTests
100
- GC.start
101
- pairs = [
102
- [{:controller => 'content', :action => 'index'}, {:controller => 'content', :action => 'show'}],
103
- [{:controller => 'content'}, {:controller => 'content', :action => 'index'}],
104
- [{:controller => 'content', :action => 'list'}, {:controller => 'content', :action => 'index'}],
105
- [{:controller => 'content', :action => 'show', :id => '10'}, {:controller => 'content', :action => 'list'}],
106
- [{:controller => 'admin/user', :action => 'index'}, {:controller => 'admin/user', :action => 'show'}],
107
- [{:controller => 'admin/user'}, {:controller => 'admin/user', :action => 'index'}],
108
- [{:controller => 'admin/user', :action => 'list'}, {:controller => 'admin/user', :action => 'index'}],
109
- [{:controller => 'admin/user', :action => 'show', :id => '10'}, {:controller => 'admin/user', :action => 'list'}],
110
- ]
111
- p = nil
112
- gentime = Benchmark.realtime do
113
- n.times do
114
- pairs.each {|(a, b)| rs.generate(a, b)}
115
- end
116
- end
117
-
118
- puts "\n\nGeneration (RouteSet): (#{(n * 8)} urls)"
119
- per_url = gentime / (n * 8)
120
- puts "#{per_url * 1000} ms/url"
121
- puts "#{1 / per_url} url/s\n\n"
122
- end
123
- end
124
-
125
- def test_route_with_colon_first
126
- rs.draw do |map|
127
- map.connect '/:controller/:action/:id', :action => 'index', :id => nil
128
- map.connect ':url', :controller => 'tiny_url', :action => 'translate'
129
- end
130
- end
131
-
132
- def test_route_with_regexp_for_controller
133
- rs.draw do |map|
134
- map.connect ':controller/:admintoken/:action/:id', :controller => /admin\/.+/
135
- map.connect ':controller/:action/:id'
136
- end
137
- assert_equal({:controller => "admin/user", :admintoken => "foo", :action => "index"},
138
- rs.recognize_path("/admin/user/foo"))
139
- assert_equal({:controller => "content", :action => "foo"}, rs.recognize_path("/content/foo"))
140
- assert_equal '/admin/user/foo', rs.generate(:controller => "admin/user", :admintoken => "foo", :action => "index")
141
- assert_equal '/content/foo', rs.generate(:controller => "content", :action => "foo")
142
- end
143
-
144
- def test_route_with_regexp_and_dot
145
- rs.draw do |map|
146
- map.connect ':controller/:action/:file',
147
- :controller => /admin|user/,
148
- :action => /upload|download/,
149
- :defaults => {:file => nil},
150
- :requirements => {:file => %r{[^/]+(\.[^/]+)?}}
151
- end
152
- # Without a file extension
153
- assert_equal '/user/download/file',
154
- rs.generate(:controller => "user", :action => "download", :file => "file")
155
- assert_equal(
156
- {:controller => "user", :action => "download", :file => "file"},
157
- rs.recognize_path("/user/download/file"))
158
-
159
- # Now, let's try a file with an extension, really a dot (.)
160
- assert_equal '/user/download/file.jpg',
161
- rs.generate(
162
- :controller => "user", :action => "download", :file => "file.jpg")
163
- assert_equal(
164
- {:controller => "user", :action => "download", :file => "file.jpg"},
165
- rs.recognize_path("/user/download/file.jpg"))
166
- end
167
-
168
- def test_basic_named_route
169
- rs.add_named_route :home, '', :controller => 'content', :action => 'list'
170
- x = setup_for_named_route.new
171
- assert_equal({:controller => 'content', :action => 'list', :use_route => :home, :only_path => false},
172
- x.send(:home_url))
173
- end
174
-
175
- def test_named_route_with_option
176
- rs.add_named_route :page, 'page/:title', :controller => 'content', :action => 'show_page'
177
- x = setup_for_named_route.new
178
- assert_equal({:controller => 'content', :action => 'show_page', :title => 'new stuff', :use_route => :page, :only_path => false},
179
- x.send(:page_url, :title => 'new stuff'))
180
- end
181
-
182
- def test_named_route_with_default
183
- rs.add_named_route :page, 'page/:title', :controller => 'content', :action => 'show_page', :title => 'AboutPage'
184
- x = setup_for_named_route.new
185
- assert_equal({:controller => 'content', :action => 'show_page', :title => 'AboutPage', :use_route => :page, :only_path => false},
186
- x.send(:page_url))
187
- assert_equal({:controller => 'content', :action => 'show_page', :title => 'AboutRails', :use_route => :page, :only_path => false},
188
- x.send(:page_url, :title => "AboutRails"))
189
-
190
- end
191
-
192
- def test_named_route_with_nested_controller
193
- rs.add_named_route :users, 'admin/user', :controller => '/admin/user', :action => 'index'
194
- x = setup_for_named_route.new
195
- assert_equal({:controller => '/admin/user', :action => 'index', :use_route => :users, :only_path => false},
196
- x.send(:users_url))
197
- end
198
-
199
- def setup_for_named_route
200
- x = Class.new
201
- x.send(:define_method, :url_for) {|x| x}
202
- rs.install_helpers(x)
203
- x
204
- end
205
-
206
- def test_named_route_without_hash
207
- rs.draw do |map|
208
- map.normal ':controller/:action/:id'
209
- end
210
- end
211
-
212
- def test_named_route_with_regexps
213
- rs.draw do |map|
214
- map.article 'page/:year/:month/:day/:title', :controller => 'page', :action => 'show',
215
- :year => /\d+/, :month => /\d+/, :day => /\d+/
216
- map.connect ':controller/:action/:id'
217
- end
218
- x = setup_for_named_route.new
219
- assert_equal(
220
- {:controller => 'page', :action => 'show', :title => 'hi', :use_route => :article, :only_path => false},
221
- x.send(:article_url, :title => 'hi')
222
- )
223
- assert_equal(
224
- {:controller => 'page', :action => 'show', :title => 'hi', :day => 10, :year => 2005, :month => 6, :use_route => :article, :only_path => false},
225
- x.send(:article_url, :title => 'hi', :day => 10, :year => 2005, :month => 6)
226
- )
227
- end
228
-
229
- def test_changing_controller
230
- assert_equal '/admin/stuff/show/10', rs.generate(
231
- {:controller => 'stuff', :action => 'show', :id => 10},
232
- {:controller => 'admin/user', :action => 'index'}
233
- )
234
- end
235
-
236
- def test_paths_escaped
237
- rs.draw do |map|
238
- map.path 'file/*path', :controller => 'content', :action => 'show_file'
239
- map.connect ':controller/:action/:id'
240
- end
241
-
242
- # No + to space in URI escaping, only for query params.
243
- results = rs.recognize_path "/file/hello+world/how+are+you%3F"
244
- assert results, "Recognition should have succeeded"
245
- assert_equal ['hello+world', 'how+are+you?'], results[:path]
246
-
247
- # Use %20 for space instead.
248
- results = rs.recognize_path "/file/hello%20world/how%20are%20you%3F"
249
- assert results, "Recognition should have succeeded"
250
- assert_equal ['hello world', 'how are you?'], results[:path]
251
-
252
- results = rs.recognize_path "/file"
253
- assert results, "Recognition should have succeeded"
254
- assert_equal [], results[:path]
255
- end
256
-
257
- def test_non_controllers_cannot_be_matched
258
- rs.draw do |map|
259
- map.connect ':controller/:action/:id'
260
- end
261
- assert_raises(ActionController::RoutingError) { rs.recognize_path("/not_a/show/10") }
262
- end
263
-
264
- def test_paths_do_not_accept_defaults
265
- assert_raises(ActionController::RoutingError) do
266
- rs.draw do |map|
267
- map.path 'file/*path', :controller => 'content', :action => 'show_file', :path => %w(fake default)
268
- map.connect ':controller/:action/:id'
269
- end
270
- end
271
-
272
- rs.draw do |map|
273
- map.path 'file/*path', :controller => 'content', :action => 'show_file', :path => []
274
- map.connect ':controller/:action/:id'
275
- end
276
- end
277
-
278
- def test_should_list_options_diff_when_routing_requirements_dont_match
279
- rs.draw do |map|
280
- map.post 'post/:id', :controller=> 'post', :action=> 'show', :requirements => {:id => /\d+/}
281
- end
282
- exception = assert_raise(ActionController::RoutingError) { rs.generate(:controller => 'post', :action => 'show', :bad_param => "foo", :use_route => "post") }
283
- assert_match /^post_url failed to generate/, exception.message
284
- from_match = exception.message.match(/from \{[^\}]+\}/).to_s
285
- assert_match /:bad_param=>"foo"/, from_match
286
- assert_match /:action=>"show"/, from_match
287
- assert_match /:controller=>"post"/, from_match
288
-
289
- expected_match = exception.message.match(/expected: \{[^\}]+\}/).to_s
290
- assert_no_match /:bad_param=>"foo"/, expected_match
291
- assert_match /:action=>"show"/, expected_match
292
- assert_match /:controller=>"post"/, expected_match
293
-
294
- diff_match = exception.message.match(/diff: \{[^\}]+\}/).to_s
295
- assert_match /:bad_param=>"foo"/, diff_match
296
- assert_no_match /:action=>"show"/, diff_match
297
- assert_no_match /:controller=>"post"/, diff_match
298
- end
299
-
300
- # this specifies the case where your formerly would get a very confusing error message with an empty diff
301
- def test_should_have_better_error_message_when_options_diff_is_empty
302
- rs.draw do |map|
303
- map.content '/content/:query', :controller => 'content', :action => 'show'
304
- end
305
-
306
- exception = assert_raise(ActionController::RoutingError) { rs.generate(:controller => 'content', :action => 'show', :use_route => "content") }
307
- assert_match %r[:action=>"show"], exception.message
308
- assert_match %r[:controller=>"content"], exception.message
309
- assert_match %r[you may have ambiguous routes, or you may need to supply additional parameters for this route], exception.message
310
- assert_match %r[content_url has the following required parameters: \["content", :query\] - are they all satisfied?], exception.message
311
- end
312
-
313
- def test_dynamic_path_allowed
314
- rs.draw do |map|
315
- map.connect '*path', :controller => 'content', :action => 'show_file'
316
- end
317
-
318
- assert_equal '/pages/boo', rs.generate(:controller => 'content', :action => 'show_file', :path => %w(pages boo))
319
- end
320
-
321
- def test_dynamic_recall_paths_allowed
322
- rs.draw do |map|
323
- map.connect '*path', :controller => 'content', :action => 'show_file'
324
- end
325
-
326
- recall_path = ActionController::Routing::PathSegment::Result.new(%w(pages boo))
327
- assert_equal '/pages/boo', rs.generate({}, :controller => 'content', :action => 'show_file', :path => recall_path)
328
- end
329
-
330
- def test_backwards
331
- rs.draw do |map|
332
- map.connect 'page/:id/:action', :controller => 'pages', :action => 'show'
333
- map.connect ':controller/:action/:id'
334
- end
335
-
336
- assert_equal '/page/20', rs.generate({:id => 20}, {:controller => 'pages', :action => 'show'})
337
- assert_equal '/page/20', rs.generate(:controller => 'pages', :id => 20, :action => 'show')
338
- assert_equal '/pages/boo', rs.generate(:controller => 'pages', :action => 'boo')
339
- end
340
-
341
- def test_route_with_fixnum_default
342
- rs.draw do |map|
343
- map.connect 'page/:id', :controller => 'content', :action => 'show_page', :id => 1
344
- map.connect ':controller/:action/:id'
345
- end
346
-
347
- assert_equal '/page', rs.generate(:controller => 'content', :action => 'show_page')
348
- assert_equal '/page', rs.generate(:controller => 'content', :action => 'show_page', :id => 1)
349
- assert_equal '/page', rs.generate(:controller => 'content', :action => 'show_page', :id => '1')
350
- assert_equal '/page/10', rs.generate(:controller => 'content', :action => 'show_page', :id => 10)
351
-
352
- assert_equal({:controller => "content", :action => 'show_page', :id => '1'}, rs.recognize_path("/page"))
353
- assert_equal({:controller => "content", :action => 'show_page', :id => '1'}, rs.recognize_path("/page/1"))
354
- assert_equal({:controller => "content", :action => 'show_page', :id => '10'}, rs.recognize_path("/page/10"))
355
- end
356
-
357
- # For newer revision
358
- def test_route_with_text_default
359
- rs.draw do |map|
360
- map.connect 'page/:id', :controller => 'content', :action => 'show_page', :id => 1
361
- map.connect ':controller/:action/:id'
362
- end
363
-
364
- assert_equal '/page/foo', rs.generate(:controller => 'content', :action => 'show_page', :id => 'foo')
365
- assert_equal({:controller => "content", :action => 'show_page', :id => 'foo'}, rs.recognize_path("/page/foo"))
366
-
367
- token = "\321\202\320\265\320\272\321\201\321\202" # 'text' in russian
368
- escaped_token = CGI::escape(token)
369
-
370
- assert_equal '/page/' + escaped_token, rs.generate(:controller => 'content', :action => 'show_page', :id => token)
371
- assert_equal({:controller => "content", :action => 'show_page', :id => token}, rs.recognize_path("/page/#{escaped_token}"))
372
- end
373
-
374
- def test_action_expiry
375
- assert_equal '/content', rs.generate({:controller => 'content'}, {:controller => 'content', :action => 'show'})
376
- end
377
-
378
- def test_recognition_with_uppercase_controller_name
379
- assert_equal({:controller => "content", :action => 'index'}, rs.recognize_path("/Content"))
380
- assert_equal({:controller => "content", :action => 'list'}, rs.recognize_path("/ConTent/list"))
381
- assert_equal({:controller => "content", :action => 'show', :id => '10'}, rs.recognize_path("/CONTENT/show/10"))
382
-
383
- # these used to work, before the routes rewrite, but support for this was pulled in the new version...
384
- #assert_equal({'controller' => "admin/news_feed", 'action' => 'index'}, rs.recognize_path("Admin/NewsFeed"))
385
- #assert_equal({'controller' => "admin/news_feed", 'action' => 'index'}, rs.recognize_path("Admin/News_Feed"))
386
- end
387
-
388
- def test_requirement_should_prevent_optional_id
389
- rs.draw do |map|
390
- map.post 'post/:id', :controller=> 'post', :action=> 'show', :requirements => {:id => /\d+/}
391
- end
392
-
393
- assert_equal '/post/10', rs.generate(:controller => 'post', :action => 'show', :id => 10)
394
-
395
- assert_raises ActionController::RoutingError do
396
- rs.generate(:controller => 'post', :action => 'show')
397
- end
398
- end
399
-
400
- def test_both_requirement_and_optional
401
- rs.draw do |map|
402
- map.blog('test/:year', :controller => 'post', :action => 'show',
403
- :defaults => { :year => nil },
404
- :requirements => { :year => /\d{4}/ }
405
- )
406
- map.connect ':controller/:action/:id'
407
- end
408
-
409
- assert_equal '/test', rs.generate(:controller => 'post', :action => 'show')
410
- assert_equal '/test', rs.generate(:controller => 'post', :action => 'show', :year => nil)
411
-
412
- x = setup_for_named_route.new
413
- assert_equal({:controller => 'post', :action => 'show', :use_route => :blog, :only_path => false},
414
- x.send(:blog_url))
415
- end
416
-
417
- def test_set_to_nil_forgets
418
- rs.draw do |map|
419
- map.connect 'pages/:year/:month/:day', :controller => 'content', :action => 'list_pages', :month => nil, :day => nil
420
- map.connect ':controller/:action/:id'
421
- end
422
-
423
- assert_equal '/pages/2005',
424
- rs.generate(:controller => 'content', :action => 'list_pages', :year => 2005)
425
- assert_equal '/pages/2005/6',
426
- rs.generate(:controller => 'content', :action => 'list_pages', :year => 2005, :month => 6)
427
- assert_equal '/pages/2005/6/12',
428
- rs.generate(:controller => 'content', :action => 'list_pages', :year => 2005, :month => 6, :day => 12)
429
-
430
- assert_equal '/pages/2005/6/4',
431
- rs.generate({:day => 4}, {:controller => 'content', :action => 'list_pages', :year => '2005', :month => '6', :day => '12'})
432
-
433
- assert_equal '/pages/2005/6',
434
- rs.generate({:day => nil}, {:controller => 'content', :action => 'list_pages', :year => '2005', :month => '6', :day => '12'})
435
-
436
- assert_equal '/pages/2005',
437
- rs.generate({:day => nil, :month => nil}, {:controller => 'content', :action => 'list_pages', :year => '2005', :month => '6', :day => '12'})
438
- end
439
-
440
- def test_url_with_no_action_specified
441
- rs.draw do |map|
442
- map.connect '', :controller => 'content'
443
- map.connect ':controller/:action/:id'
444
- end
445
-
446
- assert_equal '/', rs.generate(:controller => 'content', :action => 'index')
447
- assert_equal '/', rs.generate(:controller => 'content')
448
- end
449
-
450
- def test_named_url_with_no_action_specified
451
- rs.draw do |map|
452
- map.home '', :controller => 'content'
453
- map.connect ':controller/:action/:id'
454
- end
455
-
456
- assert_equal '/', rs.generate(:controller => 'content', :action => 'index')
457
- assert_equal '/', rs.generate(:controller => 'content')
458
-
459
- x = setup_for_named_route.new
460
- assert_equal({:controller => 'content', :action => 'index', :use_route => :home, :only_path => false},
461
- x.send(:home_url))
462
- end
463
-
464
- def test_url_generated_when_forgetting_action
465
- [{:controller => 'content', :action => 'index'}, {:controller => 'content'}].each do |hash|
466
- rs.draw do |map|
467
- map.home '', hash
468
- map.connect ':controller/:action/:id'
469
- end
470
- assert_equal '/', rs.generate({:action => nil}, {:controller => 'content', :action => 'hello'})
471
- assert_equal '/', rs.generate({:controller => 'content'})
472
- assert_equal '/content/hi', rs.generate({:controller => 'content', :action => 'hi'})
473
- end
474
- end
475
-
476
- def test_named_route_method
477
- rs.draw do |map|
478
- map.categories 'categories', :controller => 'content', :action => 'categories'
479
- map.connect ':controller/:action/:id'
480
- end
481
-
482
- assert_equal '/categories', rs.generate(:controller => 'content', :action => 'categories')
483
- assert_equal '/content/hi', rs.generate({:controller => 'content', :action => 'hi'})
484
- end
485
-
486
- def test_named_routes_array
487
- test_named_route_method
488
- assert_equal [:categories], rs.named_routes.names
489
- end
490
-
491
- def test_nil_defaults
492
- rs.draw do |map|
493
- map.connect 'journal',
494
- :controller => 'content',
495
- :action => 'list_journal',
496
- :date => nil, :user_id => nil
497
- map.connect ':controller/:action/:id'
498
- end
499
-
500
- assert_equal '/journal', rs.generate(:controller => 'content', :action => 'list_journal', :date => nil, :user_id => nil)
501
- end
502
-
503
- def setup_request_method_routes_for(method)
504
- @request = ActionController::TestRequest.new
505
- @request.env["REQUEST_METHOD"] = method
506
- @request.request_uri = "/match"
507
-
508
- rs.draw do |r|
509
- r.connect '/match', :controller => 'books', :action => 'get', :conditions => { :method => :get }
510
- r.connect '/match', :controller => 'books', :action => 'post', :conditions => { :method => :post }
511
- r.connect '/match', :controller => 'books', :action => 'put', :conditions => { :method => :put }
512
- r.connect '/match', :controller => 'books', :action => 'delete', :conditions => { :method => :delete }
513
- end
514
- end
515
-
516
- %w(GET POST PUT DELETE).each do |request_method|
517
- define_method("test_request_method_recognized_with_#{request_method}") do
518
- begin
519
- Object.const_set(:BooksController, Class.new(ActionController::Base))
520
-
521
- setup_request_method_routes_for(request_method)
522
-
523
- assert_nothing_raised { rs.recognize(@request) }
524
- assert_equal request_method.downcase, @request.path_parameters[:action]
525
- ensure
526
- Object.send(:remove_const, :BooksController) rescue nil
527
- end
528
- end
529
- end
530
-
531
- def test_subpath_recognized
532
- Object.const_set(:SubpathBooksController, Class.new(ActionController::Base))
533
-
534
- rs.draw do |r|
535
- r.connect '/books/:id;edit', :controller => 'subpath_books', :action => 'edit'
536
- r.connect '/items/:id;:action', :controller => 'subpath_books'
537
- r.connect '/posts/new;:action', :controller => 'subpath_books'
538
- r.connect '/posts/:id', :controller => 'subpath_books', :action => "show"
539
- end
540
-
541
- hash = rs.recognize_path "/books/17;edit"
542
- assert_not_nil hash
543
- assert_equal %w(subpath_books 17 edit), [hash[:controller], hash[:id], hash[:action]]
544
-
545
- hash = rs.recognize_path "/items/3;complete"
546
- assert_not_nil hash
547
- assert_equal %w(subpath_books 3 complete), [hash[:controller], hash[:id], hash[:action]]
548
-
549
- hash = rs.recognize_path "/posts/new;preview"
550
- assert_not_nil hash
551
- assert_equal %w(subpath_books preview), [hash[:controller], hash[:action]]
552
-
553
- hash = rs.recognize_path "/posts/7"
554
- assert_not_nil hash
555
- assert_equal %w(subpath_books show 7), [hash[:controller], hash[:action], hash[:id]]
556
- ensure
557
- Object.send(:remove_const, :SubpathBooksController) rescue nil
558
- end
559
-
560
- def test_subpath_generated
561
- Object.const_set(:SubpathBooksController, Class.new(ActionController::Base))
562
-
563
- rs.draw do |r|
564
- r.connect '/books/:id;edit', :controller => 'subpath_books', :action => 'edit'
565
- r.connect '/items/:id;:action', :controller => 'subpath_books'
566
- r.connect '/posts/new;:action', :controller => 'subpath_books'
567
- end
568
-
569
- assert_equal "/books/7;edit", rs.generate(:controller => "subpath_books", :id => 7, :action => "edit")
570
- assert_equal "/items/15;complete", rs.generate(:controller => "subpath_books", :id => 15, :action => "complete")
571
- assert_equal "/posts/new;preview", rs.generate(:controller => "subpath_books", :action => "preview")
572
- ensure
573
- Object.send(:remove_const, :SubpathBooksController) rescue nil
574
- end
575
- end
576
-
577
- class SegmentTest < Test::Unit::TestCase
578
-
579
- def test_first_segment_should_interpolate_for_structure
580
- s = ROUTING::Segment.new
581
- def s.interpolation_statement(array) 'hello' end
582
- assert_equal 'hello', s.continue_string_structure([])
583
- end
584
-
585
- def test_interpolation_statement
586
- s = ROUTING::StaticSegment.new
587
- s.value = "Hello"
588
- assert_equal "Hello", eval(s.interpolation_statement([]))
589
- assert_equal "HelloHello", eval(s.interpolation_statement([s]))
590
-
591
- s2 = ROUTING::StaticSegment.new
592
- s2.value = "-"
593
- assert_equal "Hello-Hello", eval(s.interpolation_statement([s, s2]))
594
-
595
- s3 = ROUTING::StaticSegment.new
596
- s3.value = "World"
597
- assert_equal "Hello-World", eval(s3.interpolation_statement([s, s2]))
598
- end
599
-
600
- end
601
-
602
- class StaticSegmentTest < Test::Unit::TestCase
603
-
604
- def test_interpolation_chunk_should_respect_raw
605
- s = ROUTING::StaticSegment.new
606
- s.value = 'Hello/World'
607
- assert ! s.raw?
608
- assert_equal 'Hello/World', CGI.unescape(s.interpolation_chunk)
609
-
610
- s.raw = true
611
- assert s.raw?
612
- assert_equal 'Hello/World', s.interpolation_chunk
613
- end
614
-
615
- def test_regexp_chunk_should_escape_specials
616
- s = ROUTING::StaticSegment.new
617
-
618
- s.value = 'Hello*World'
619
- assert_equal 'Hello\*World', s.regexp_chunk
620
-
621
- s.value = 'HelloWorld'
622
- assert_equal 'HelloWorld', s.regexp_chunk
623
- end
624
-
625
- def test_regexp_chunk_should_add_question_mark_for_optionals
626
- s = ROUTING::StaticSegment.new
627
- s.value = "/"
628
- s.is_optional = true
629
- assert_equal "/?", s.regexp_chunk
630
-
631
- s.value = "hello"
632
- assert_equal "(?:hello)?", s.regexp_chunk
633
- end
634
-
635
- end
636
-
637
- class DynamicSegmentTest < Test::Unit::TestCase
638
-
639
- def segment
640
- unless @segment
641
- @segment = ROUTING::DynamicSegment.new
642
- @segment.key = :a
643
- end
644
- @segment
645
- end
646
-
647
- def test_extract_value
648
- s = ROUTING::DynamicSegment.new
649
- s.key = :a
650
-
651
- hash = {:a => '10', :b => '20'}
652
- assert_equal '10', eval(s.extract_value)
653
-
654
- hash = {:b => '20'}
655
- assert_equal nil, eval(s.extract_value)
656
-
657
- s.default = '20'
658
- assert_equal '20', eval(s.extract_value)
659
- end
660
-
661
- def test_default_local_name
662
- assert_equal 'a_value', segment.local_name,
663
- "Unexpected name -- all value_check tests will fail!"
664
- end
665
-
666
- def test_presence_value_check
667
- a_value = 10
668
- assert eval(segment.value_check)
669
- end
670
-
671
- def test_regexp_value_check_rejects_nil
672
- segment.regexp = /\d+/
673
- a_value = nil
674
- assert ! eval(segment.value_check)
675
- end
676
-
677
- def test_optional_regexp_value_check_should_accept_nil
678
- segment.regexp = /\d+/
679
- segment.is_optional = true
680
- a_value = nil
681
- assert eval(segment.value_check)
682
- end
683
-
684
- def test_regexp_value_check_rejects_no_match
685
- segment.regexp = /\d+/
686
-
687
- a_value = "Hello20World"
688
- assert ! eval(segment.value_check)
689
-
690
- a_value = "20Hi"
691
- assert ! eval(segment.value_check)
692
- end
693
-
694
- def test_regexp_value_check_accepts_match
695
- segment.regexp = /\d+/
696
-
697
- a_value = "30"
698
- assert eval(segment.value_check)
699
- end
700
-
701
- def test_value_check_fails_on_nil
702
- a_value = nil
703
- assert ! eval(segment.value_check)
704
- end
705
-
706
- def test_optional_value_needs_no_check
707
- segment.is_optional = true
708
- a_value = nil
709
- assert_equal nil, segment.value_check
710
- end
711
-
712
- def test_regexp_value_check_should_accept_match_with_default
713
- segment.regexp = /\d+/
714
- segment.default = '200'
715
-
716
- a_value = '100'
717
- assert eval(segment.value_check)
718
- end
719
-
720
- def test_expiry_should_not_trigger_once_expired
721
- expired = true
722
- hash = merged = {:a => 2, :b => 3}
723
- options = {:b => 3}
724
- expire_on = Hash.new { raise 'No!!!' }
725
-
726
- eval(segment.expiry_statement)
727
- rescue RuntimeError
728
- flunk "Expiry check should not have occured!"
729
- end
730
-
731
- def test_expiry_should_occur_according_to_expire_on
732
- expired = false
733
- hash = merged = {:a => 2, :b => 3}
734
- options = {:b => 3}
735
-
736
- expire_on = {:b => true, :a => false}
737
- eval(segment.expiry_statement)
738
- assert !expired
739
- assert_equal({:a => 2, :b => 3}, hash)
740
-
741
- expire_on = {:b => true, :a => true}
742
- eval(segment.expiry_statement)
743
- assert expired
744
- assert_equal({:b => 3}, hash)
745
- end
746
-
747
- def test_extraction_code_should_return_on_nil
748
- hash = merged = {:b => 3}
749
- options = {:b => 3}
750
- a_value = nil
751
-
752
- # Local jump because of return inside eval.
753
- assert_raises(LocalJumpError) { eval(segment.extraction_code) }
754
- end
755
-
756
- def test_extraction_code_should_return_on_mismatch
757
- segment.regexp = /\d+/
758
- hash = merged = {:a => 'Hi', :b => '3'}
759
- options = {:b => '3'}
760
- a_value = nil
761
-
762
- # Local jump because of return inside eval.
763
- assert_raises(LocalJumpError) { eval(segment.extraction_code) }
764
- end
765
-
766
- def test_extraction_code_should_accept_value_and_set_local
767
- hash = merged = {:a => 'Hi', :b => '3'}
768
- options = {:b => '3'}
769
- a_value = nil
770
- expired = true
771
-
772
- eval(segment.extraction_code)
773
- assert_equal 'Hi', a_value
774
- end
775
-
776
- def test_extraction_should_work_without_value_check
777
- segment.default = 'hi'
778
- hash = merged = {:b => '3'}
779
- options = {:b => '3'}
780
- a_value = nil
781
- expired = true
782
-
783
- eval(segment.extraction_code)
784
- assert_equal 'hi', a_value
785
- end
786
-
787
- def test_extraction_code_should_perform_expiry
788
- expired = false
789
- hash = merged = {:a => 'Hi', :b => '3'}
790
- options = {:b => '3'}
791
- expire_on = {:a => true}
792
- a_value = nil
793
-
794
- eval(segment.extraction_code)
795
- assert_equal 'Hi', a_value
796
- assert expired
797
- assert_equal options, hash
798
- end
799
-
800
- def test_interpolation_chunk_should_replace_value
801
- a_value = 'Hi'
802
- assert_equal a_value, eval(%("#{segment.interpolation_chunk}"))
803
- end
804
-
805
- def test_value_regexp_should_be_nil_without_regexp
806
- assert_equal nil, segment.value_regexp
807
- end
808
-
809
- def test_value_regexp_should_match_exacly
810
- segment.regexp = /\d+/
811
- assert_no_match segment.value_regexp, "Hello 10 World"
812
- assert_no_match segment.value_regexp, "Hello 10"
813
- assert_no_match segment.value_regexp, "10 World"
814
- assert_match segment.value_regexp, "10"
815
- end
816
-
817
- def test_regexp_chunk_should_return_string
818
- segment.regexp = /\d+/
819
- assert_kind_of String, segment.regexp_chunk
820
- end
821
-
822
- end
823
-
824
- class ControllerSegmentTest < Test::Unit::TestCase
825
-
826
- def test_regexp_should_only_match_possible_controllers
827
- ActionController::Routing.with_controllers %w(admin/accounts admin/users account pages) do
828
- cs = ROUTING::ControllerSegment.new :controller
829
- regexp = %r{\A#{cs.regexp_chunk}\Z}
830
-
831
- ActionController::Routing.possible_controllers.each do |name|
832
- assert_match regexp, name
833
- assert_no_match regexp, "#{name}_fake"
834
-
835
- match = regexp.match name
836
- assert_equal name, match[1]
837
- end
838
- end
839
- end
840
-
841
- end
842
-
843
- uses_mocha 'RouteTest' do
844
-
845
- class RouteTest < Test::Unit::TestCase
846
-
847
- def setup
848
- @route = ROUTING::Route.new
849
- end
850
-
851
- def slash_segment(is_optional = false)
852
- returning ROUTING::DividerSegment.new('/') do |s|
853
- s.is_optional = is_optional
854
- end
855
- end
856
-
857
- def default_route
858
- unless defined?(@default_route)
859
- @default_route = ROUTING::Route.new
860
-
861
- @default_route.segments << (s = ROUTING::StaticSegment.new)
862
- s.value = '/'
863
- s.raw = true
864
-
865
- @default_route.segments << (s = ROUTING::DynamicSegment.new)
866
- s.key = :controller
867
-
868
- @default_route.segments << slash_segment(:optional)
869
- @default_route.segments << (s = ROUTING::DynamicSegment.new)
870
- s.key = :action
871
- s.default = 'index'
872
- s.is_optional = true
873
-
874
- @default_route.segments << slash_segment(:optional)
875
- @default_route.segments << (s = ROUTING::DynamicSegment.new)
876
- s.key = :id
877
- s.is_optional = true
878
-
879
- @default_route.segments << slash_segment(:optional)
880
- end
881
- @default_route
882
- end
883
-
884
- def test_default_route_recognition
885
- expected = {:controller => 'accounts', :action => 'show', :id => '10'}
886
- assert_equal expected, default_route.recognize('/accounts/show/10')
887
- assert_equal expected, default_route.recognize('/accounts/show/10/')
888
-
889
- expected[:id] = 'jamis'
890
- assert_equal expected, default_route.recognize('/accounts/show/jamis/')
891
-
892
- expected.delete :id
893
- assert_equal expected, default_route.recognize('/accounts/show')
894
- assert_equal expected, default_route.recognize('/accounts/show/')
895
-
896
- expected[:action] = 'index'
897
- assert_equal expected, default_route.recognize('/accounts/')
898
- assert_equal expected, default_route.recognize('/accounts')
899
-
900
- assert_equal nil, default_route.recognize('/')
901
- assert_equal nil, default_route.recognize('/accounts/how/goood/it/is/to/be/free')
902
- end
903
-
904
- def test_default_route_should_omit_default_action
905
- o = {:controller => 'accounts', :action => 'index'}
906
- assert_equal '/accounts', default_route.generate(o, o, {})
907
- end
908
-
909
- def test_default_route_should_include_default_action_when_id_present
910
- o = {:controller => 'accounts', :action => 'index', :id => '20'}
911
- assert_equal '/accounts/index/20', default_route.generate(o, o, {})
912
- end
913
-
914
- def test_default_route_should_work_with_action_but_no_id
915
- o = {:controller => 'accounts', :action => 'list_all'}
916
- assert_equal '/accounts/list_all', default_route.generate(o, o, {})
917
- end
918
-
919
- def test_default_route_should_uri_escape_pluses
920
- expected = { :controller => 'accounts', :action => 'show', :id => 'hello world' }
921
- assert_equal expected, default_route.recognize('/accounts/show/hello world')
922
- assert_equal expected, default_route.recognize('/accounts/show/hello%20world')
923
- assert_equal '/accounts/show/hello%20world', default_route.generate(expected, expected, {})
924
-
925
- expected[:id] = 'hello+world'
926
- assert_equal expected, default_route.recognize('/accounts/show/hello+world')
927
- assert_equal expected, default_route.recognize('/accounts/show/hello%2Bworld')
928
- assert_equal '/accounts/show/hello+world', default_route.generate(expected, expected, {})
929
- end
930
-
931
- def test_matches_controller_and_action
932
- # requirement_for should only be called for the action and controller _once_
933
- @route.expects(:requirement_for).with(:controller).times(1).returns('pages')
934
- @route.expects(:requirement_for).with(:action).times(1).returns('show')
935
-
936
- @route.requirements = {:controller => 'pages', :action => 'show'}
937
- assert @route.matches_controller_and_action?('pages', 'show')
938
- assert !@route.matches_controller_and_action?('not_pages', 'show')
939
- assert !@route.matches_controller_and_action?('pages', 'not_show')
940
- end
941
-
942
- def test_parameter_shell
943
- page_url = ROUTING::Route.new
944
- page_url.requirements = {:controller => 'pages', :action => 'show', :id => /\d+/}
945
- assert_equal({:controller => 'pages', :action => 'show'}, page_url.parameter_shell)
946
- end
947
-
948
- def test_defaults
949
- route = ROUTING::RouteBuilder.new.build '/users/:id.:format', :controller => "users", :action => "show", :format => "html"
950
- assert_equal(
951
- { :controller => "users", :action => "show", :format => "html" },
952
- route.defaults)
953
- end
954
-
955
- def test_builder_complains_without_controller
956
- assert_raises(ArgumentError) do
957
- ROUTING::RouteBuilder.new.build '/contact', :contoller => "contact", :action => "index"
958
- end
959
- end
960
-
961
- def test_significant_keys_for_default_route
962
- keys = default_route.significant_keys.sort_by {|k| k.to_s }
963
- assert_equal [:action, :controller, :id], keys
964
- end
965
-
966
- def test_significant_keys
967
- user_url = ROUTING::Route.new
968
- user_url.segments << (s = ROUTING::StaticSegment.new)
969
- s.value = '/'
970
- s.raw = true
971
-
972
- user_url.segments << (s = ROUTING::StaticSegment.new)
973
- s.value = 'user'
974
-
975
- user_url.segments << (s = ROUTING::StaticSegment.new)
976
- s.value = '/'
977
- s.raw = true
978
- s.is_optional = true
979
-
980
- user_url.segments << (s = ROUTING::DynamicSegment.new)
981
- s.key = :user
982
-
983
- user_url.segments << (s = ROUTING::StaticSegment.new)
984
- s.value = '/'
985
- s.raw = true
986
- s.is_optional = true
987
-
988
- user_url.requirements = {:controller => 'users', :action => 'show'}
989
-
990
- keys = user_url.significant_keys.sort_by { |k| k.to_s }
991
- assert_equal [:action, :controller, :user], keys
992
- end
993
-
994
- def test_build_empty_query_string
995
- assert_equal '', @route.build_query_string({})
996
- end
997
-
998
- def test_build_query_string_with_nil_value
999
- assert_equal '', @route.build_query_string({:x => nil})
1000
- end
1001
-
1002
- def test_simple_build_query_string
1003
- assert_equal '?x=1&y=2', order_query_string(@route.build_query_string(:x => '1', :y => '2'))
1004
- end
1005
-
1006
- def test_convert_ints_build_query_string
1007
- assert_equal '?x=1&y=2', order_query_string(@route.build_query_string(:x => 1, :y => 2))
1008
- end
1009
-
1010
- def test_escape_spaces_build_query_string
1011
- assert_equal '?x=hello+world&y=goodbye+world', order_query_string(@route.build_query_string(:x => 'hello world', :y => 'goodbye world'))
1012
- end
1013
-
1014
- def test_expand_array_build_query_string
1015
- assert_equal '?x%5B%5D=1&x%5B%5D=2', order_query_string(@route.build_query_string(:x => [1, 2]))
1016
- end
1017
-
1018
- def test_escape_spaces_build_query_string_selected_keys
1019
- assert_equal '?x=hello+world', order_query_string(@route.build_query_string({:x => 'hello world', :y => 'goodbye world'}, [:x]))
1020
- end
1021
-
1022
- private
1023
- def order_query_string(qs)
1024
- '?' + qs[1..-1].split('&').sort.join('&')
1025
- end
1026
- end
1027
-
1028
- end # uses_mocha
1029
-
1030
- class RouteBuilderTest < Test::Unit::TestCase
1031
-
1032
- def builder
1033
- @builder ||= ROUTING::RouteBuilder.new
1034
- end
1035
-
1036
- def build(path, options)
1037
- builder.build(path, options)
1038
- end
1039
-
1040
- def test_options_should_not_be_modified
1041
- requirements1 = { :id => /\w+/, :controller => /(?:[a-z](?:-?[a-z]+)*)/ }
1042
- requirements2 = requirements1.dup
1043
-
1044
- assert_equal requirements1, requirements2
1045
-
1046
- with_options(:controller => 'folder',
1047
- :requirements => requirements2) do |m|
1048
- m.build 'folders/new', :action => 'new'
1049
- end
1050
-
1051
- assert_equal requirements1, requirements2
1052
- end
1053
-
1054
- def test_segment_for_static
1055
- segment, rest = builder.segment_for 'ulysses'
1056
- assert_equal '', rest
1057
- assert_kind_of ROUTING::StaticSegment, segment
1058
- assert_equal 'ulysses', segment.value
1059
- end
1060
-
1061
- def test_segment_for_action
1062
- segment, rest = builder.segment_for ':action'
1063
- assert_equal '', rest
1064
- assert_kind_of ROUTING::DynamicSegment, segment
1065
- assert_equal :action, segment.key
1066
- assert_equal 'index', segment.default
1067
- end
1068
-
1069
- def test_segment_for_dynamic
1070
- segment, rest = builder.segment_for ':login'
1071
- assert_equal '', rest
1072
- assert_kind_of ROUTING::DynamicSegment, segment
1073
- assert_equal :login, segment.key
1074
- assert_equal nil, segment.default
1075
- assert ! segment.optional?
1076
- end
1077
-
1078
- def test_segment_for_with_rest
1079
- segment, rest = builder.segment_for ':login/:action'
1080
- assert_equal :login, segment.key
1081
- assert_equal '/:action', rest
1082
- segment, rest = builder.segment_for rest
1083
- assert_equal '/', segment.value
1084
- assert_equal ':action', rest
1085
- segment, rest = builder.segment_for rest
1086
- assert_equal :action, segment.key
1087
- assert_equal '', rest
1088
- end
1089
-
1090
- def test_segments_for
1091
- segments = builder.segments_for_route_path '/:controller/:action/:id'
1092
-
1093
- assert_kind_of ROUTING::DividerSegment, segments[0]
1094
- assert_equal '/', segments[2].value
1095
-
1096
- assert_kind_of ROUTING::DynamicSegment, segments[1]
1097
- assert_equal :controller, segments[1].key
1098
-
1099
- assert_kind_of ROUTING::DividerSegment, segments[2]
1100
- assert_equal '/', segments[2].value
1101
-
1102
- assert_kind_of ROUTING::DynamicSegment, segments[3]
1103
- assert_equal :action, segments[3].key
1104
-
1105
- assert_kind_of ROUTING::DividerSegment, segments[4]
1106
- assert_equal '/', segments[4].value
1107
-
1108
- assert_kind_of ROUTING::DynamicSegment, segments[5]
1109
- assert_equal :id, segments[5].key
1110
- end
1111
-
1112
- def test_segment_for_action
1113
- s, r = builder.segment_for(':action/something/else')
1114
- assert_equal '/something/else', r
1115
- assert_equal :action, s.key
1116
- end
1117
-
1118
- def test_action_default_should_not_trigger_on_prefix
1119
- s, r = builder.segment_for ':action_name/something/else'
1120
- assert_equal '/something/else', r
1121
- assert_equal :action_name, s.key
1122
- assert_equal nil, s.default
1123
- end
1124
-
1125
- def test_divide_route_options
1126
- segments = builder.segments_for_route_path '/cars/:action/:person/:car/'
1127
- defaults, requirements = builder.divide_route_options(segments,
1128
- :action => 'buy', :person => /\w+/, :car => /\w+/,
1129
- :defaults => {:person => nil, :car => nil}
1130
- )
1131
-
1132
- assert_equal({:action => 'buy', :person => nil, :car => nil}, defaults)
1133
- assert_equal({:person => /\w+/, :car => /\w+/}, requirements)
1134
- end
1135
-
1136
- def test_assign_route_options
1137
- segments = builder.segments_for_route_path '/cars/:action/:person/:car/'
1138
- defaults = {:action => 'buy', :person => nil, :car => nil}
1139
- requirements = {:person => /\w+/, :car => /\w+/}
1140
-
1141
- route_requirements = builder.assign_route_options(segments, defaults, requirements)
1142
- assert_equal({}, route_requirements)
1143
-
1144
- assert_equal :action, segments[3].key
1145
- assert_equal 'buy', segments[3].default
1146
-
1147
- assert_equal :person, segments[5].key
1148
- assert_equal %r/\w+/, segments[5].regexp
1149
- assert segments[5].optional?
1150
-
1151
- assert_equal :car, segments[7].key
1152
- assert_equal %r/\w+/, segments[7].regexp
1153
- assert segments[7].optional?
1154
- end
1155
-
1156
- def test_assign_route_options_with_anchor_chars
1157
- segments = builder.segments_for_route_path '/cars/:action/:person/:car/'
1158
- defaults = {:action => 'buy', :person => nil, :car => nil}
1159
- requirements = {:person => /\w+/, :car => /^\w+$/}
1160
-
1161
- assert_raises ArgumentError do
1162
- route_requirements = builder.assign_route_options(segments, defaults, requirements)
1163
- end
1164
-
1165
- requirements[:car] = /[^\/]+/
1166
- route_requirements = builder.assign_route_options(segments, defaults, requirements)
1167
- end
1168
-
1169
-
1170
- def test_optional_segments_preceding_required_segments
1171
- segments = builder.segments_for_route_path '/cars/:action/:person/:car/'
1172
- defaults = {:action => 'buy', :person => nil, :car => "model-t"}
1173
- assert builder.assign_route_options(segments, defaults, {}).empty?
1174
-
1175
- 0.upto(1) { |i| assert !segments[i].optional?, "segment #{i} is optional and it shouldn't be" }
1176
- assert segments[2].optional?
1177
-
1178
- assert_equal nil, builder.warn_output # should only warn on the :person segment
1179
- end
1180
-
1181
- def test_segmentation_of_semicolon_path
1182
- segments = builder.segments_for_route_path '/books/:id;:action'
1183
- defaults = { :action => 'show' }
1184
- assert builder.assign_route_options(segments, defaults, {}).empty?
1185
- segments.each do |segment|
1186
- assert ! segment.optional? || segment.key == :action
1187
- end
1188
- end
1189
-
1190
- def test_segmentation_of_dot_path
1191
- segments = builder.segments_for_route_path '/books/:action.rss'
1192
- assert builder.assign_route_options(segments, {}, {}).empty?
1193
- assert_equal 6, segments.length # "/", "books", "/", ":action", ".", "rss"
1194
- assert !segments.any? { |seg| seg.optional? }
1195
- end
1196
-
1197
- def test_segmentation_of_dynamic_dot_path
1198
- segments = builder.segments_for_route_path '/books/:action.:format'
1199
- assert builder.assign_route_options(segments, {}, {}).empty?
1200
- assert_equal 6, segments.length # "/", "books", "/", ":action", ".", ":format"
1201
- assert !segments.any? { |seg| seg.optional? }
1202
- assert_kind_of ROUTING::DynamicSegment, segments.last
1203
- end
1204
-
1205
- def test_assignment_of_default_options
1206
- segments = builder.segments_for_route_path '/:controller/:action/:id/'
1207
- action, id = segments[-4], segments[-2]
1208
-
1209
- assert_equal :action, action.key
1210
- assert_equal :id, id.key
1211
- assert ! action.optional?
1212
- assert ! id.optional?
1213
-
1214
- builder.assign_default_route_options(segments)
1215
-
1216
- assert_equal 'index', action.default
1217
- assert action.optional?
1218
- assert id.optional?
1219
- end
1220
-
1221
- def test_assignment_of_default_options_respects_existing_defaults
1222
- segments = builder.segments_for_route_path '/:controller/:action/:id/'
1223
- action, id = segments[-4], segments[-2]
1224
-
1225
- assert_equal :action, action.key
1226
- assert_equal :id, id.key
1227
- action.default = 'show'
1228
- action.is_optional = true
1229
-
1230
- id.default = 'Welcome'
1231
- id.is_optional = true
1232
-
1233
- builder.assign_default_route_options(segments)
1234
-
1235
- assert_equal 'show', action.default
1236
- assert action.optional?
1237
- assert_equal 'Welcome', id.default
1238
- assert id.optional?
1239
- end
1240
-
1241
- def test_assignment_of_default_options_respects_regexps
1242
- segments = builder.segments_for_route_path '/:controller/:action/:id/'
1243
- action = segments[-4]
1244
-
1245
- assert_equal :action, action.key
1246
- action.regexp = /show|in/ # Use 'in' to check partial matches
1247
-
1248
- builder.assign_default_route_options(segments)
1249
-
1250
- assert_equal nil, action.default
1251
- assert ! action.optional?
1252
- end
1253
-
1254
- def test_assignment_of_is_optional_when_default
1255
- segments = builder.segments_for_route_path '/books/:action.rss'
1256
- assert_equal segments[3].key, :action
1257
- segments[3].default = 'changes'
1258
- builder.ensure_required_segments(segments)
1259
- assert ! segments[3].optional?
1260
- end
1261
-
1262
- def test_is_optional_is_assigned_to_default_segments
1263
- segments = builder.segments_for_route_path '/books/:action'
1264
- builder.assign_route_options(segments, {:action => 'index'}, {})
1265
-
1266
- assert_equal segments[3].key, :action
1267
- assert segments[3].optional?
1268
- assert_kind_of ROUTING::DividerSegment, segments[2]
1269
- assert segments[2].optional?
1270
- end
1271
-
1272
- # XXX is optional not being set right?
1273
- # /blah/:defaulted_segment <-- is the second slash optional? it should be.
1274
-
1275
- def test_route_build
1276
- ActionController::Routing.with_controllers %w(users pages) do
1277
- r = builder.build '/:controller/:action/:id/', :action => nil
1278
-
1279
- [0, 2, 4].each do |i|
1280
- assert_kind_of ROUTING::DividerSegment, r.segments[i]
1281
- assert_equal '/', r.segments[i].value
1282
- assert r.segments[i].optional? if i > 1
1283
- end
1284
-
1285
- assert_kind_of ROUTING::DynamicSegment, r.segments[1]
1286
- assert_equal :controller, r.segments[1].key
1287
- assert_equal nil, r.segments[1].default
1288
-
1289
- assert_kind_of ROUTING::DynamicSegment, r.segments[3]
1290
- assert_equal :action, r.segments[3].key
1291
- assert_equal 'index', r.segments[3].default
1292
-
1293
- assert_kind_of ROUTING::DynamicSegment, r.segments[5]
1294
- assert_equal :id, r.segments[5].key
1295
- assert r.segments[5].optional?
1296
- end
1297
- end
1298
-
1299
- def test_slashes_are_implied
1300
- routes = [
1301
- builder.build('/:controller/:action/:id/', :action => nil),
1302
- builder.build('/:controller/:action/:id', :action => nil),
1303
- builder.build(':controller/:action/:id', :action => nil),
1304
- builder.build('/:controller/:action/:id/', :action => nil)
1305
- ]
1306
- expected = routes.first.segments.length
1307
- routes.each_with_index do |route, i|
1308
- found = route.segments.length
1309
- assert_equal expected, found, "Route #{i + 1} has #{found} segments, expected #{expected}"
1310
- end
1311
- end
1312
-
1313
- end
1314
-
1315
- class RouteSetTest < Test::Unit::TestCase
1316
- class MockController
1317
- attr_accessor :routes
1318
-
1319
- def initialize(routes)
1320
- self.routes = routes
1321
- end
1322
-
1323
- def url_for(options)
1324
- only_path = options.delete(:only_path)
1325
- path = routes.generate(options)
1326
- only_path ? path : "http://named.route.test#{path}"
1327
- end
1328
- end
1329
-
1330
- class MockRequest
1331
- attr_accessor :path, :path_parameters, :host, :subdomains, :domain, :method
1332
-
1333
- def initialize(values={})
1334
- values.each { |key, value| send("#{key}=", value) }
1335
- if values[:host]
1336
- subdomain, self.domain = values[:host].split(/\./, 2)
1337
- self.subdomains = [subdomain]
1338
- end
1339
- end
1340
- end
1341
-
1342
- def set
1343
- @set ||= ROUTING::RouteSet.new
1344
- end
1345
-
1346
- def request
1347
- @request ||= MockRequest.new(:host => "named.routes.test", :method => :get)
1348
- end
1349
-
1350
- def test_generate_extras
1351
- set.draw { |m| m.connect ':controller/:action/:id' }
1352
- path, extras = set.generate_extras(:controller => "foo", :action => "bar", :id => 15, :this => "hello", :that => "world")
1353
- assert_equal "/foo/bar/15", path
1354
- assert_equal %w(that this), extras.map(&:to_s).sort
1355
- end
1356
-
1357
- def test_extra_keys
1358
- set.draw { |m| m.connect ':controller/:action/:id' }
1359
- extras = set.extra_keys(:controller => "foo", :action => "bar", :id => 15, :this => "hello", :that => "world")
1360
- assert_equal %w(that this), extras.map(&:to_s).sort
1361
- end
1362
-
1363
- def test_generate_extras_not_first
1364
- set.draw do |map|
1365
- map.connect ':controller/:action/:id.:format'
1366
- map.connect ':controller/:action/:id'
1367
- end
1368
- path, extras = set.generate_extras(:controller => "foo", :action => "bar", :id => 15, :this => "hello", :that => "world")
1369
- assert_equal "/foo/bar/15", path
1370
- assert_equal %w(that this), extras.map(&:to_s).sort
1371
- end
1372
-
1373
- def test_generate_not_first
1374
- set.draw do |map|
1375
- map.connect ':controller/:action/:id.:format'
1376
- map.connect ':controller/:action/:id'
1377
- end
1378
- assert_equal "/foo/bar/15?this=hello", set.generate(:controller => "foo", :action => "bar", :id => 15, :this => "hello")
1379
- end
1380
-
1381
- def test_extra_keys_not_first
1382
- set.draw do |map|
1383
- map.connect ':controller/:action/:id.:format'
1384
- map.connect ':controller/:action/:id'
1385
- end
1386
- extras = set.extra_keys(:controller => "foo", :action => "bar", :id => 15, :this => "hello", :that => "world")
1387
- assert_equal %w(that this), extras.map(&:to_s).sort
1388
- end
1389
-
1390
- def test_draw
1391
- assert_equal 0, set.routes.size
1392
- set.draw do |map|
1393
- map.connect '/hello/world', :controller => 'a', :action => 'b'
1394
- end
1395
- assert_equal 1, set.routes.size
1396
- end
1397
-
1398
- def test_named_draw
1399
- assert_equal 0, set.routes.size
1400
- set.draw do |map|
1401
- map.hello '/hello/world', :controller => 'a', :action => 'b'
1402
- end
1403
- assert_equal 1, set.routes.size
1404
- assert_equal set.routes.first, set.named_routes[:hello]
1405
- end
1406
-
1407
- def test_later_named_routes_take_precedence
1408
- set.draw do |map|
1409
- map.hello '/hello/world', :controller => 'a', :action => 'b'
1410
- map.hello '/hello', :controller => 'a', :action => 'b'
1411
- end
1412
- assert_equal set.routes.last, set.named_routes[:hello]
1413
- end
1414
-
1415
- def setup_named_route_test
1416
- set.draw do |map|
1417
- map.show '/people/:id', :controller => 'people', :action => 'show'
1418
- map.index '/people', :controller => 'people', :action => 'index'
1419
- map.multi '/people/go/:foo/:bar/joe/:id', :controller => 'people', :action => 'multi'
1420
- map.users '/admin/users', :controller => 'admin/users', :action => 'index'
1421
- end
1422
-
1423
- klass = Class.new(MockController)
1424
- set.install_helpers(klass)
1425
- klass.new(set)
1426
- end
1427
-
1428
- def test_named_route_hash_access_method
1429
- controller = setup_named_route_test
1430
-
1431
- assert_equal(
1432
- { :controller => 'people', :action => 'show', :id => 5, :use_route => :show, :only_path => false },
1433
- controller.send(:hash_for_show_url, :id => 5))
1434
-
1435
- assert_equal(
1436
- { :controller => 'people', :action => 'index', :use_route => :index, :only_path => false },
1437
- controller.send(:hash_for_index_url))
1438
-
1439
- assert_equal(
1440
- { :controller => 'people', :action => 'show', :id => 5, :use_route => :show, :only_path => true },
1441
- controller.send(:hash_for_show_path, :id => 5)
1442
- )
1443
- end
1444
-
1445
- def test_named_route_url_method
1446
- controller = setup_named_route_test
1447
-
1448
- assert_equal "http://named.route.test/people/5", controller.send(:show_url, :id => 5)
1449
- assert_equal "/people/5", controller.send(:show_path, :id => 5)
1450
-
1451
- assert_equal "http://named.route.test/people", controller.send(:index_url)
1452
- assert_equal "/people", controller.send(:index_path)
1453
-
1454
- assert_equal "http://named.route.test/admin/users", controller.send(:users_url)
1455
- assert_equal '/admin/users', controller.send(:users_path)
1456
- assert_equal '/admin/users', set.generate(controller.send(:hash_for_users_url), {:controller => 'users', :action => 'index'})
1457
- end
1458
-
1459
- def test_namd_route_url_method_with_ordered_parameters
1460
- controller = setup_named_route_test
1461
- assert_equal "http://named.route.test/people/go/7/hello/joe/5",
1462
- controller.send(:multi_url, 7, "hello", 5)
1463
- end
1464
-
1465
- def test_draw_default_route
1466
- ActionController::Routing.with_controllers(['users']) do
1467
- set.draw do |map|
1468
- map.connect '/:controller/:action/:id'
1469
- end
1470
-
1471
- assert_equal 1, set.routes.size
1472
- route = set.routes.first
1473
-
1474
- assert route.segments.last.optional?
1475
-
1476
- assert_equal '/users/show/10', set.generate(:controller => 'users', :action => 'show', :id => 10)
1477
- assert_equal '/users/index/10', set.generate(:controller => 'users', :id => 10)
1478
-
1479
- assert_equal({:controller => 'users', :action => 'index', :id => '10'}, set.recognize_path('/users/index/10'))
1480
- assert_equal({:controller => 'users', :action => 'index', :id => '10'}, set.recognize_path('/users/index/10/'))
1481
- end
1482
- end
1483
-
1484
- def test_draw_default_route_with_default_controller
1485
- ActionController::Routing.with_controllers(['users']) do
1486
- set.draw do |map|
1487
- map.connect '/:controller/:action/:id', :controller => 'users'
1488
- end
1489
- assert_equal({:controller => 'users', :action => 'index'}, set.recognize_path('/'))
1490
- end
1491
- end
1492
-
1493
- def test_route_with_parameter_shell
1494
- ActionController::Routing.with_controllers(['users', 'pages']) do
1495
- set.draw do |map|
1496
- map.connect 'page/:id', :controller => 'pages', :action => 'show', :id => /\d+/
1497
- map.connect '/:controller/:action/:id'
1498
- end
1499
-
1500
- assert_equal({:controller => 'pages', :action => 'index'}, set.recognize_path('/pages'))
1501
- assert_equal({:controller => 'pages', :action => 'index'}, set.recognize_path('/pages/index'))
1502
- assert_equal({:controller => 'pages', :action => 'list'}, set.recognize_path('/pages/list'))
1503
-
1504
- assert_equal({:controller => 'pages', :action => 'show', :id => '10'}, set.recognize_path('/pages/show/10'))
1505
- assert_equal({:controller => 'pages', :action => 'show', :id => '10'}, set.recognize_path('/page/10'))
1506
- end
1507
- end
1508
-
1509
- def test_route_requirements_with_anchor_chars_are_invalid
1510
- assert_raises ArgumentError do
1511
- set.draw do |map|
1512
- map.connect 'page/:id', :controller => 'pages', :action => 'show', :id => /^\d+/
1513
- end
1514
- end
1515
- assert_raises ArgumentError do
1516
- set.draw do |map|
1517
- map.connect 'page/:id', :controller => 'pages', :action => 'show', :id => /\A\d+/
1518
- end
1519
- end
1520
- assert_raises ArgumentError do
1521
- set.draw do |map|
1522
- map.connect 'page/:id', :controller => 'pages', :action => 'show', :id => /\d+$/
1523
- end
1524
- end
1525
- assert_raises ArgumentError do
1526
- set.draw do |map|
1527
- map.connect 'page/:id', :controller => 'pages', :action => 'show', :id => /\d+\Z/
1528
- end
1529
- end
1530
- assert_raises ArgumentError do
1531
- set.draw do |map|
1532
- map.connect 'page/:id', :controller => 'pages', :action => 'show', :id => /\d+\z/
1533
- end
1534
- end
1535
- assert_nothing_raised do
1536
- set.draw do |map|
1537
- map.connect 'page/:id', :controller => 'pages', :action => 'show', :id => /\d+/, :name => /^(david|jamis)/
1538
- end
1539
- assert_raises ActionController::RoutingError do
1540
- set.generate :controller => 'pages', :action => 'show', :id => 10
1541
- end
1542
- end
1543
- end
1544
-
1545
- def test_non_path_route_requirements_match_all
1546
- set.draw do |map|
1547
- map.connect 'page/37s', :controller => 'pages', :action => 'show', :name => /(jamis|david)/
1548
- end
1549
- assert_equal '/page/37s', set.generate(:controller => 'pages', :action => 'show', :name => 'jamis')
1550
- assert_raises ActionController::RoutingError do
1551
- set.generate(:controller => 'pages', :action => 'show', :name => 'not_jamis')
1552
- end
1553
- assert_raises ActionController::RoutingError do
1554
- set.generate(:controller => 'pages', :action => 'show', :name => 'nor_jamis_and_david')
1555
- end
1556
- end
1557
-
1558
- def test_recognize_with_encoded_id_and_regex
1559
- set.draw do |map|
1560
- map.connect 'page/:id', :controller => 'pages', :action => 'show', :id => /[a-zA-Z0-9\+]+/
1561
- end
1562
-
1563
- assert_equal({:controller => 'pages', :action => 'show', :id => '10'}, set.recognize_path('/page/10'))
1564
- assert_equal({:controller => 'pages', :action => 'show', :id => 'hello+world'}, set.recognize_path('/page/hello+world'))
1565
- end
1566
-
1567
- def test_recognize_with_conditions
1568
- Object.const_set(:PeopleController, Class.new)
1569
-
1570
- set.draw do |map|
1571
- map.with_options(:controller => "people") do |people|
1572
- people.people "/people", :action => "index", :conditions => { :method => :get }
1573
- people.connect "/people", :action => "create", :conditions => { :method => :post }
1574
- people.person "/people/:id", :action => "show", :conditions => { :method => :get }
1575
- people.connect "/people/:id", :action => "update", :conditions => { :method => :put }
1576
- people.connect "/people/:id", :action => "destroy", :conditions => { :method => :delete }
1577
- end
1578
- end
1579
-
1580
- request.path = "/people"
1581
- request.method = :get
1582
- assert_nothing_raised { set.recognize(request) }
1583
- assert_equal("index", request.path_parameters[:action])
1584
-
1585
- request.method = :post
1586
- assert_nothing_raised { set.recognize(request) }
1587
- assert_equal("create", request.path_parameters[:action])
1588
-
1589
- request.method = :put
1590
- assert_nothing_raised { set.recognize(request) }
1591
- assert_equal("update", request.path_parameters[:action])
1592
-
1593
- request.method = :update
1594
- assert_raises(ActionController::RoutingError) { set.recognize(request) }
1595
-
1596
- request.path = "/people/5"
1597
- request.method = :get
1598
- assert_nothing_raised { set.recognize(request) }
1599
- assert_equal("show", request.path_parameters[:action])
1600
- assert_equal("5", request.path_parameters[:id])
1601
-
1602
- request.method = :put
1603
- assert_nothing_raised { set.recognize(request) }
1604
- assert_equal("update", request.path_parameters[:action])
1605
- assert_equal("5", request.path_parameters[:id])
1606
-
1607
- request.method = :delete
1608
- assert_nothing_raised { set.recognize(request) }
1609
- assert_equal("destroy", request.path_parameters[:action])
1610
- assert_equal("5", request.path_parameters[:id])
1611
-
1612
- request.method = :post
1613
- assert_raises(ActionController::RoutingError) { set.recognize(request) }
1614
-
1615
- ensure
1616
- Object.send(:remove_const, :PeopleController)
1617
- end
1618
-
1619
- def test_typo_recognition
1620
- Object.const_set(:ArticlesController, Class.new)
1621
-
1622
- set.draw do |map|
1623
- map.connect 'articles/:year/:month/:day/:title',
1624
- :controller => 'articles', :action => 'permalink',
1625
- :year => /\d{4}/, :day => /\d{1,2}/, :month => /\d{1,2}/
1626
- end
1627
-
1628
- request.path = "/articles/2005/11/05/a-very-interesting-article"
1629
- request.method = :get
1630
- assert_nothing_raised { set.recognize(request) }
1631
- assert_equal("permalink", request.path_parameters[:action])
1632
- assert_equal("2005", request.path_parameters[:year])
1633
- assert_equal("11", request.path_parameters[:month])
1634
- assert_equal("05", request.path_parameters[:day])
1635
- assert_equal("a-very-interesting-article", request.path_parameters[:title])
1636
-
1637
- ensure
1638
- Object.send(:remove_const, :ArticlesController)
1639
- end
1640
-
1641
- def test_routing_traversal_does_not_load_extra_classes
1642
- assert !Object.const_defined?("Profiler__"), "Profiler should not be loaded"
1643
- set.draw do |map|
1644
- map.connect '/profile', :controller => 'profile'
1645
- end
1646
-
1647
- request.path = '/profile'
1648
-
1649
- set.recognize(request) rescue nil
1650
-
1651
- assert !Object.const_defined?("Profiler__"), "Profiler should not be loaded"
1652
- end
1653
-
1654
- def test_recognize_with_conditions_and_format
1655
- Object.const_set(:PeopleController, Class.new)
1656
-
1657
- set.draw do |map|
1658
- map.with_options(:controller => "people") do |people|
1659
- people.person "/people/:id", :action => "show", :conditions => { :method => :get }
1660
- people.connect "/people/:id", :action => "update", :conditions => { :method => :put }
1661
- people.connect "/people/:id.:_format", :action => "show", :conditions => { :method => :get }
1662
- end
1663
- end
1664
-
1665
- request.path = "/people/5"
1666
- request.method = :get
1667
- assert_nothing_raised { set.recognize(request) }
1668
- assert_equal("show", request.path_parameters[:action])
1669
- assert_equal("5", request.path_parameters[:id])
1670
-
1671
- request.method = :put
1672
- assert_nothing_raised { set.recognize(request) }
1673
- assert_equal("update", request.path_parameters[:action])
1674
-
1675
- request.path = "/people/5.png"
1676
- request.method = :get
1677
- assert_nothing_raised { set.recognize(request) }
1678
- assert_equal("show", request.path_parameters[:action])
1679
- assert_equal("5", request.path_parameters[:id])
1680
- assert_equal("png", request.path_parameters[:_format])
1681
- ensure
1682
- Object.send(:remove_const, :PeopleController)
1683
- end
1684
-
1685
- def test_generate_with_default_action
1686
- set.draw do |map|
1687
- map.connect "/people", :controller => "people"
1688
- map.connect "/people/list", :controller => "people", :action => "list"
1689
- end
1690
-
1691
- url = set.generate(:controller => "people", :action => "list")
1692
- assert_equal "/people/list", url
1693
- end
1694
-
1695
- def test_root_map
1696
- Object.const_set(:PeopleController, Class.new)
1697
-
1698
- set.draw { |map| map.root :controller => "people" }
1699
-
1700
- request.path = ""
1701
- request.method = :get
1702
- assert_nothing_raised { set.recognize(request) }
1703
- assert_equal("people", request.path_parameters[:controller])
1704
- assert_equal("index", request.path_parameters[:action])
1705
- ensure
1706
- Object.send(:remove_const, :PeopleController)
1707
- end
1708
-
1709
- def test_generate_finds_best_fit
1710
- set.draw do |map|
1711
- map.connect "/people", :controller => "people", :action => "index"
1712
- map.connect "/ws/people", :controller => "people", :action => "index", :ws => true
1713
- end
1714
-
1715
- url = set.generate(:controller => "people", :action => "index", :ws => true)
1716
- assert_equal "/ws/people", url
1717
- end
1718
-
1719
- def test_generate_changes_controller_module
1720
- set.draw { |map| map.connect ':controller/:action/:id' }
1721
- current = { :controller => "bling/bloop", :action => "bap", :id => 9 }
1722
- url = set.generate({:controller => "foo/bar", :action => "baz", :id => 7}, current)
1723
- assert_equal "/foo/bar/baz/7", url
1724
- end
1725
-
1726
- def test_id_is_not_impossibly_sticky
1727
- set.draw do |map|
1728
- map.connect 'foo/:number', :controller => "people", :action => "index"
1729
- map.connect ':controller/:action/:id'
1730
- end
1731
-
1732
- url = set.generate({:controller => "people", :action => "index", :number => 3},
1733
- {:controller => "people", :action => "index", :id => "21"})
1734
- assert_equal "/foo/3", url
1735
- end
1736
-
1737
- def test_id_is_sticky_when_it_ought_to_be
1738
- set.draw do |map|
1739
- map.connect ':controller/:id/:action'
1740
- end
1741
-
1742
- url = set.generate({:action => "destroy"}, {:controller => "people", :action => "show", :id => "7"})
1743
- assert_equal "/people/7/destroy", url
1744
- end
1745
-
1746
- def test_use_static_path_when_possible
1747
- set.draw do |map|
1748
- map.connect 'about', :controller => "welcome", :action => "about"
1749
- map.connect ':controller/:action/:id'
1750
- end
1751
-
1752
- url = set.generate({:controller => "welcome", :action => "about"},
1753
- {:controller => "welcome", :action => "get", :id => "7"})
1754
- assert_equal "/about", url
1755
- end
1756
-
1757
- def test_generate
1758
- set.draw { |map| map.connect ':controller/:action/:id' }
1759
-
1760
- args = { :controller => "foo", :action => "bar", :id => "7", :x => "y" }
1761
- assert_equal "/foo/bar/7?x=y", set.generate(args)
1762
- assert_equal ["/foo/bar/7", [:x]], set.generate_extras(args)
1763
- assert_equal [:x], set.extra_keys(args)
1764
- end
1765
-
1766
- def test_named_routes_are_never_relative_to_modules
1767
- set.draw do |map|
1768
- map.connect "/connection/manage/:action", :controller => 'connection/manage'
1769
- map.connect "/connection/connection", :controller => "connection/connection"
1770
- map.family_connection "/connection", :controller => "connection"
1771
- end
1772
-
1773
- url = set.generate({:controller => "connection"}, {:controller => 'connection/manage'})
1774
- assert_equal "/connection/connection", url
1775
-
1776
- url = set.generate({:use_route => :family_connection, :controller => "connection"}, {:controller => 'connection/manage'})
1777
- assert_equal "/connection", url
1778
- end
1779
-
1780
- def test_action_left_off_when_id_is_recalled
1781
- set.draw do |map|
1782
- map.connect ':controller/:action/:id'
1783
- end
1784
- assert_equal '/post', set.generate(
1785
- {:controller => 'post', :action => 'index'},
1786
- {:controller => 'post', :action => 'show', :id => '10'}
1787
- )
1788
- end
1789
-
1790
- def test_query_params_will_be_shown_when_recalled
1791
- set.draw do |map|
1792
- map.connect 'show_post/:parameter', :controller => 'post', :action => 'show'
1793
- map.connect ':controller/:action/:id'
1794
- end
1795
- assert_equal '/post/edit?parameter=1', set.generate(
1796
- {:action => 'edit', :parameter => 1},
1797
- {:controller => 'post', :action => 'show', :parameter => 1}
1798
- )
1799
- end
1800
-
1801
- def test_expiry_determination_should_consider_values_with_to_param
1802
- set.draw { |map| map.connect 'projects/:project_id/:controller/:action' }
1803
- assert_equal '/projects/1/post/show', set.generate(
1804
- {:action => 'show', :project_id => 1},
1805
- {:controller => 'post', :action => 'show', :project_id => '1'})
1806
- end
1807
-
1808
- def test_generate_all
1809
- set.draw do |map|
1810
- map.connect 'show_post/:id', :controller => 'post', :action => 'show'
1811
- map.connect ':controller/:action/:id'
1812
- end
1813
- all = set.generate(
1814
- {:action => 'show', :id => 10, :generate_all => true},
1815
- {:controller => 'post', :action => 'show'}
1816
- )
1817
- assert_equal 2, all.length
1818
- assert_equal '/show_post/10', all.first
1819
- assert_equal '/post/show/10', all.last
1820
- end
1821
-
1822
- end
1823
-
1824
- class RoutingTest < Test::Unit::TestCase
1825
-
1826
- def test_possible_controllers
1827
- true_controller_paths = ActionController::Routing.controller_paths
1828
-
1829
- ActionController::Routing.use_controllers! nil
1830
-
1831
- silence_warnings do
1832
- Object.send(:const_set, :RAILS_ROOT, File.dirname(__FILE__) + '/controller_fixtures')
1833
- end
1834
-
1835
- ActionController::Routing.controller_paths = [
1836
- RAILS_ROOT, RAILS_ROOT + '/app/controllers', RAILS_ROOT + '/vendor/plugins/bad_plugin/lib'
1837
- ]
1838
-
1839
- assert_equal ["admin/user", "plugin", "user"], ActionController::Routing.possible_controllers.sort
1840
- ensure
1841
- if true_controller_paths
1842
- ActionController::Routing.controller_paths = true_controller_paths
1843
- end
1844
- ActionController::Routing.use_controllers! nil
1845
- Object.send(:remove_const, :RAILS_ROOT) rescue nil
1846
- end
1847
-
1848
- def test_possible_controllers_are_reset_on_each_load
1849
- true_possible_controllers = ActionController::Routing.possible_controllers
1850
- true_controller_paths = ActionController::Routing.controller_paths
1851
-
1852
- ActionController::Routing.use_controllers! nil
1853
- root = File.dirname(__FILE__) + '/controller_fixtures'
1854
-
1855
- ActionController::Routing.controller_paths = []
1856
- assert_equal [], ActionController::Routing.possible_controllers
1857
-
1858
- ActionController::Routing::Routes.load!
1859
- ActionController::Routing.controller_paths = [
1860
- root, root + '/app/controllers', root + '/vendor/plugins/bad_plugin/lib'
1861
- ]
1862
-
1863
- assert_equal ["admin/user", "plugin", "user"], ActionController::Routing.possible_controllers.sort
1864
- ensure
1865
- ActionController::Routing.controller_paths = true_controller_paths
1866
- ActionController::Routing.use_controllers! true_possible_controllers
1867
- Object.send(:remove_const, :RAILS_ROOT) rescue nil
1868
-
1869
- ActionController::Routing::Routes.clear!
1870
- ActionController::Routing::Routes.load_routes!
1871
- end
1872
-
1873
- def test_with_controllers
1874
- c = %w(admin/accounts admin/users account pages)
1875
- ActionController::Routing.with_controllers c do
1876
- assert_equal c, ActionController::Routing.possible_controllers
1877
- end
1878
- end
1879
-
1880
- def test_normalize_unix_paths
1881
- load_paths = %w(. config/../app/controllers config/../app//helpers script/../config/../vendor/rails/actionpack/lib vendor/rails/railties/builtin/rails_info app/models lib script/../config/../foo/bar/../../app/models)
1882
- paths = ActionController::Routing.normalize_paths(load_paths)
1883
- assert_equal %w(vendor/rails/railties/builtin/rails_info vendor/rails/actionpack/lib app/controllers app/helpers app/models lib .), paths
1884
- end
1885
-
1886
- def test_normalize_windows_paths
1887
- load_paths = %w(. config\\..\\app\\controllers config\\..\\app\\\\helpers script\\..\\config\\..\\vendor\\rails\\actionpack\\lib vendor\\rails\\railties\\builtin\\rails_info app\\models lib script\\..\\config\\..\\foo\\bar\\..\\..\\app\\models)
1888
- paths = ActionController::Routing.normalize_paths(load_paths)
1889
- assert_equal %w(vendor\\rails\\railties\\builtin\\rails_info vendor\\rails\\actionpack\\lib app\\controllers app\\helpers app\\models lib .), paths
1890
- end
1891
-
1892
- def test_routing_helper_module
1893
- assert_kind_of Module, ActionController::Routing::Helpers
1894
-
1895
- h = ActionController::Routing::Helpers
1896
- c = Class.new
1897
- assert ! c.ancestors.include?(h)
1898
- ActionController::Routing::Routes.install_helpers c
1899
- assert c.ancestors.include?(h)
1900
- end
1901
-
1902
- end