rq 3.4.0 → 3.5.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.
- data/a.rb +7 -1
- data/all/install.sh +0 -0
- data/all/packages/arrayfields-4.7.0.tgz +0 -0
- data/all/packages/open4-0.9.6.tgz +0 -0
- data/all/packages/ruby-1.8.7-p72.tar.gz +0 -0
- data/bin/rq +0 -0
- data/bin/rqmailer +0 -0
- data/{rails/log/development.log → db} +0 -0
- data/extconf.rb +28 -8
- data/gemspec.rb +17 -8
- data/lib/rq.rb +4 -1
- data/lib/rq/arrayfields.rb +0 -0
- data/lib/rq/jobrunner.rb +2 -0
- data/rdoc.sh +0 -0
- data/rq +0 -0
- data/white_box/killrq +0 -0
- metadata +95 -1405
- data/all/packages/arrayfields-3.6.0.tgz +0 -0
- data/all/packages/main-1.0.0.tgz +0 -0
- data/all/packages/open4-0.9.3.tgz +0 -0
- data/all/packages/ruby-1.8.6.tar.gz +0 -0
- data/all/packages/rubygems-0.9.2.tgz +0 -0
- data/rails/README +0 -182
- data/rails/Rakefile +0 -10
- data/rails/app/controllers/application.rb +0 -7
- data/rails/app/helpers/application_helper.rb +0 -3
- data/rails/config/boot.rb +0 -45
- data/rails/config/database.yml +0 -36
- data/rails/config/environment.rb +0 -60
- data/rails/config/environments/development.rb +0 -21
- data/rails/config/environments/production.rb +0 -18
- data/rails/config/environments/test.rb +0 -19
- data/rails/config/routes.rb +0 -23
- data/rails/data/config +0 -13
- data/rails/data/template +0 -7
- data/rails/doc/README_FOR_APP +0 -2
- data/rails/example.rb +0 -89
- data/rails/log/production.log +0 -0
- data/rails/log/server.log +0 -0
- data/rails/log/test.log +0 -0
- data/rails/public/404.html +0 -30
- data/rails/public/500.html +0 -30
- data/rails/public/dispatch.cgi +0 -10
- data/rails/public/dispatch.fcgi +0 -24
- data/rails/public/dispatch.rb +0 -10
- data/rails/public/favicon.ico +0 -0
- data/rails/public/images/rails.png +0 -0
- data/rails/public/index.html +0 -277
- data/rails/public/javascripts/application.js +0 -2
- data/rails/public/javascripts/controls.js +0 -833
- data/rails/public/javascripts/dragdrop.js +0 -942
- data/rails/public/javascripts/effects.js +0 -1088
- data/rails/public/javascripts/prototype.js +0 -2515
- data/rails/public/robots.txt +0 -1
- data/rails/q.20070629122840.tgz +0 -0
- data/rails/script/about +0 -3
- data/rails/script/breakpointer +0 -3
- data/rails/script/console +0 -3
- data/rails/script/destroy +0 -3
- data/rails/script/generate +0 -3
- data/rails/script/performance/benchmarker +0 -3
- data/rails/script/performance/profiler +0 -3
- data/rails/script/plugin +0 -3
- data/rails/script/process/inspector +0 -3
- data/rails/script/process/reaper +0 -3
- data/rails/script/process/spawner +0 -3
- data/rails/script/runner +0 -3
- data/rails/script/server +0 -3
- data/rails/test/test_helper.rb +0 -28
- data/rails/vendor/rails/actionmailer/CHANGELOG +0 -297
- data/rails/vendor/rails/actionmailer/MIT-LICENSE +0 -21
- data/rails/vendor/rails/actionmailer/README +0 -145
- data/rails/vendor/rails/actionmailer/Rakefile +0 -95
- data/rails/vendor/rails/actionmailer/install.rb +0 -30
- data/rails/vendor/rails/actionmailer/lib/action_mailer.rb +0 -50
- data/rails/vendor/rails/actionmailer/lib/action_mailer/adv_attr_accessor.rb +0 -30
- data/rails/vendor/rails/actionmailer/lib/action_mailer/base.rb +0 -582
- data/rails/vendor/rails/actionmailer/lib/action_mailer/helpers.rb +0 -111
- data/rails/vendor/rails/actionmailer/lib/action_mailer/mail_helper.rb +0 -19
- data/rails/vendor/rails/actionmailer/lib/action_mailer/part.rb +0 -113
- data/rails/vendor/rails/actionmailer/lib/action_mailer/part_container.rb +0 -51
- data/rails/vendor/rails/actionmailer/lib/action_mailer/quoting.rb +0 -59
- data/rails/vendor/rails/actionmailer/lib/action_mailer/utils.rb +0 -8
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/text/format.rb +0 -1466
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail.rb +0 -3
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/address.rb +0 -242
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/attachments.rb +0 -39
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/base64.rb +0 -71
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/config.rb +0 -69
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/encode.rb +0 -467
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/facade.rb +0 -552
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/header.rb +0 -914
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/info.rb +0 -35
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/loader.rb +0 -1
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mail.rb +0 -447
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mailbox.rb +0 -433
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mbox.rb +0 -1
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/net.rb +0 -280
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/obsolete.rb +0 -135
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/parser.rb +0 -1522
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/port.rb +0 -377
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb +0 -131
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/scanner.rb +0 -41
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/scanner_r.rb +0 -263
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/stringio.rb +0 -277
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/tmail.rb +0 -1
- data/rails/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/utils.rb +0 -238
- data/rails/vendor/rails/actionmailer/lib/action_mailer/version.rb +0 -9
- data/rails/vendor/rails/actionmailer/test/abstract_unit.rb +0 -30
- data/rails/vendor/rails/actionmailer/test/fixtures/first_mailer/share.rhtml +0 -1
- data/rails/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml +0 -1
- data/rails/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml +0 -1
- data/rails/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml +0 -5
- data/rails/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_test_helper.rhtml +0 -1
- data/rails/vendor/rails/actionmailer/test/fixtures/helpers/test_helper.rb +0 -5
- data/rails/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml +0 -1
- data/rails/vendor/rails/actionmailer/test/fixtures/path.with.dots/multipart_with_template_path_with_dots.rhtml +0 -0
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email +0 -14
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email10 +0 -20
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email11 +0 -34
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email12 +0 -32
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email13 +0 -29
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email2 +0 -114
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email3 +0 -70
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email4 +0 -59
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email5 +0 -19
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email6 +0 -20
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email7 +0 -66
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email8 +0 -47
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email9 +0 -28
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email_quoted_with_0d0a +0 -14
- data/rails/vendor/rails/actionmailer/test/fixtures/raw_email_with_partially_quoted_subject +0 -14
- data/rails/vendor/rails/actionmailer/test/fixtures/second_mailer/share.rhtml +0 -1
- data/rails/vendor/rails/actionmailer/test/fixtures/templates/signed_up.rhtml +0 -3
- data/rails/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml +0 -1
- data/rails/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.rhtml.bak +0 -1
- data/rails/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml +0 -10
- data/rails/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml +0 -2
- data/rails/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml +0 -1
- data/rails/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.rhtml +0 -3
- data/rails/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml +0 -3
- data/rails/vendor/rails/actionmailer/test/mail_helper_test.rb +0 -91
- data/rails/vendor/rails/actionmailer/test/mail_render_test.rb +0 -79
- data/rails/vendor/rails/actionmailer/test/mail_service_test.rb +0 -816
- data/rails/vendor/rails/actionmailer/test/quoting_test.rb +0 -57
- data/rails/vendor/rails/actionmailer/test/tmail_test.rb +0 -13
- data/rails/vendor/rails/actionmailer/test/url_test.rb +0 -68
- data/rails/vendor/rails/actionpack/CHANGELOG +0 -3138
- data/rails/vendor/rails/actionpack/MIT-LICENSE +0 -21
- data/rails/vendor/rails/actionpack/README +0 -469
- data/rails/vendor/rails/actionpack/RUNNING_UNIT_TESTS +0 -25
- data/rails/vendor/rails/actionpack/Rakefile +0 -154
- data/rails/vendor/rails/actionpack/examples/address_book/index.rhtml +0 -33
- data/rails/vendor/rails/actionpack/examples/address_book/layout.rhtml +0 -8
- data/rails/vendor/rails/actionpack/examples/address_book_controller.cgi +0 -9
- data/rails/vendor/rails/actionpack/examples/address_book_controller.fcgi +0 -6
- data/rails/vendor/rails/actionpack/examples/address_book_controller.rb +0 -52
- data/rails/vendor/rails/actionpack/examples/address_book_controller.rbx +0 -4
- data/rails/vendor/rails/actionpack/examples/benchmark.rb +0 -52
- data/rails/vendor/rails/actionpack/examples/benchmark_with_ar.fcgi +0 -89
- data/rails/vendor/rails/actionpack/examples/blog_controller.cgi +0 -53
- data/rails/vendor/rails/actionpack/examples/debate/index.rhtml +0 -14
- data/rails/vendor/rails/actionpack/examples/debate/new_topic.rhtml +0 -22
- data/rails/vendor/rails/actionpack/examples/debate/topic.rhtml +0 -32
- data/rails/vendor/rails/actionpack/examples/debate_controller.cgi +0 -57
- data/rails/vendor/rails/actionpack/install.rb +0 -30
- data/rails/vendor/rails/actionpack/lib/action_controller.rb +0 -83
- data/rails/vendor/rails/actionpack/lib/action_controller/assertions.rb +0 -82
- data/rails/vendor/rails/actionpack/lib/action_controller/assertions/deprecated_assertions.rb +0 -228
- data/rails/vendor/rails/actionpack/lib/action_controller/assertions/dom_assertions.rb +0 -25
- data/rails/vendor/rails/actionpack/lib/action_controller/assertions/model_assertions.rb +0 -12
- data/rails/vendor/rails/actionpack/lib/action_controller/assertions/response_assertions.rb +0 -140
- data/rails/vendor/rails/actionpack/lib/action_controller/assertions/routing_assertions.rb +0 -98
- data/rails/vendor/rails/actionpack/lib/action_controller/assertions/selector_assertions.rb +0 -571
- data/rails/vendor/rails/actionpack/lib/action_controller/assertions/tag_assertions.rb +0 -117
- data/rails/vendor/rails/actionpack/lib/action_controller/base.rb +0 -1231
- data/rails/vendor/rails/actionpack/lib/action_controller/benchmarking.rb +0 -89
- data/rails/vendor/rails/actionpack/lib/action_controller/caching.rb +0 -616
- data/rails/vendor/rails/actionpack/lib/action_controller/cgi_ext/cgi_ext.rb +0 -36
- data/rails/vendor/rails/actionpack/lib/action_controller/cgi_ext/cgi_methods.rb +0 -211
- data/rails/vendor/rails/actionpack/lib/action_controller/cgi_ext/cookie_performance_fix.rb +0 -125
- data/rails/vendor/rails/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb +0 -95
- data/rails/vendor/rails/actionpack/lib/action_controller/cgi_ext/session_performance_fix.rb +0 -30
- data/rails/vendor/rails/actionpack/lib/action_controller/cgi_process.rb +0 -231
- data/rails/vendor/rails/actionpack/lib/action_controller/components.rb +0 -182
- data/rails/vendor/rails/actionpack/lib/action_controller/cookies.rb +0 -78
- data/rails/vendor/rails/actionpack/lib/action_controller/deprecated_dependencies.rb +0 -65
- data/rails/vendor/rails/actionpack/lib/action_controller/deprecated_redirects.rb +0 -17
- data/rails/vendor/rails/actionpack/lib/action_controller/deprecated_request_methods.rb +0 -34
- data/rails/vendor/rails/actionpack/lib/action_controller/filters.rb +0 -667
- data/rails/vendor/rails/actionpack/lib/action_controller/flash.rb +0 -182
- data/rails/vendor/rails/actionpack/lib/action_controller/helpers.rb +0 -131
- data/rails/vendor/rails/actionpack/lib/action_controller/integration.rb +0 -552
- data/rails/vendor/rails/actionpack/lib/action_controller/layout.rb +0 -313
- data/rails/vendor/rails/actionpack/lib/action_controller/macros/auto_complete.rb +0 -53
- data/rails/vendor/rails/actionpack/lib/action_controller/macros/in_place_editing.rb +0 -33
- data/rails/vendor/rails/actionpack/lib/action_controller/mime_responds.rb +0 -181
- data/rails/vendor/rails/actionpack/lib/action_controller/mime_type.rb +0 -200
- data/rails/vendor/rails/actionpack/lib/action_controller/pagination.rb +0 -402
- data/rails/vendor/rails/actionpack/lib/action_controller/request.rb +0 -265
- data/rails/vendor/rails/actionpack/lib/action_controller/rescue.rb +0 -142
- data/rails/vendor/rails/actionpack/lib/action_controller/resources.rb +0 -405
- data/rails/vendor/rails/actionpack/lib/action_controller/response.rb +0 -35
- data/rails/vendor/rails/actionpack/lib/action_controller/routing.rb +0 -1340
- data/rails/vendor/rails/actionpack/lib/action_controller/scaffolding.rb +0 -189
- data/rails/vendor/rails/actionpack/lib/action_controller/session/active_record_store.rb +0 -335
- data/rails/vendor/rails/actionpack/lib/action_controller/session/drb_server.rb +0 -32
- data/rails/vendor/rails/actionpack/lib/action_controller/session/drb_store.rb +0 -35
- data/rails/vendor/rails/actionpack/lib/action_controller/session/mem_cache_store.rb +0 -105
- data/rails/vendor/rails/actionpack/lib/action_controller/session_management.rb +0 -142
- data/rails/vendor/rails/actionpack/lib/action_controller/status_codes.rb +0 -88
- data/rails/vendor/rails/actionpack/lib/action_controller/streaming.rb +0 -138
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.rhtml +0 -44
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/rescues/_trace.rhtml +0 -26
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/rescues/diagnostics.rhtml +0 -11
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/rescues/layout.rhtml +0 -29
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/rescues/missing_template.rhtml +0 -2
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/rescues/routing_error.rhtml +0 -10
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/rescues/template_error.rhtml +0 -21
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/rescues/unknown_action.rhtml +0 -2
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/edit.rhtml +0 -7
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/layout.rhtml +0 -69
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/list.rhtml +0 -27
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/new.rhtml +0 -6
- data/rails/vendor/rails/actionpack/lib/action_controller/templates/scaffolds/show.rhtml +0 -9
- data/rails/vendor/rails/actionpack/lib/action_controller/test_process.rb +0 -504
- data/rails/vendor/rails/actionpack/lib/action_controller/url_rewriter.rb +0 -108
- data/rails/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb +0 -65
- data/rails/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/node.rb +0 -530
- data/rails/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb +0 -823
- data/rails/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/tokenizer.rb +0 -105
- data/rails/vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/version.rb +0 -11
- data/rails/vendor/rails/actionpack/lib/action_controller/vendor/xml_node.rb +0 -97
- data/rails/vendor/rails/actionpack/lib/action_controller/verification.rb +0 -107
- data/rails/vendor/rails/actionpack/lib/action_pack.rb +0 -24
- data/rails/vendor/rails/actionpack/lib/action_pack/version.rb +0 -9
- data/rails/vendor/rails/actionpack/lib/action_view.rb +0 -32
- data/rails/vendor/rails/actionpack/lib/action_view/base.rb +0 -538
- data/rails/vendor/rails/actionpack/lib/action_view/compiled_templates.rb +0 -70
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/active_record_helper.rb +0 -237
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/asset_tag_helper.rb +0 -218
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/benchmark_helper.rb +0 -24
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/cache_helper.rb +0 -10
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/capture_helper.rb +0 -128
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/date_helper.rb +0 -429
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/debug_helper.rb +0 -17
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/deprecated_helper.rb +0 -34
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/form_helper.rb +0 -446
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/form_options_helper.rb +0 -363
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/form_tag_helper.rb +0 -176
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/java_script_macros_helper.rb +0 -233
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/javascript_helper.rb +0 -193
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/javascripts/controls.js +0 -833
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/javascripts/dragdrop.js +0 -942
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/javascripts/effects.js +0 -1088
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/javascripts/prototype.js +0 -2515
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb +0 -155
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/pagination_helper.rb +0 -86
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/prototype_helper.rb +0 -876
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/scriptaculous_helper.rb +0 -140
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/tag_helper.rb +0 -103
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/text_helper.rb +0 -406
- data/rails/vendor/rails/actionpack/lib/action_view/helpers/url_helper.rb +0 -406
- data/rails/vendor/rails/actionpack/lib/action_view/partials.rb +0 -128
- data/rails/vendor/rails/actionpack/lib/action_view/template_error.rb +0 -110
- data/rails/vendor/rails/actionpack/test/abstract_unit.rb +0 -16
- data/rails/vendor/rails/actionpack/test/active_record_unit.rb +0 -116
- data/rails/vendor/rails/actionpack/test/activerecord/active_record_assertions_test.rb +0 -92
- data/rails/vendor/rails/actionpack/test/activerecord/active_record_store_test.rb +0 -142
- data/rails/vendor/rails/actionpack/test/activerecord/pagination_test.rb +0 -156
- data/rails/vendor/rails/actionpack/test/controller/action_pack_assertions_test.rb +0 -610
- data/rails/vendor/rails/actionpack/test/controller/addresses_render_test.rb +0 -45
- data/rails/vendor/rails/actionpack/test/controller/assert_select_test.rb +0 -576
- data/rails/vendor/rails/actionpack/test/controller/base_test.rb +0 -136
- data/rails/vendor/rails/actionpack/test/controller/benchmark_test.rb +0 -33
- data/rails/vendor/rails/actionpack/test/controller/caching_test.rb +0 -228
- data/rails/vendor/rails/actionpack/test/controller/capture_test.rb +0 -82
- data/rails/vendor/rails/actionpack/test/controller/cgi_test.rb +0 -440
- data/rails/vendor/rails/actionpack/test/controller/components_test.rb +0 -151
- data/rails/vendor/rails/actionpack/test/controller/content_type_test.rb +0 -139
- data/rails/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/admin/user_controller.rb +0 -0
- data/rails/vendor/rails/actionpack/test/controller/controller_fixtures/app/controllers/user_controller.rb +0 -0
- data/rails/vendor/rails/actionpack/test/controller/controller_fixtures/vendor/plugins/bad_plugin/lib/plugin_controller.rb +0 -0
- data/rails/vendor/rails/actionpack/test/controller/cookie_test.rb +0 -88
- data/rails/vendor/rails/actionpack/test/controller/custom_handler_test.rb +0 -41
- data/rails/vendor/rails/actionpack/test/controller/deprecated_instance_variables_test.rb +0 -48
- data/rails/vendor/rails/actionpack/test/controller/deprecation/deprecated_base_methods_test.rb +0 -60
- data/rails/vendor/rails/actionpack/test/controller/fake_controllers.rb +0 -16
- data/rails/vendor/rails/actionpack/test/controller/filter_params_test.rb +0 -42
- data/rails/vendor/rails/actionpack/test/controller/filters_test.rb +0 -695
- data/rails/vendor/rails/actionpack/test/controller/flash_test.rb +0 -102
- data/rails/vendor/rails/actionpack/test/controller/fragment_store_setting_test.rb +0 -45
- data/rails/vendor/rails/actionpack/test/controller/helper_test.rb +0 -187
- data/rails/vendor/rails/actionpack/test/controller/integration_test.rb +0 -154
- data/rails/vendor/rails/actionpack/test/controller/layout_test.rb +0 -187
- data/rails/vendor/rails/actionpack/test/controller/mime_responds_test.rb +0 -351
- data/rails/vendor/rails/actionpack/test/controller/mime_type_test.rb +0 -33
- data/rails/vendor/rails/actionpack/test/controller/new_render_test.rb +0 -750
- data/rails/vendor/rails/actionpack/test/controller/raw_post_test.rb +0 -68
- data/rails/vendor/rails/actionpack/test/controller/redirect_test.rb +0 -156
- data/rails/vendor/rails/actionpack/test/controller/render_test.rb +0 -293
- data/rails/vendor/rails/actionpack/test/controller/request_test.rb +0 -317
- data/rails/vendor/rails/actionpack/test/controller/resources_test.rb +0 -482
- data/rails/vendor/rails/actionpack/test/controller/routing_test.rb +0 -1801
- data/rails/vendor/rails/actionpack/test/controller/selector_test.rb +0 -628
- data/rails/vendor/rails/actionpack/test/controller/send_file_test.rb +0 -117
- data/rails/vendor/rails/actionpack/test/controller/session_management_test.rb +0 -156
- data/rails/vendor/rails/actionpack/test/controller/test_test.rb +0 -495
- data/rails/vendor/rails/actionpack/test/controller/url_rewriter_test.rb +0 -115
- data/rails/vendor/rails/actionpack/test/controller/verification_test.rb +0 -227
- data/rails/vendor/rails/actionpack/test/controller/webservice_test.rb +0 -248
- data/rails/vendor/rails/actionpack/test/fixtures/addresses/list.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/companies.yml +0 -24
- data/rails/vendor/rails/actionpack/test/fixtures/company.rb +0 -9
- data/rails/vendor/rails/actionpack/test/fixtures/content_type/render_default_content_types_for_respond_to.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rhtml.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rjs.rjs +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/content_type/render_default_for_rxml.rxml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/db_definitions/sqlite.sql +0 -42
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_cookies_ivar.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_cookies_method.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_flash_ivar.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_flash_method.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_headers_ivar.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_headers_method.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_params_ivar.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_params_method.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_request_ivar.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_request_method.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_response_ivar.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_response_method.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_session_ivar.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_session_method.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/developer.rb +0 -7
- data/rails/vendor/rails/actionpack/test/fixtures/developers.yml +0 -21
- data/rails/vendor/rails/actionpack/test/fixtures/developers_projects.yml +0 -13
- data/rails/vendor/rails/actionpack/test/fixtures/fun/games/hello_world.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/helpers/abc_helper.rb +0 -5
- data/rails/vendor/rails/actionpack/test/fixtures/helpers/fun/games_helper.rb +0 -3
- data/rails/vendor/rails/actionpack/test/fixtures/helpers/fun/pdf_helper.rb +0 -3
- data/rails/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/controller_name_space/nested.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/item.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/layout_test.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/layout_tests/layouts/third_party_template_library.mab +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/layout_tests/views/hello.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/layouts/builder.rxml +0 -3
- data/rails/vendor/rails/actionpack/test/fixtures/layouts/standard.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/layouts/talk_from_action.rhtml +0 -2
- data/rails/vendor/rails/actionpack/test/fixtures/layouts/yield.rhtml +0 -2
- data/rails/vendor/rails/actionpack/test/fixtures/multipart/binary_file +0 -0
- data/rails/vendor/rails/actionpack/test/fixtures/multipart/large_text_file +0 -10
- data/rails/vendor/rails/actionpack/test/fixtures/multipart/mixed_files +0 -0
- data/rails/vendor/rails/actionpack/test/fixtures/multipart/mona_lisa.jpg +0 -0
- data/rails/vendor/rails/actionpack/test/fixtures/multipart/single_parameter +0 -5
- data/rails/vendor/rails/actionpack/test/fixtures/multipart/text_file +0 -10
- data/rails/vendor/rails/actionpack/test/fixtures/project.rb +0 -3
- data/rails/vendor/rails/actionpack/test/fixtures/projects.yml +0 -7
- data/rails/vendor/rails/actionpack/test/fixtures/public/images/rails.png +0 -0
- data/rails/vendor/rails/actionpack/test/fixtures/public/javascripts/application.js +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/replies.yml +0 -13
- data/rails/vendor/rails/actionpack/test/fixtures/reply.rb +0 -5
- data/rails/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/respond_to/all_types_with_layout.rjs +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.rjs +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults.rxml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.rjs +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/respond_to/using_defaults_with_type_list.rxml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/scope/test/modgreet.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/_customer.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/_customer_greeting.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/_hash_object.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/_hello.rxml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/_partial_only.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/_person.rhtml +0 -2
- data/rails/vendor/rails/actionpack/test/fixtures/test/action_talk_to_layout.rhtml +0 -2
- data/rails/vendor/rails/actionpack/test/fixtures/test/block_content_for.rhtml +0 -2
- data/rails/vendor/rails/actionpack/test/fixtures/test/capturing.rhtml +0 -4
- data/rails/vendor/rails/actionpack/test/fixtures/test/content_for.rhtml +0 -2
- data/rails/vendor/rails/actionpack/test/fixtures/test/delete_with_js.rjs +0 -2
- data/rails/vendor/rails/actionpack/test/fixtures/test/dot.directory/render_file_with_ivar.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/enum_rjs_test.rjs +0 -6
- data/rails/vendor/rails/actionpack/test/fixtures/test/erb_content_for.rhtml +0 -2
- data/rails/vendor/rails/actionpack/test/fixtures/test/greeting.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/hello.rxml +0 -4
- data/rails/vendor/rails/actionpack/test/fixtures/test/hello_world.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/hello_world.rxml +0 -3
- data/rails/vendor/rails/actionpack/test/fixtures/test/hello_world_container.rxml +0 -3
- data/rails/vendor/rails/actionpack/test/fixtures/test/hello_world_with_layout_false.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/hello_xml_world.rxml +0 -11
- data/rails/vendor/rails/actionpack/test/fixtures/test/list.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/non_erb_block_content_for.rxml +0 -4
- data/rails/vendor/rails/actionpack/test/fixtures/test/potential_conflicts.rhtml +0 -4
- data/rails/vendor/rails/actionpack/test/fixtures/test/render_file_with_ivar.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/render_file_with_locals.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/render_to_string_test.rhtml +0 -1
- data/rails/vendor/rails/actionpack/test/fixtures/test/update_element_with_capture.rhtml +0 -9
- data/rails/vendor/rails/actionpack/test/fixtures/topic.rb +0 -3
- data/rails/vendor/rails/actionpack/test/fixtures/topics.yml +0 -22
- data/rails/vendor/rails/actionpack/test/template/active_record_helper_test.rb +0 -204
- data/rails/vendor/rails/actionpack/test/template/asset_tag_helper_test.rb +0 -232
- data/rails/vendor/rails/actionpack/test/template/benchmark_helper_test.rb +0 -72
- data/rails/vendor/rails/actionpack/test/template/compiled_templates_test.rb +0 -135
- data/rails/vendor/rails/actionpack/test/template/date_helper_test.rb +0 -1322
- data/rails/vendor/rails/actionpack/test/template/deprecated_helper_test.rb +0 -36
- data/rails/vendor/rails/actionpack/test/template/deprecated_instance_variables_test.rb +0 -43
- data/rails/vendor/rails/actionpack/test/template/form_helper_test.rb +0 -499
- data/rails/vendor/rails/actionpack/test/template/form_options_helper_test.rb +0 -489
- data/rails/vendor/rails/actionpack/test/template/form_tag_helper_test.rb +0 -172
- data/rails/vendor/rails/actionpack/test/template/java_script_macros_helper_test.rb +0 -109
- data/rails/vendor/rails/actionpack/test/template/javascript_helper_test.rb +0 -67
- data/rails/vendor/rails/actionpack/test/template/number_helper_test.rb +0 -92
- data/rails/vendor/rails/actionpack/test/template/prototype_helper_test.rb +0 -466
- data/rails/vendor/rails/actionpack/test/template/scriptaculous_helper_test.rb +0 -90
- data/rails/vendor/rails/actionpack/test/template/tag_helper_test.rb +0 -69
- data/rails/vendor/rails/actionpack/test/template/text_helper_test.rb +0 -349
- data/rails/vendor/rails/actionpack/test/template/url_helper_test.rb +0 -366
- data/rails/vendor/rails/actionpack/test/testing_sandbox.rb +0 -11
- data/rails/vendor/rails/actionwebservice/CHANGELOG +0 -279
- data/rails/vendor/rails/actionwebservice/MIT-LICENSE +0 -21
- data/rails/vendor/rails/actionwebservice/README +0 -364
- data/rails/vendor/rails/actionwebservice/Rakefile +0 -171
- data/rails/vendor/rails/actionwebservice/TODO +0 -32
- data/rails/vendor/rails/actionwebservice/examples/googlesearch/README +0 -143
- data/rails/vendor/rails/actionwebservice/examples/googlesearch/autoloading/google_search_api.rb +0 -50
- data/rails/vendor/rails/actionwebservice/examples/googlesearch/autoloading/google_search_controller.rb +0 -57
- data/rails/vendor/rails/actionwebservice/examples/googlesearch/delegated/google_search_service.rb +0 -108
- data/rails/vendor/rails/actionwebservice/examples/googlesearch/delegated/search_controller.rb +0 -7
- data/rails/vendor/rails/actionwebservice/examples/googlesearch/direct/google_search_api.rb +0 -50
- data/rails/vendor/rails/actionwebservice/examples/googlesearch/direct/search_controller.rb +0 -58
- data/rails/vendor/rails/actionwebservice/examples/metaWeblog/README +0 -17
- data/rails/vendor/rails/actionwebservice/examples/metaWeblog/apis/blogger_api.rb +0 -60
- data/rails/vendor/rails/actionwebservice/examples/metaWeblog/apis/blogger_service.rb +0 -34
- data/rails/vendor/rails/actionwebservice/examples/metaWeblog/apis/meta_weblog_api.rb +0 -67
- data/rails/vendor/rails/actionwebservice/examples/metaWeblog/apis/meta_weblog_service.rb +0 -48
- data/rails/vendor/rails/actionwebservice/examples/metaWeblog/controllers/xmlrpc_controller.rb +0 -16
- data/rails/vendor/rails/actionwebservice/lib/action_web_service.rb +0 -66
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/api.rb +0 -249
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/base.rb +0 -42
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/casting.rb +0 -136
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/client.rb +0 -3
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/client/base.rb +0 -28
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/client/soap_client.rb +0 -113
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/client/xmlrpc_client.rb +0 -58
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/container.rb +0 -3
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/container/action_controller_container.rb +0 -93
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/container/delegated_container.rb +0 -86
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/container/direct_container.rb +0 -69
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/dispatcher.rb +0 -2
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/dispatcher/abstract.rb +0 -203
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb +0 -376
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/invocation.rb +0 -202
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/protocol.rb +0 -4
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/protocol/abstract.rb +0 -112
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/protocol/discovery.rb +0 -37
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/protocol/soap_protocol.rb +0 -176
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb +0 -241
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb +0 -110
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/scaffolding.rb +0 -283
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/struct.rb +0 -68
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/support/class_inheritable_options.rb +0 -26
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/support/signature_types.rb +0 -222
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/templates/scaffolds/layout.rhtml +0 -65
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/templates/scaffolds/methods.rhtml +0 -6
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/templates/scaffolds/parameters.rhtml +0 -29
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/templates/scaffolds/result.rhtml +0 -30
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/test_invoke.rb +0 -110
- data/rails/vendor/rails/actionwebservice/lib/action_web_service/version.rb +0 -9
- data/rails/vendor/rails/actionwebservice/setup.rb +0 -1379
- data/rails/vendor/rails/actionwebservice/test/abstract_client.rb +0 -183
- data/rails/vendor/rails/actionwebservice/test/abstract_dispatcher.rb +0 -505
- data/rails/vendor/rails/actionwebservice/test/abstract_unit.rb +0 -45
- data/rails/vendor/rails/actionwebservice/test/api_test.rb +0 -102
- data/rails/vendor/rails/actionwebservice/test/apis/auto_load_api.rb +0 -3
- data/rails/vendor/rails/actionwebservice/test/apis/broken_auto_load_api.rb +0 -2
- data/rails/vendor/rails/actionwebservice/test/base_test.rb +0 -42
- data/rails/vendor/rails/actionwebservice/test/casting_test.rb +0 -86
- data/rails/vendor/rails/actionwebservice/test/client_soap_test.rb +0 -152
- data/rails/vendor/rails/actionwebservice/test/client_xmlrpc_test.rb +0 -151
- data/rails/vendor/rails/actionwebservice/test/container_test.rb +0 -73
- data/rails/vendor/rails/actionwebservice/test/dispatcher_action_controller_soap_test.rb +0 -137
- data/rails/vendor/rails/actionwebservice/test/dispatcher_action_controller_xmlrpc_test.rb +0 -59
- data/rails/vendor/rails/actionwebservice/test/fixtures/db_definitions/mysql.sql +0 -7
- data/rails/vendor/rails/actionwebservice/test/fixtures/users.yml +0 -10
- data/rails/vendor/rails/actionwebservice/test/gencov +0 -3
- data/rails/vendor/rails/actionwebservice/test/invocation_test.rb +0 -185
- data/rails/vendor/rails/actionwebservice/test/run +0 -6
- data/rails/vendor/rails/actionwebservice/test/scaffolded_controller_test.rb +0 -146
- data/rails/vendor/rails/actionwebservice/test/struct_test.rb +0 -52
- data/rails/vendor/rails/actionwebservice/test/test_invoke_test.rb +0 -112
- data/rails/vendor/rails/activerecord/CHANGELOG +0 -3043
- data/rails/vendor/rails/activerecord/README +0 -360
- data/rails/vendor/rails/activerecord/RUNNING_UNIT_TESTS +0 -64
- data/rails/vendor/rails/activerecord/Rakefile +0 -226
- data/rails/vendor/rails/activerecord/examples/associations.png +0 -0
- data/rails/vendor/rails/activerecord/examples/associations.rb +0 -87
- data/rails/vendor/rails/activerecord/examples/shared_setup.rb +0 -15
- data/rails/vendor/rails/activerecord/examples/validation.rb +0 -85
- data/rails/vendor/rails/activerecord/install.rb +0 -30
- data/rails/vendor/rails/activerecord/lib/active_record.rb +0 -85
- data/rails/vendor/rails/activerecord/lib/active_record/acts/list.rb +0 -244
- data/rails/vendor/rails/activerecord/lib/active_record/acts/nested_set.rb +0 -211
- data/rails/vendor/rails/activerecord/lib/active_record/acts/tree.rb +0 -89
- data/rails/vendor/rails/activerecord/lib/active_record/aggregations.rb +0 -191
- data/rails/vendor/rails/activerecord/lib/active_record/associations.rb +0 -1627
- data/rails/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb +0 -190
- data/rails/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb +0 -158
- data/rails/vendor/rails/activerecord/lib/active_record/associations/belongs_to_association.rb +0 -56
- data/rails/vendor/rails/activerecord/lib/active_record/associations/belongs_to_polymorphic_association.rb +0 -50
- data/rails/vendor/rails/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb +0 -169
- data/rails/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb +0 -210
- data/rails/vendor/rails/activerecord/lib/active_record/associations/has_many_through_association.rb +0 -247
- data/rails/vendor/rails/activerecord/lib/active_record/associations/has_one_association.rb +0 -80
- data/rails/vendor/rails/activerecord/lib/active_record/attribute_methods.rb +0 -75
- data/rails/vendor/rails/activerecord/lib/active_record/base.rb +0 -2164
- data/rails/vendor/rails/activerecord/lib/active_record/calculations.rb +0 -270
- data/rails/vendor/rails/activerecord/lib/active_record/callbacks.rb +0 -367
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb +0 -279
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb +0 -130
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb +0 -58
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb +0 -343
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +0 -303
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +0 -161
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb +0 -228
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/firebird_adapter.rb +0 -728
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb +0 -861
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +0 -414
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/openbase_adapter.rb +0 -350
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb +0 -689
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +0 -584
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +0 -407
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb +0 -591
- data/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/sybase_adapter.rb +0 -662
- data/rails/vendor/rails/activerecord/lib/active_record/deprecated_associations.rb +0 -104
- data/rails/vendor/rails/activerecord/lib/active_record/deprecated_finders.rb +0 -44
- data/rails/vendor/rails/activerecord/lib/active_record/fixtures.rb +0 -628
- data/rails/vendor/rails/activerecord/lib/active_record/locking/optimistic.rb +0 -106
- data/rails/vendor/rails/activerecord/lib/active_record/locking/pessimistic.rb +0 -77
- data/rails/vendor/rails/activerecord/lib/active_record/migration.rb +0 -394
- data/rails/vendor/rails/activerecord/lib/active_record/observer.rb +0 -178
- data/rails/vendor/rails/activerecord/lib/active_record/query_cache.rb +0 -64
- data/rails/vendor/rails/activerecord/lib/active_record/reflection.rb +0 -222
- data/rails/vendor/rails/activerecord/lib/active_record/schema.rb +0 -58
- data/rails/vendor/rails/activerecord/lib/active_record/schema_dumper.rb +0 -149
- data/rails/vendor/rails/activerecord/lib/active_record/timestamp.rb +0 -51
- data/rails/vendor/rails/activerecord/lib/active_record/transactions.rb +0 -136
- data/rails/vendor/rails/activerecord/lib/active_record/validations.rb +0 -843
- data/rails/vendor/rails/activerecord/lib/active_record/vendor/db2.rb +0 -362
- data/rails/vendor/rails/activerecord/lib/active_record/vendor/mysql.rb +0 -1214
- data/rails/vendor/rails/activerecord/lib/active_record/vendor/simple.rb +0 -693
- data/rails/vendor/rails/activerecord/lib/active_record/version.rb +0 -9
- data/rails/vendor/rails/activerecord/lib/active_record/wrappers/yaml_wrapper.rb +0 -15
- data/rails/vendor/rails/activerecord/lib/active_record/wrappings.rb +0 -58
- data/rails/vendor/rails/activerecord/lib/active_record/xml_serialization.rb +0 -308
- data/rails/vendor/rails/activerecord/test/aaa_create_tables_test.rb +0 -59
- data/rails/vendor/rails/activerecord/test/abstract_unit.rb +0 -77
- data/rails/vendor/rails/activerecord/test/active_schema_test_mysql.rb +0 -31
- data/rails/vendor/rails/activerecord/test/adapter_test.rb +0 -87
- data/rails/vendor/rails/activerecord/test/adapter_test_sqlserver.rb +0 -81
- data/rails/vendor/rails/activerecord/test/aggregations_test.rb +0 -95
- data/rails/vendor/rails/activerecord/test/all.sh +0 -8
- data/rails/vendor/rails/activerecord/test/ar_schema_test.rb +0 -33
- data/rails/vendor/rails/activerecord/test/association_inheritance_reload.rb +0 -14
- data/rails/vendor/rails/activerecord/test/associations/callbacks_test.rb +0 -126
- data/rails/vendor/rails/activerecord/test/associations/cascaded_eager_loading_test.rb +0 -138
- data/rails/vendor/rails/activerecord/test/associations/eager_test.rb +0 -393
- data/rails/vendor/rails/activerecord/test/associations/extension_test.rb +0 -42
- data/rails/vendor/rails/activerecord/test/associations/join_model_test.rb +0 -497
- data/rails/vendor/rails/activerecord/test/associations_test.rb +0 -1809
- data/rails/vendor/rails/activerecord/test/attribute_methods_test.rb +0 -49
- data/rails/vendor/rails/activerecord/test/base_test.rb +0 -1586
- data/rails/vendor/rails/activerecord/test/binary_test.rb +0 -37
- data/rails/vendor/rails/activerecord/test/calculations_test.rb +0 -219
- data/rails/vendor/rails/activerecord/test/callbacks_test.rb +0 -377
- data/rails/vendor/rails/activerecord/test/class_inheritable_attributes_test.rb +0 -32
- data/rails/vendor/rails/activerecord/test/column_alias_test.rb +0 -17
- data/rails/vendor/rails/activerecord/test/connection_test_firebird.rb +0 -8
- data/rails/vendor/rails/activerecord/test/connections/native_db2/connection.rb +0 -25
- data/rails/vendor/rails/activerecord/test/connections/native_firebird/connection.rb +0 -26
- data/rails/vendor/rails/activerecord/test/connections/native_frontbase/connection.rb +0 -27
- data/rails/vendor/rails/activerecord/test/connections/native_mysql/connection.rb +0 -24
- data/rails/vendor/rails/activerecord/test/connections/native_openbase/connection.rb +0 -21
- data/rails/vendor/rails/activerecord/test/connections/native_oracle/connection.rb +0 -27
- data/rails/vendor/rails/activerecord/test/connections/native_postgresql/connection.rb +0 -23
- data/rails/vendor/rails/activerecord/test/connections/native_sqlite/connection.rb +0 -34
- data/rails/vendor/rails/activerecord/test/connections/native_sqlite3/connection.rb +0 -34
- data/rails/vendor/rails/activerecord/test/connections/native_sqlite3/in_memory_connection.rb +0 -18
- data/rails/vendor/rails/activerecord/test/connections/native_sqlserver/connection.rb +0 -23
- data/rails/vendor/rails/activerecord/test/connections/native_sqlserver_odbc/connection.rb +0 -25
- data/rails/vendor/rails/activerecord/test/connections/native_sybase/connection.rb +0 -23
- data/rails/vendor/rails/activerecord/test/copy_table_sqlite.rb +0 -64
- data/rails/vendor/rails/activerecord/test/datatype_test_postgresql.rb +0 -52
- data/rails/vendor/rails/activerecord/test/default_test_firebird.rb +0 -16
- data/rails/vendor/rails/activerecord/test/defaults_test.rb +0 -60
- data/rails/vendor/rails/activerecord/test/deprecated_associations_test.rb +0 -396
- data/rails/vendor/rails/activerecord/test/deprecated_finder_test.rb +0 -151
- data/rails/vendor/rails/activerecord/test/empty_date_time_test.rb +0 -25
- data/rails/vendor/rails/activerecord/test/finder_test.rb +0 -504
- data/rails/vendor/rails/activerecord/test/fixtures/accounts.yml +0 -28
- data/rails/vendor/rails/activerecord/test/fixtures/author.rb +0 -99
- data/rails/vendor/rails/activerecord/test/fixtures/author_favorites.yml +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/authors.yml +0 -7
- data/rails/vendor/rails/activerecord/test/fixtures/auto_id.rb +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/bad_fixtures/attr_with_numeric_first_char +0 -1
- data/rails/vendor/rails/activerecord/test/fixtures/bad_fixtures/attr_with_spaces +0 -1
- data/rails/vendor/rails/activerecord/test/fixtures/bad_fixtures/blank_line +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/bad_fixtures/duplicate_attributes +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/bad_fixtures/missing_value +0 -1
- data/rails/vendor/rails/activerecord/test/fixtures/binary.rb +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/categories.yml +0 -14
- data/rails/vendor/rails/activerecord/test/fixtures/categories/special_categories.yml +0 -9
- data/rails/vendor/rails/activerecord/test/fixtures/categories/subsubdir/arbitrary_filename.yml +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/categories_ordered.yml +0 -7
- data/rails/vendor/rails/activerecord/test/fixtures/categories_posts.yml +0 -23
- data/rails/vendor/rails/activerecord/test/fixtures/categorization.rb +0 -5
- data/rails/vendor/rails/activerecord/test/fixtures/categorizations.yml +0 -17
- data/rails/vendor/rails/activerecord/test/fixtures/category.rb +0 -20
- data/rails/vendor/rails/activerecord/test/fixtures/column_name.rb +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/comment.rb +0 -23
- data/rails/vendor/rails/activerecord/test/fixtures/comments.yml +0 -59
- data/rails/vendor/rails/activerecord/test/fixtures/companies.yml +0 -55
- data/rails/vendor/rails/activerecord/test/fixtures/company.rb +0 -107
- data/rails/vendor/rails/activerecord/test/fixtures/company_in_module.rb +0 -59
- data/rails/vendor/rails/activerecord/test/fixtures/computer.rb +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/computers.yml +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/course.rb +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/courses.yml +0 -7
- data/rails/vendor/rails/activerecord/test/fixtures/customer.rb +0 -55
- data/rails/vendor/rails/activerecord/test/fixtures/customers.yml +0 -17
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/db2.drop.sql +0 -32
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/db2.sql +0 -231
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/db22.drop.sql +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/db22.sql +0 -5
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/firebird.drop.sql +0 -63
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/firebird.sql +0 -304
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/firebird2.drop.sql +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/firebird2.sql +0 -6
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase.drop.sql +0 -32
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase.sql +0 -268
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase2.drop.sql +0 -1
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/frontbase2.sql +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/mysql.drop.sql +0 -32
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/mysql.sql +0 -234
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/mysql2.drop.sql +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/mysql2.sql +0 -5
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/openbase.drop.sql +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/openbase.sql +0 -302
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/openbase2.drop.sql +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/openbase2.sql +0 -7
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/oracle.drop.sql +0 -65
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/oracle.sql +0 -325
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/oracle2.drop.sql +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/oracle2.sql +0 -6
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql.drop.sql +0 -37
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql.sql +0 -263
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql2.drop.sql +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/postgresql2.sql +0 -5
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/schema.rb +0 -60
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite.drop.sql +0 -32
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite.sql +0 -215
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite2.drop.sql +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sqlite2.sql +0 -5
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver.drop.sql +0 -34
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver.sql +0 -243
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver2.drop.sql +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver2.sql +0 -5
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sybase.drop.sql +0 -34
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sybase.sql +0 -218
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sybase2.drop.sql +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/db_definitions/sybase2.sql +0 -5
- data/rails/vendor/rails/activerecord/test/fixtures/default.rb +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/developer.rb +0 -52
- data/rails/vendor/rails/activerecord/test/fixtures/developers.yml +0 -21
- data/rails/vendor/rails/activerecord/test/fixtures/developers_projects.yml +0 -17
- data/rails/vendor/rails/activerecord/test/fixtures/developers_projects/david_action_controller +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/developers_projects/david_active_record +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/developers_projects/jamis_active_record +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/edge.rb +0 -5
- data/rails/vendor/rails/activerecord/test/fixtures/edges.yml +0 -6
- data/rails/vendor/rails/activerecord/test/fixtures/entrant.rb +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/entrants.yml +0 -14
- data/rails/vendor/rails/activerecord/test/fixtures/fk_test_has_fk.yml +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/fk_test_has_pk.yml +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/flowers.jpg +0 -0
- data/rails/vendor/rails/activerecord/test/fixtures/funny_jokes.yml +0 -10
- data/rails/vendor/rails/activerecord/test/fixtures/joke.rb +0 -6
- data/rails/vendor/rails/activerecord/test/fixtures/keyboard.rb +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/legacy_thing.rb +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/legacy_things.yml +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/migrations/1_people_have_last_names.rb +0 -9
- data/rails/vendor/rails/activerecord/test/fixtures/migrations/2_we_need_reminders.rb +0 -12
- data/rails/vendor/rails/activerecord/test/fixtures/migrations/3_innocent_jointable.rb +0 -12
- data/rails/vendor/rails/activerecord/test/fixtures/migrations_with_decimal/1_give_me_big_numbers.rb +0 -15
- data/rails/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/1_people_have_last_names.rb +0 -9
- data/rails/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/2_we_need_reminders.rb +0 -12
- data/rails/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/3_foo.rb +0 -7
- data/rails/vendor/rails/activerecord/test/fixtures/migrations_with_duplicate/3_innocent_jointable.rb +0 -12
- data/rails/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/1000_people_have_middle_names.rb +0 -9
- data/rails/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/1_people_have_last_names.rb +0 -9
- data/rails/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/3_we_need_reminders.rb +0 -12
- data/rails/vendor/rails/activerecord/test/fixtures/migrations_with_missing_versions/4_innocent_jointable.rb +0 -12
- data/rails/vendor/rails/activerecord/test/fixtures/mixed_case_monkey.rb +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/mixed_case_monkeys.yml +0 -6
- data/rails/vendor/rails/activerecord/test/fixtures/mixin.rb +0 -63
- data/rails/vendor/rails/activerecord/test/fixtures/mixins.yml +0 -127
- data/rails/vendor/rails/activerecord/test/fixtures/movie.rb +0 -5
- data/rails/vendor/rails/activerecord/test/fixtures/movies.yml +0 -7
- data/rails/vendor/rails/activerecord/test/fixtures/naked/csv/accounts.csv +0 -1
- data/rails/vendor/rails/activerecord/test/fixtures/naked/yml/accounts.yml +0 -1
- data/rails/vendor/rails/activerecord/test/fixtures/naked/yml/companies.yml +0 -1
- data/rails/vendor/rails/activerecord/test/fixtures/naked/yml/courses.yml +0 -1
- data/rails/vendor/rails/activerecord/test/fixtures/order.rb +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/people.yml +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/person.rb +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/post.rb +0 -58
- data/rails/vendor/rails/activerecord/test/fixtures/posts.yml +0 -48
- data/rails/vendor/rails/activerecord/test/fixtures/project.rb +0 -27
- data/rails/vendor/rails/activerecord/test/fixtures/projects.yml +0 -7
- data/rails/vendor/rails/activerecord/test/fixtures/reader.rb +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/readers.yml +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/reply.rb +0 -37
- data/rails/vendor/rails/activerecord/test/fixtures/subject.rb +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures/subscriber.rb +0 -6
- data/rails/vendor/rails/activerecord/test/fixtures/subscribers/first +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/subscribers/second +0 -2
- data/rails/vendor/rails/activerecord/test/fixtures/tag.rb +0 -7
- data/rails/vendor/rails/activerecord/test/fixtures/tagging.rb +0 -6
- data/rails/vendor/rails/activerecord/test/fixtures/taggings.yml +0 -18
- data/rails/vendor/rails/activerecord/test/fixtures/tags.yml +0 -7
- data/rails/vendor/rails/activerecord/test/fixtures/task.rb +0 -3
- data/rails/vendor/rails/activerecord/test/fixtures/tasks.yml +0 -7
- data/rails/vendor/rails/activerecord/test/fixtures/topic.rb +0 -25
- data/rails/vendor/rails/activerecord/test/fixtures/topics.yml +0 -22
- data/rails/vendor/rails/activerecord/test/fixtures/vertex.rb +0 -9
- data/rails/vendor/rails/activerecord/test/fixtures/vertices.yml +0 -4
- data/rails/vendor/rails/activerecord/test/fixtures_test.rb +0 -401
- data/rails/vendor/rails/activerecord/test/inheritance_test.rb +0 -205
- data/rails/vendor/rails/activerecord/test/lifecycle_test.rb +0 -137
- data/rails/vendor/rails/activerecord/test/locking_test.rb +0 -190
- data/rails/vendor/rails/activerecord/test/method_scoping_test.rb +0 -416
- data/rails/vendor/rails/activerecord/test/migration_test.rb +0 -768
- data/rails/vendor/rails/activerecord/test/migration_test_firebird.rb +0 -124
- data/rails/vendor/rails/activerecord/test/mixin_nested_set_test.rb +0 -196
- data/rails/vendor/rails/activerecord/test/mixin_test.rb +0 -550
- data/rails/vendor/rails/activerecord/test/modules_test.rb +0 -34
- data/rails/vendor/rails/activerecord/test/multiple_db_test.rb +0 -60
- data/rails/vendor/rails/activerecord/test/pk_test.rb +0 -104
- data/rails/vendor/rails/activerecord/test/readonly_test.rb +0 -107
- data/rails/vendor/rails/activerecord/test/reflection_test.rb +0 -159
- data/rails/vendor/rails/activerecord/test/schema_authorization_test_postgresql.rb +0 -75
- data/rails/vendor/rails/activerecord/test/schema_dumper_test.rb +0 -96
- data/rails/vendor/rails/activerecord/test/schema_test_postgresql.rb +0 -64
- data/rails/vendor/rails/activerecord/test/synonym_test_oracle.rb +0 -17
- data/rails/vendor/rails/activerecord/test/table_name_test_sqlserver.rb +0 -23
- data/rails/vendor/rails/activerecord/test/threaded_connections_test.rb +0 -48
- data/rails/vendor/rails/activerecord/test/transactions_test.rb +0 -230
- data/rails/vendor/rails/activerecord/test/unconnected_test.rb +0 -32
- data/rails/vendor/rails/activerecord/test/validations_test.rb +0 -1097
- data/rails/vendor/rails/activerecord/test/xml_serialization_test.rb +0 -125
- data/rails/vendor/rails/activesupport/CHANGELOG +0 -703
- data/rails/vendor/rails/activesupport/README +0 -43
- data/rails/vendor/rails/activesupport/lib/active_support.rb +0 -44
- data/rails/vendor/rails/activesupport/lib/active_support/binding_of_caller.rb +0 -84
- data/rails/vendor/rails/activesupport/lib/active_support/breakpoint.rb +0 -528
- data/rails/vendor/rails/activesupport/lib/active_support/caching_tools.rb +0 -62
- data/rails/vendor/rails/activesupport/lib/active_support/clean_logger.rb +0 -38
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext.rb +0 -1
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/array.rb +0 -7
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/array/conversions.rb +0 -72
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/array/grouping.rb +0 -55
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal.rb +0 -3
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/formatting.rb +0 -7
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/blank.rb +0 -50
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/cgi.rb +0 -5
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +0 -14
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/class.rb +0 -3
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/class/attribute_accessors.rb +0 -48
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb +0 -140
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/class/removal.rb +0 -24
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/date.rb +0 -6
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/date/conversions.rb +0 -39
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/enumerable.rb +0 -62
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/exception.rb +0 -33
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/hash.rb +0 -13
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb +0 -155
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/hash/diff.rb +0 -11
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb +0 -88
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/hash/keys.rb +0 -53
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/hash/reverse_merge.rb +0 -25
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/integer.rb +0 -7
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/integer/even_odd.rb +0 -24
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/integer/inflections.rb +0 -21
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/kernel.rb +0 -4
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/kernel/agnostics.rb +0 -11
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb +0 -15
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb +0 -51
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/kernel/requires.rb +0 -24
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/load_error.rb +0 -38
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/logger.rb +0 -16
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/module.rb +0 -7
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/module/aliasing.rb +0 -58
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/module/attr_internal.rb +0 -31
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/module/attribute_accessors.rb +0 -48
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/module/delegation.rb +0 -41
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/module/inclusion.rb +0 -11
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/module/introspection.rb +0 -21
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/module/loading.rb +0 -13
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/name_error.rb +0 -17
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/numeric.rb +0 -7
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/numeric/bytes.rb +0 -44
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/numeric/time.rb +0 -72
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/object.rb +0 -2
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/object/extending.rb +0 -47
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/object/misc.rb +0 -34
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/pathname.rb +0 -7
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/pathname/clean_within.rb +0 -14
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/proc.rb +0 -12
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/range.rb +0 -5
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/range/conversions.rb +0 -21
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/string.rb +0 -15
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/string/access.rb +0 -58
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/string/conversions.rb +0 -19
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/string/inflections.rb +0 -153
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/string/iterators.rb +0 -17
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/string/starts_ends_with.rb +0 -20
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/string/unicode.rb +0 -42
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/symbol.rb +0 -12
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/time.rb +0 -17
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/time/calculations.rb +0 -191
- data/rails/vendor/rails/activesupport/lib/active_support/core_ext/time/conversions.rb +0 -33
- data/rails/vendor/rails/activesupport/lib/active_support/dependencies.rb +0 -539
- data/rails/vendor/rails/activesupport/lib/active_support/deprecation.rb +0 -202
- data/rails/vendor/rails/activesupport/lib/active_support/inflections.rb +0 -52
- data/rails/vendor/rails/activesupport/lib/active_support/inflector.rb +0 -275
- data/rails/vendor/rails/activesupport/lib/active_support/json.rb +0 -48
- data/rails/vendor/rails/activesupport/lib/active_support/json/encoders.rb +0 -25
- data/rails/vendor/rails/activesupport/lib/active_support/json/encoders/core.rb +0 -68
- data/rails/vendor/rails/activesupport/lib/active_support/multibyte.rb +0 -7
- data/rails/vendor/rails/activesupport/lib/active_support/multibyte/chars.rb +0 -129
- data/rails/vendor/rails/activesupport/lib/active_support/multibyte/generators/generate_tables.rb +0 -149
- data/rails/vendor/rails/activesupport/lib/active_support/multibyte/handlers/passthru_handler.rb +0 -9
- data/rails/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler.rb +0 -454
- data/rails/vendor/rails/activesupport/lib/active_support/multibyte/handlers/utf8_handler_proc.rb +0 -43
- data/rails/vendor/rails/activesupport/lib/active_support/option_merger.rb +0 -25
- data/rails/vendor/rails/activesupport/lib/active_support/ordered_options.rb +0 -44
- data/rails/vendor/rails/activesupport/lib/active_support/reloadable.rb +0 -60
- data/rails/vendor/rails/activesupport/lib/active_support/values/time_zone.rb +0 -180
- data/rails/vendor/rails/activesupport/lib/active_support/values/unicode_tables.dat +0 -0
- data/rails/vendor/rails/activesupport/lib/active_support/vendor/builder.rb +0 -13
- data/rails/vendor/rails/activesupport/lib/active_support/vendor/builder/blankslate.rb +0 -63
- data/rails/vendor/rails/activesupport/lib/active_support/vendor/builder/xchar.rb +0 -112
- data/rails/vendor/rails/activesupport/lib/active_support/vendor/builder/xmlbase.rb +0 -145
- data/rails/vendor/rails/activesupport/lib/active_support/vendor/builder/xmlevents.rb +0 -63
- data/rails/vendor/rails/activesupport/lib/active_support/vendor/builder/xmlmarkup.rb +0 -327
- data/rails/vendor/rails/activesupport/lib/active_support/vendor/xml_simple.rb +0 -1021
- data/rails/vendor/rails/activesupport/lib/active_support/version.rb +0 -9
- data/rails/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -38
- data/rails/vendor/rails/railties/CHANGELOG +0 -1366
- data/rails/vendor/rails/railties/MIT-LICENSE +0 -20
- data/rails/vendor/rails/railties/README +0 -182
- data/rails/vendor/rails/railties/Rakefile +0 -334
- data/rails/vendor/rails/railties/bin/about +0 -3
- data/rails/vendor/rails/railties/bin/breakpointer +0 -3
- data/rails/vendor/rails/railties/bin/console +0 -3
- data/rails/vendor/rails/railties/bin/destroy +0 -3
- data/rails/vendor/rails/railties/bin/generate +0 -3
- data/rails/vendor/rails/railties/bin/performance/benchmarker +0 -3
- data/rails/vendor/rails/railties/bin/performance/profiler +0 -3
- data/rails/vendor/rails/railties/bin/plugin +0 -3
- data/rails/vendor/rails/railties/bin/process/inspector +0 -3
- data/rails/vendor/rails/railties/bin/process/reaper +0 -3
- data/rails/vendor/rails/railties/bin/process/spawner +0 -3
- data/rails/vendor/rails/railties/bin/rails +0 -19
- data/rails/vendor/rails/railties/bin/runner +0 -3
- data/rails/vendor/rails/railties/bin/server +0 -3
- data/rails/vendor/rails/railties/builtin/rails_info/rails/info.rb +0 -123
- data/rails/vendor/rails/railties/builtin/rails_info/rails/info_controller.rb +0 -9
- data/rails/vendor/rails/railties/builtin/rails_info/rails/info_helper.rb +0 -2
- data/rails/vendor/rails/railties/builtin/rails_info/rails_info_controller.rb +0 -2
- data/rails/vendor/rails/railties/configs/apache.conf +0 -40
- data/rails/vendor/rails/railties/configs/databases/frontbase.yml +0 -28
- data/rails/vendor/rails/railties/configs/databases/mysql.yml +0 -48
- data/rails/vendor/rails/railties/configs/databases/oracle.yml +0 -39
- data/rails/vendor/rails/railties/configs/databases/postgresql.yml +0 -44
- data/rails/vendor/rails/railties/configs/databases/sqlite2.yml +0 -16
- data/rails/vendor/rails/railties/configs/databases/sqlite3.yml +0 -19
- data/rails/vendor/rails/railties/configs/empty.log +0 -0
- data/rails/vendor/rails/railties/configs/lighttpd.conf +0 -54
- data/rails/vendor/rails/railties/configs/routes.rb +0 -23
- data/rails/vendor/rails/railties/dispatches/dispatch.fcgi +0 -24
- data/rails/vendor/rails/railties/dispatches/dispatch.rb +0 -10
- data/rails/vendor/rails/railties/dispatches/gateway.cgi +0 -97
- data/rails/vendor/rails/railties/doc/README_FOR_APP +0 -2
- data/rails/vendor/rails/railties/environments/boot.rb +0 -45
- data/rails/vendor/rails/railties/environments/development.rb +0 -21
- data/rails/vendor/rails/railties/environments/environment.rb +0 -60
- data/rails/vendor/rails/railties/environments/production.rb +0 -18
- data/rails/vendor/rails/railties/environments/test.rb +0 -19
- data/rails/vendor/rails/railties/fresh_rakefile +0 -10
- data/rails/vendor/rails/railties/helpers/application.rb +0 -7
- data/rails/vendor/rails/railties/helpers/application_helper.rb +0 -3
- data/rails/vendor/rails/railties/helpers/test_helper.rb +0 -28
- data/rails/vendor/rails/railties/html/404.html +0 -30
- data/rails/vendor/rails/railties/html/500.html +0 -30
- data/rails/vendor/rails/railties/html/favicon.ico +0 -0
- data/rails/vendor/rails/railties/html/images/rails.png +0 -0
- data/rails/vendor/rails/railties/html/index.html +0 -277
- data/rails/vendor/rails/railties/html/javascripts/application.js +0 -2
- data/rails/vendor/rails/railties/html/javascripts/controls.js +0 -833
- data/rails/vendor/rails/railties/html/javascripts/dragdrop.js +0 -942
- data/rails/vendor/rails/railties/html/javascripts/effects.js +0 -1088
- data/rails/vendor/rails/railties/html/javascripts/prototype.js +0 -2515
- data/rails/vendor/rails/railties/html/robots.txt +0 -1
- data/rails/vendor/rails/railties/lib/binding_of_caller.rb +0 -85
- data/rails/vendor/rails/railties/lib/breakpoint.rb +0 -553
- data/rails/vendor/rails/railties/lib/breakpoint_client.rb +0 -196
- data/rails/vendor/rails/railties/lib/code_statistics.rb +0 -107
- data/rails/vendor/rails/railties/lib/commands.rb +0 -17
- data/rails/vendor/rails/railties/lib/commands/about.rb +0 -2
- data/rails/vendor/rails/railties/lib/commands/breakpointer.rb +0 -1
- data/rails/vendor/rails/railties/lib/commands/console.rb +0 -25
- data/rails/vendor/rails/railties/lib/commands/destroy.rb +0 -6
- data/rails/vendor/rails/railties/lib/commands/generate.rb +0 -6
- data/rails/vendor/rails/railties/lib/commands/ncgi/listener +0 -86
- data/rails/vendor/rails/railties/lib/commands/ncgi/tracker +0 -69
- data/rails/vendor/rails/railties/lib/commands/performance/benchmarker.rb +0 -24
- data/rails/vendor/rails/railties/lib/commands/performance/profiler.rb +0 -50
- data/rails/vendor/rails/railties/lib/commands/plugin.rb +0 -918
- data/rails/vendor/rails/railties/lib/commands/process/inspector.rb +0 -68
- data/rails/vendor/rails/railties/lib/commands/process/reaper.rb +0 -149
- data/rails/vendor/rails/railties/lib/commands/process/spawner.rb +0 -209
- data/rails/vendor/rails/railties/lib/commands/process/spinner.rb +0 -57
- data/rails/vendor/rails/railties/lib/commands/runner.rb +0 -48
- data/rails/vendor/rails/railties/lib/commands/server.rb +0 -39
- data/rails/vendor/rails/railties/lib/commands/servers/base.rb +0 -19
- data/rails/vendor/rails/railties/lib/commands/servers/lighttpd.rb +0 -94
- data/rails/vendor/rails/railties/lib/commands/servers/mongrel.rb +0 -65
- data/rails/vendor/rails/railties/lib/commands/servers/webrick.rb +0 -59
- data/rails/vendor/rails/railties/lib/commands/update.rb +0 -4
- data/rails/vendor/rails/railties/lib/console_app.rb +0 -27
- data/rails/vendor/rails/railties/lib/console_sandbox.rb +0 -6
- data/rails/vendor/rails/railties/lib/console_with_helpers.rb +0 -23
- data/rails/vendor/rails/railties/lib/dispatcher.rb +0 -173
- data/rails/vendor/rails/railties/lib/fcgi_handler.rb +0 -225
- data/rails/vendor/rails/railties/lib/initializer.rb +0 -702
- data/rails/vendor/rails/railties/lib/rails/version.rb +0 -9
- data/rails/vendor/rails/railties/lib/rails_generator.rb +0 -43
- data/rails/vendor/rails/railties/lib/rails_generator/base.rb +0 -261
- data/rails/vendor/rails/railties/lib/rails_generator/commands.rb +0 -581
- data/rails/vendor/rails/railties/lib/rails_generator/generated_attribute.rb +0 -42
- data/rails/vendor/rails/railties/lib/rails_generator/generators/applications/app/USAGE +0 -16
- data/rails/vendor/rails/railties/lib/rails_generator/generators/applications/app/app_generator.rb +0 -160
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/controller/USAGE +0 -30
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/controller/controller_generator.rb +0 -37
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/controller.rb +0 -10
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/functional_test.rb +0 -18
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/helper.rb +0 -2
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/view.rhtml +0 -2
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/USAGE +0 -14
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +0 -16
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +0 -10
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/mailer/USAGE +0 -18
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/mailer/mailer_generator.rb +0 -34
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -3
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/mailer.rb +0 -13
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +0 -37
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -3
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/migration/USAGE +0 -14
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/migration/migration_generator.rb +0 -7
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/migration/templates/migration.rb +0 -7
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/model/USAGE +0 -26
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/model/model_generator.rb +0 -38
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -11
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/migration.rb +0 -13
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/model.rb +0 -2
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -10
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/observer/USAGE +0 -15
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/observer/observer_generator.rb +0 -16
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/observer.rb +0 -2
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/observer/templates/unit_test.rb +0 -10
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/USAGE +0 -35
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/plugin_generator.rb +0 -38
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/README +0 -4
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/Rakefile +0 -22
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/USAGE +0 -8
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/generator.rb +0 -8
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/init.rb +0 -1
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/install.rb +0 -1
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/plugin.rb +0 -1
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/tasks.rake +0 -4
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +0 -1
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +0 -8
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/resource/resource_generator.rb +0 -76
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/USAGE +0 -18
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/controller.rb +0 -2
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/fixtures.yml +0 -11
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/functional_test.rb +0 -20
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/helper.rb +0 -2
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/migration.rb +0 -13
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/model.rb +0 -2
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/unit_test.rb +0 -10
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/USAGE +0 -32
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +0 -193
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/controller.rb +0 -58
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/form.rhtml +0 -3
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/form_scaffolding.rhtml +0 -1
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +0 -102
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/helper.rb +0 -2
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/layout.rhtml +0 -17
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/style.css +0 -74
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.rhtml +0 -9
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_list.rhtml +0 -27
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.rhtml +0 -8
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.rhtml +0 -8
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/USAGE +0 -29
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/scaffold_resource_generator.rb +0 -92
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/controller.rb +0 -79
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/fixtures.yml +0 -11
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/functional_test.rb +0 -57
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/helper.rb +0 -2
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/layout.rhtml +0 -17
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/migration.rb +0 -13
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/model.rb +0 -2
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/style.css +0 -74
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/unit_test.rb +0 -10
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/view_edit.rhtml +0 -19
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/view_index.rhtml +0 -24
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/view_new.rhtml +0 -18
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/view_show.rhtml +0 -10
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/USAGE +0 -15
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +0 -18
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb +0 -16
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/web_service/USAGE +0 -28
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/web_service/templates/api_definition.rb +0 -5
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/web_service/templates/controller.rb +0 -8
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/web_service/templates/functional_test.rb +0 -19
- data/rails/vendor/rails/railties/lib/rails_generator/generators/components/web_service/web_service_generator.rb +0 -29
- data/rails/vendor/rails/railties/lib/rails_generator/lookup.rb +0 -209
- data/rails/vendor/rails/railties/lib/rails_generator/manifest.rb +0 -53
- data/rails/vendor/rails/railties/lib/rails_generator/options.rb +0 -143
- data/rails/vendor/rails/railties/lib/rails_generator/scripts.rb +0 -83
- data/rails/vendor/rails/railties/lib/rails_generator/scripts/destroy.rb +0 -7
- data/rails/vendor/rails/railties/lib/rails_generator/scripts/generate.rb +0 -7
- data/rails/vendor/rails/railties/lib/rails_generator/scripts/update.rb +0 -12
- data/rails/vendor/rails/railties/lib/rails_generator/simple_logger.rb +0 -46
- data/rails/vendor/rails/railties/lib/rails_generator/spec.rb +0 -44
- data/rails/vendor/rails/railties/lib/railties_path.rb +0 -1
- data/rails/vendor/rails/railties/lib/ruby_version_check.rb +0 -17
- data/rails/vendor/rails/railties/lib/rubyprof_ext.rb +0 -35
- data/rails/vendor/rails/railties/lib/tasks/databases.rake +0 -187
- data/rails/vendor/rails/railties/lib/tasks/documentation.rake +0 -82
- data/rails/vendor/rails/railties/lib/tasks/framework.rake +0 -112
- data/rails/vendor/rails/railties/lib/tasks/log.rake +0 -9
- data/rails/vendor/rails/railties/lib/tasks/misc.rake +0 -4
- data/rails/vendor/rails/railties/lib/tasks/pre_namespace_aliases.rake +0 -53
- data/rails/vendor/rails/railties/lib/tasks/rails.rb +0 -8
- data/rails/vendor/rails/railties/lib/tasks/statistics.rake +0 -18
- data/rails/vendor/rails/railties/lib/tasks/testing.rake +0 -120
- data/rails/vendor/rails/railties/lib/tasks/tmp.rake +0 -37
- data/rails/vendor/rails/railties/lib/test_help.rb +0 -19
- data/rails/vendor/rails/railties/lib/webrick_server.rb +0 -166
@@ -1,35 +0,0 @@
|
|
1
|
-
module ActionController
|
2
|
-
class AbstractResponse #:nodoc:
|
3
|
-
DEFAULT_HEADERS = { "Cache-Control" => "no-cache" }
|
4
|
-
attr_accessor :body, :headers, :session, :cookies, :assigns, :template, :redirected_to, :redirected_to_method_params, :layout
|
5
|
-
|
6
|
-
def initialize
|
7
|
-
@body, @headers, @session, @assigns = "", DEFAULT_HEADERS.merge("cookie" => []), [], []
|
8
|
-
end
|
9
|
-
|
10
|
-
def content_type=(mime_type)
|
11
|
-
@headers["Content-Type"] = charset ? "#{mime_type}; charset=#{charset}" : mime_type
|
12
|
-
end
|
13
|
-
|
14
|
-
def content_type
|
15
|
-
content_type = String(@headers["Content-Type"]).split(";")[0]
|
16
|
-
content_type.blank? ? nil : content_type
|
17
|
-
end
|
18
|
-
|
19
|
-
def charset=(encoding)
|
20
|
-
@headers["Content-Type"] = "#{content_type || "text/html"}; charset=#{encoding}"
|
21
|
-
end
|
22
|
-
|
23
|
-
def charset
|
24
|
-
charset = String(@headers["Content-Type"]).split(";")[1]
|
25
|
-
charset.blank? ? nil : charset.strip.split("=")[1]
|
26
|
-
end
|
27
|
-
|
28
|
-
def redirect(to_url, permanently = false)
|
29
|
-
@headers["Status"] = "302 Found" unless @headers["Status"] == "301 Moved Permanently"
|
30
|
-
@headers["Location"] = to_url
|
31
|
-
|
32
|
-
@body = "<html><body>You are being <a href=\"#{to_url}\">redirected</a>.</body></html>"
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
@@ -1,1340 +0,0 @@
|
|
1
|
-
require 'cgi'
|
2
|
-
|
3
|
-
class Object
|
4
|
-
def to_param
|
5
|
-
to_s
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
class TrueClass
|
10
|
-
def to_param
|
11
|
-
self
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
class FalseClass
|
16
|
-
def to_param
|
17
|
-
self
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
class NilClass
|
22
|
-
def to_param
|
23
|
-
self
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
class Regexp #:nodoc:
|
28
|
-
def number_of_captures
|
29
|
-
Regexp.new("|#{source}").match('').captures.length
|
30
|
-
end
|
31
|
-
|
32
|
-
class << self
|
33
|
-
def optionalize(pattern)
|
34
|
-
case unoptionalize(pattern)
|
35
|
-
when /\A(.|\(.*\))\Z/ then "#{pattern}?"
|
36
|
-
else "(?:#{pattern})?"
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def unoptionalize(pattern)
|
41
|
-
[/\A\(\?:(.*)\)\?\Z/, /\A(.|\(.*\))\?\Z/].each do |regexp|
|
42
|
-
return $1 if regexp =~ pattern
|
43
|
-
end
|
44
|
-
return pattern
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
module ActionController
|
50
|
-
# == Routing
|
51
|
-
#
|
52
|
-
# The routing module provides URL rewriting in native Ruby. It's a way to
|
53
|
-
# redirect incoming requests to controllers and actions. This replaces
|
54
|
-
# mod_rewrite rules. Best of all Rails' Routing works with any web server.
|
55
|
-
# Routes are defined in routes.rb in your RAILS_ROOT/config directory.
|
56
|
-
#
|
57
|
-
# Consider the following route, installed by Rails when you generate your
|
58
|
-
# application:
|
59
|
-
#
|
60
|
-
# map.connect ':controller/:action/:id'
|
61
|
-
#
|
62
|
-
# This route states that it expects requests to consist of a
|
63
|
-
# :controller followed by an :action that in turns is fed by some :id
|
64
|
-
#
|
65
|
-
# Suppose you get an incoming request for <tt>/blog/edit/22</tt>, you'll end up
|
66
|
-
# with:
|
67
|
-
#
|
68
|
-
# params = { :controller => 'blog',
|
69
|
-
# :action => 'edit'
|
70
|
-
# :id => '22'
|
71
|
-
# }
|
72
|
-
#
|
73
|
-
# Think of creating routes as drawing a map for your requests. The map tells
|
74
|
-
# them where to go based on some predefined pattern:
|
75
|
-
#
|
76
|
-
# ActionController::Routing::Routes.draw do |map|
|
77
|
-
# Pattern 1 tells some request to go to one place
|
78
|
-
# Pattern 2 tell them to go to another
|
79
|
-
# ...
|
80
|
-
# end
|
81
|
-
#
|
82
|
-
# The following symbols are special:
|
83
|
-
#
|
84
|
-
# :controller maps to your controller name
|
85
|
-
# :action maps to an action with your controllers
|
86
|
-
#
|
87
|
-
# Other names simply map to a parameter as in the case of +:id+.
|
88
|
-
#
|
89
|
-
# == Route priority
|
90
|
-
#
|
91
|
-
# Not all routes are created equally. Routes have priority defined by the
|
92
|
-
# order of appearance of the routes in the routes.rb file. The priority goes
|
93
|
-
# from top to bottom. The last route in that file is at the lowest priority
|
94
|
-
# will be applied last. If no route matches, 404 is returned.
|
95
|
-
#
|
96
|
-
# Within blocks, the empty pattern goes first i.e. is at the highest priority.
|
97
|
-
# In practice this works out nicely:
|
98
|
-
#
|
99
|
-
# ActionController::Routing::Routes.draw do |map|
|
100
|
-
# map.with_options :controller => 'blog' do |blog|
|
101
|
-
# blog.show '', :action => 'list'
|
102
|
-
# end
|
103
|
-
# map.connect ':controller/:action/:view
|
104
|
-
# end
|
105
|
-
#
|
106
|
-
# In this case, invoking blog controller (with an URL like '/blog/')
|
107
|
-
# without parameters will activate the 'list' action by default.
|
108
|
-
#
|
109
|
-
# == Defaults routes and default parameters
|
110
|
-
#
|
111
|
-
# Setting a default route is straightforward in Rails because by appending a
|
112
|
-
# Hash to the end of your mapping you can set default parameters.
|
113
|
-
#
|
114
|
-
# Example:
|
115
|
-
# ActionController::Routing:Routes.draw do |map|
|
116
|
-
# map.connect ':controller/:action/:id', :controller => 'blog'
|
117
|
-
# end
|
118
|
-
#
|
119
|
-
# This sets up +blog+ as the default controller if no other is specified.
|
120
|
-
# This means visiting '/' would invoke the blog controller.
|
121
|
-
#
|
122
|
-
# More formally, you can define defaults in a route with the +:defaults+ key.
|
123
|
-
#
|
124
|
-
# map.connect ':controller/:id/:action', :action => 'show', :defaults => { :page => 'Dashboard' }
|
125
|
-
#
|
126
|
-
# == Named routes
|
127
|
-
#
|
128
|
-
# Routes can be named with the syntax <tt>map.name_of_route options</tt>,
|
129
|
-
# allowing for easy reference within your source as +name_of_route_url+
|
130
|
-
# for the full URL and +name_of_route_path+ for the URI path.
|
131
|
-
#
|
132
|
-
# Example:
|
133
|
-
# # In routes.rb
|
134
|
-
# map.login 'login', :controller => 'accounts', :action => 'login'
|
135
|
-
#
|
136
|
-
# # With render, redirect_to, tests, etc.
|
137
|
-
# redirect_to login_url
|
138
|
-
#
|
139
|
-
# Arguments can be passed as well.
|
140
|
-
#
|
141
|
-
# redirect_to show_item_path(:id => 25)
|
142
|
-
#
|
143
|
-
# Use <tt>map.root</tt> as a shorthand to name a route for the root path ""
|
144
|
-
#
|
145
|
-
# # In routes.rb
|
146
|
-
# map.root :controller => 'blogs'
|
147
|
-
#
|
148
|
-
# # would recognize http://www.example.com/ as
|
149
|
-
# params = { :controller => 'blogs', :action => 'index' }
|
150
|
-
#
|
151
|
-
# # and provide these named routes
|
152
|
-
# root_url # => 'http://www.example.com/'
|
153
|
-
# root_path # => ''
|
154
|
-
#
|
155
|
-
# Note: when using +with_options+, the route is simply named after the
|
156
|
-
# method you call on the block parameter rather than map.
|
157
|
-
#
|
158
|
-
# # In routes.rb
|
159
|
-
# map.with_options :controller => 'blog' do |blog|
|
160
|
-
# blog.show '', :action => 'list'
|
161
|
-
# blog.delete 'delete/:id', :action => 'delete',
|
162
|
-
# blog.edit 'edit/:id', :action => 'edit'
|
163
|
-
# end
|
164
|
-
#
|
165
|
-
# # provides named routes for show, delete, and edit
|
166
|
-
# link_to @article.title, show_path(:id => @article.id)
|
167
|
-
#
|
168
|
-
# == Pretty URLs
|
169
|
-
#
|
170
|
-
# Routes can generate pretty URLs. For example:
|
171
|
-
#
|
172
|
-
# map.connect 'articles/:year/:month/:day',
|
173
|
-
# :controller => 'articles',
|
174
|
-
# :action => 'find_by_date',
|
175
|
-
# :year => /\d{4}/,
|
176
|
-
# :month => /\d{1,2}/,
|
177
|
-
# :day => /\d{1,2}/
|
178
|
-
#
|
179
|
-
# # Using the route above, the url below maps to:
|
180
|
-
# # params = {:year => '2005', :month => '11', :day => '06'}
|
181
|
-
# # http://localhost:3000/articles/2005/11/06
|
182
|
-
#
|
183
|
-
# == Regular Expressions and parameters
|
184
|
-
# You can specify a reqular expression to define a format for a parameter.
|
185
|
-
#
|
186
|
-
# map.geocode 'geocode/:postalcode', :controller => 'geocode',
|
187
|
-
# :action => 'show', :postalcode => /\d{5}(-\d{4})?/
|
188
|
-
#
|
189
|
-
# or more formally:
|
190
|
-
#
|
191
|
-
# map.geocode 'geocode/:postalcode', :controller => 'geocode',
|
192
|
-
# :action => 'show',
|
193
|
-
# :requirements { :postalcode => /\d{5}(-\d{4})?/ }
|
194
|
-
#
|
195
|
-
# == Route globbing
|
196
|
-
#
|
197
|
-
# Specifying <tt>*[string]</tt> as part of a rule like :
|
198
|
-
#
|
199
|
-
# map.connect '*path' , :controller => 'blog' , :action => 'unrecognized?'
|
200
|
-
#
|
201
|
-
# will glob all remaining parts of the route that were not recognized earlier. This idiom must appear at the end of the path. The globbed values are in <tt>params[:path]</tt> in this case.
|
202
|
-
#
|
203
|
-
# == Reloading routes
|
204
|
-
#
|
205
|
-
# You can reload routes if you feel you must:
|
206
|
-
#
|
207
|
-
# Action::Controller::Routes.reload
|
208
|
-
#
|
209
|
-
# This will clear all named routes and reload routes.rb
|
210
|
-
#
|
211
|
-
# == Testing Routes
|
212
|
-
#
|
213
|
-
# The two main methods for testing your routes:
|
214
|
-
#
|
215
|
-
# === +assert_routing+
|
216
|
-
#
|
217
|
-
# def test_movie_route_properly_splits
|
218
|
-
# opts = {:controller => "plugin", :action => "checkout", :id => "2"}
|
219
|
-
# assert_routing "plugin/checkout/2", opts
|
220
|
-
# end
|
221
|
-
#
|
222
|
-
# +assert_routing+ lets you test whether or not the route properly resolves into options.
|
223
|
-
#
|
224
|
-
# === +assert_recognizes+
|
225
|
-
#
|
226
|
-
# def test_route_has_options
|
227
|
-
# opts = {:controller => "plugin", :action => "show", :id => "12"}
|
228
|
-
# assert_recognizes opts, "/plugins/show/12"
|
229
|
-
# end
|
230
|
-
#
|
231
|
-
# Note the subtle difference between the two: +assert_routing+ tests that
|
232
|
-
# an URL fits options while +assert_recognizes+ tests that an URL
|
233
|
-
# breaks into parameters properly.
|
234
|
-
#
|
235
|
-
# In tests you can simply pass the URL or named route to +get+ or +post+.
|
236
|
-
#
|
237
|
-
# def send_to_jail
|
238
|
-
# get '/jail'
|
239
|
-
# assert_response :success
|
240
|
-
# assert_template "jail/front"
|
241
|
-
# end
|
242
|
-
#
|
243
|
-
# def goes_to_login
|
244
|
-
# get login_url
|
245
|
-
# #...
|
246
|
-
# end
|
247
|
-
#
|
248
|
-
module Routing
|
249
|
-
SEPARATORS = %w( / ; . , ? )
|
250
|
-
|
251
|
-
# The root paths which may contain controller files
|
252
|
-
mattr_accessor :controller_paths
|
253
|
-
self.controller_paths = []
|
254
|
-
|
255
|
-
class << self
|
256
|
-
def with_controllers(names)
|
257
|
-
prior_controllers = @possible_controllers
|
258
|
-
use_controllers! names
|
259
|
-
yield
|
260
|
-
ensure
|
261
|
-
use_controllers! prior_controllers
|
262
|
-
end
|
263
|
-
|
264
|
-
def normalize_paths(paths)
|
265
|
-
# do the hokey-pokey of path normalization...
|
266
|
-
paths = paths.collect do |path|
|
267
|
-
path = path.
|
268
|
-
gsub("//", "/"). # replace double / chars with a single
|
269
|
-
gsub("\\\\", "\\"). # replace double \ chars with a single
|
270
|
-
gsub(%r{(.)[\\/]$}, '\1') # drop final / or \ if path ends with it
|
271
|
-
|
272
|
-
# eliminate .. paths where possible
|
273
|
-
re = %r{\w+[/\\]\.\.[/\\]}
|
274
|
-
path.gsub!(%r{\w+[/\\]\.\.[/\\]}, "") while path.match(re)
|
275
|
-
path
|
276
|
-
end
|
277
|
-
|
278
|
-
# start with longest path, first
|
279
|
-
paths = paths.uniq.sort_by { |path| - path.length }
|
280
|
-
end
|
281
|
-
|
282
|
-
def possible_controllers
|
283
|
-
unless @possible_controllers
|
284
|
-
@possible_controllers = []
|
285
|
-
|
286
|
-
paths = controller_paths.select { |path| File.directory?(path) && path != "." }
|
287
|
-
|
288
|
-
seen_paths = Hash.new {|h, k| h[k] = true; false}
|
289
|
-
normalize_paths(paths).each do |load_path|
|
290
|
-
Dir["#{load_path}/**/*_controller.rb"].collect do |path|
|
291
|
-
next if seen_paths[path.gsub(%r{^\.[/\\]}, "")]
|
292
|
-
|
293
|
-
controller_name = path[(load_path.length + 1)..-1]
|
294
|
-
|
295
|
-
controller_name.gsub!(/_controller\.rb\Z/, '')
|
296
|
-
@possible_controllers << controller_name
|
297
|
-
end
|
298
|
-
end
|
299
|
-
|
300
|
-
# remove duplicates
|
301
|
-
@possible_controllers.uniq!
|
302
|
-
end
|
303
|
-
@possible_controllers
|
304
|
-
end
|
305
|
-
|
306
|
-
def use_controllers!(controller_names)
|
307
|
-
@possible_controllers = controller_names
|
308
|
-
end
|
309
|
-
|
310
|
-
def controller_relative_to(controller, previous)
|
311
|
-
if controller.nil? then previous
|
312
|
-
elsif controller[0] == ?/ then controller[1..-1]
|
313
|
-
elsif %r{^(.*)/} =~ previous then "#{$1}/#{controller}"
|
314
|
-
else controller
|
315
|
-
end
|
316
|
-
end
|
317
|
-
end
|
318
|
-
|
319
|
-
class Route #:nodoc:
|
320
|
-
attr_accessor :segments, :requirements, :conditions
|
321
|
-
|
322
|
-
def initialize
|
323
|
-
@segments = []
|
324
|
-
@requirements = {}
|
325
|
-
@conditions = {}
|
326
|
-
end
|
327
|
-
|
328
|
-
# Write and compile a +generate+ method for this Route.
|
329
|
-
def write_generation
|
330
|
-
# Build the main body of the generation
|
331
|
-
body = "expired = false\n#{generation_extraction}\n#{generation_structure}"
|
332
|
-
|
333
|
-
# If we have conditions that must be tested first, nest the body inside an if
|
334
|
-
body = "if #{generation_requirements}\n#{body}\nend" if generation_requirements
|
335
|
-
args = "options, hash, expire_on = {}"
|
336
|
-
|
337
|
-
# Nest the body inside of a def block, and then compile it.
|
338
|
-
raw_method = method_decl = "def generate_raw(#{args})\npath = begin\n#{body}\nend\n[path, hash]\nend"
|
339
|
-
instance_eval method_decl, "generated code (#{__FILE__}:#{__LINE__})"
|
340
|
-
|
341
|
-
# expire_on.keys == recall.keys; in other words, the keys in the expire_on hash
|
342
|
-
# are the same as the keys that were recalled from the previous request. Thus,
|
343
|
-
# we can use the expire_on.keys to determine which keys ought to be used to build
|
344
|
-
# the query string. (Never use keys from the recalled request when building the
|
345
|
-
# query string.)
|
346
|
-
|
347
|
-
method_decl = "def generate(#{args})\npath, hash = generate_raw(options, hash, expire_on)\nappend_query_string(path, hash, extra_keys(options))\nend"
|
348
|
-
instance_eval method_decl, "generated code (#{__FILE__}:#{__LINE__})"
|
349
|
-
|
350
|
-
method_decl = "def generate_extras(#{args})\npath, hash = generate_raw(options, hash, expire_on)\n[path, extra_keys(options)]\nend"
|
351
|
-
instance_eval method_decl, "generated code (#{__FILE__}:#{__LINE__})"
|
352
|
-
raw_method
|
353
|
-
end
|
354
|
-
|
355
|
-
# Build several lines of code that extract values from the options hash. If any
|
356
|
-
# of the values are missing or rejected then a return will be executed.
|
357
|
-
def generation_extraction
|
358
|
-
segments.collect do |segment|
|
359
|
-
segment.extraction_code
|
360
|
-
end.compact * "\n"
|
361
|
-
end
|
362
|
-
|
363
|
-
# Produce a condition expression that will check the requirements of this route
|
364
|
-
# upon generation.
|
365
|
-
def generation_requirements
|
366
|
-
requirement_conditions = requirements.collect do |key, req|
|
367
|
-
if req.is_a? Regexp
|
368
|
-
value_regexp = Regexp.new "\\A#{req.source}\\Z"
|
369
|
-
"hash[:#{key}] && #{value_regexp.inspect} =~ options[:#{key}]"
|
370
|
-
else
|
371
|
-
"hash[:#{key}] == #{req.inspect}"
|
372
|
-
end
|
373
|
-
end
|
374
|
-
requirement_conditions * ' && ' unless requirement_conditions.empty?
|
375
|
-
end
|
376
|
-
def generation_structure
|
377
|
-
segments.last.string_structure segments[0..-2]
|
378
|
-
end
|
379
|
-
|
380
|
-
# Write and compile a +recognize+ method for this Route.
|
381
|
-
def write_recognition
|
382
|
-
# Create an if structure to extract the params from a match if it occurs.
|
383
|
-
body = "params = parameter_shell.dup\n#{recognition_extraction * "\n"}\nparams"
|
384
|
-
body = "if #{recognition_conditions.join(" && ")}\n#{body}\nend"
|
385
|
-
|
386
|
-
# Build the method declaration and compile it
|
387
|
-
method_decl = "def recognize(path, env={})\n#{body}\nend"
|
388
|
-
instance_eval method_decl, "generated code (#{__FILE__}:#{__LINE__})"
|
389
|
-
method_decl
|
390
|
-
end
|
391
|
-
|
392
|
-
# Plugins may override this method to add other conditions, like checks on
|
393
|
-
# host, subdomain, and so forth. Note that changes here only affect route
|
394
|
-
# recognition, not generation.
|
395
|
-
def recognition_conditions
|
396
|
-
result = ["(match = #{Regexp.new(recognition_pattern).inspect}.match(path))"]
|
397
|
-
result << "conditions[:method] === env[:method]" if conditions[:method]
|
398
|
-
result
|
399
|
-
end
|
400
|
-
|
401
|
-
# Build the regular expression pattern that will match this route.
|
402
|
-
def recognition_pattern(wrap = true)
|
403
|
-
pattern = ''
|
404
|
-
segments.reverse_each do |segment|
|
405
|
-
pattern = segment.build_pattern pattern
|
406
|
-
end
|
407
|
-
wrap ? ("\\A" + pattern + "\\Z") : pattern
|
408
|
-
end
|
409
|
-
|
410
|
-
# Write the code to extract the parameters from a matched route.
|
411
|
-
def recognition_extraction
|
412
|
-
next_capture = 1
|
413
|
-
extraction = segments.collect do |segment|
|
414
|
-
x = segment.match_extraction next_capture
|
415
|
-
next_capture += Regexp.new(segment.regexp_chunk).number_of_captures
|
416
|
-
x
|
417
|
-
end
|
418
|
-
extraction.compact
|
419
|
-
end
|
420
|
-
|
421
|
-
# Write the real generation implementation and then resend the message.
|
422
|
-
def generate(options, hash, expire_on = {})
|
423
|
-
write_generation
|
424
|
-
generate options, hash, expire_on
|
425
|
-
end
|
426
|
-
|
427
|
-
def generate_extras(options, hash, expire_on = {})
|
428
|
-
write_generation
|
429
|
-
generate_extras options, hash, expire_on
|
430
|
-
end
|
431
|
-
|
432
|
-
# Generate the query string with any extra keys in the hash and append
|
433
|
-
# it to the given path, returning the new path.
|
434
|
-
def append_query_string(path, hash, query_keys=nil)
|
435
|
-
return nil unless path
|
436
|
-
query_keys ||= extra_keys(hash)
|
437
|
-
"#{path}#{build_query_string(hash, query_keys)}"
|
438
|
-
end
|
439
|
-
|
440
|
-
# Determine which keys in the given hash are "extra". Extra keys are
|
441
|
-
# those that were not used to generate a particular route. The extra
|
442
|
-
# keys also do not include those recalled from the prior request, nor
|
443
|
-
# do they include any keys that were implied in the route (like a
|
444
|
-
# :controller that is required, but not explicitly used in the text of
|
445
|
-
# the route.)
|
446
|
-
def extra_keys(hash, recall={})
|
447
|
-
(hash || {}).keys.map { |k| k.to_sym } - (recall || {}).keys - significant_keys
|
448
|
-
end
|
449
|
-
|
450
|
-
# Build a query string from the keys of the given hash. If +only_keys+
|
451
|
-
# is given (as an array), only the keys indicated will be used to build
|
452
|
-
# the query string. The query string will correctly build array parameter
|
453
|
-
# values.
|
454
|
-
def build_query_string(hash, only_keys=nil)
|
455
|
-
elements = []
|
456
|
-
|
457
|
-
only_keys ||= hash.keys
|
458
|
-
|
459
|
-
only_keys.each do |key|
|
460
|
-
value = hash[key] or next
|
461
|
-
key = CGI.escape key.to_s
|
462
|
-
if value.class == Array
|
463
|
-
key << '[]'
|
464
|
-
else
|
465
|
-
value = [ value ]
|
466
|
-
end
|
467
|
-
value.each { |val| elements << "#{key}=#{CGI.escape(val.to_param.to_s)}" }
|
468
|
-
end
|
469
|
-
|
470
|
-
query_string = "?#{elements.join("&")}" unless elements.empty?
|
471
|
-
query_string || ""
|
472
|
-
end
|
473
|
-
|
474
|
-
# Write the real recognition implementation and then resend the message.
|
475
|
-
def recognize(path, environment={})
|
476
|
-
write_recognition
|
477
|
-
recognize path, environment
|
478
|
-
end
|
479
|
-
|
480
|
-
# A route's parameter shell contains parameter values that are not in the
|
481
|
-
# route's path, but should be placed in the recognized hash.
|
482
|
-
#
|
483
|
-
# For example, +{:controller => 'pages', :action => 'show'} is the shell for the route:
|
484
|
-
#
|
485
|
-
# map.connect '/page/:id', :controller => 'pages', :action => 'show', :id => /\d+/
|
486
|
-
#
|
487
|
-
def parameter_shell
|
488
|
-
@parameter_shell ||= returning({}) do |shell|
|
489
|
-
requirements.each do |key, requirement|
|
490
|
-
shell[key] = requirement unless requirement.is_a? Regexp
|
491
|
-
end
|
492
|
-
end
|
493
|
-
end
|
494
|
-
|
495
|
-
# Return an array containing all the keys that are used in this route. This
|
496
|
-
# includes keys that appear inside the path, and keys that have requirements
|
497
|
-
# placed upon them.
|
498
|
-
def significant_keys
|
499
|
-
@significant_keys ||= returning [] do |sk|
|
500
|
-
segments.each { |segment| sk << segment.key if segment.respond_to? :key }
|
501
|
-
sk.concat requirements.keys
|
502
|
-
sk.uniq!
|
503
|
-
end
|
504
|
-
end
|
505
|
-
|
506
|
-
# Return a hash of key/value pairs representing the keys in the route that
|
507
|
-
# have defaults, or which are specified by non-regexp requirements.
|
508
|
-
def defaults
|
509
|
-
@defaults ||= returning({}) do |hash|
|
510
|
-
segments.each do |segment|
|
511
|
-
next unless segment.respond_to? :default
|
512
|
-
hash[segment.key] = segment.default unless segment.default.nil?
|
513
|
-
end
|
514
|
-
requirements.each do |key,req|
|
515
|
-
next if Regexp === req || req.nil?
|
516
|
-
hash[key] = req
|
517
|
-
end
|
518
|
-
end
|
519
|
-
end
|
520
|
-
|
521
|
-
def matches_controller_and_action?(controller, action)
|
522
|
-
unless @matching_prepared
|
523
|
-
@controller_requirement = requirement_for(:controller)
|
524
|
-
@action_requirement = requirement_for(:action)
|
525
|
-
@matching_prepared = true
|
526
|
-
end
|
527
|
-
|
528
|
-
(@controller_requirement.nil? || @controller_requirement === controller) &&
|
529
|
-
(@action_requirement.nil? || @action_requirement === action)
|
530
|
-
end
|
531
|
-
|
532
|
-
def to_s
|
533
|
-
@to_s ||= begin
|
534
|
-
segs = segments.inject("") { |str,s| str << s.to_s }
|
535
|
-
"%-6s %-40s %s" % [(conditions[:method] || :any).to_s.upcase, segs, requirements.inspect]
|
536
|
-
end
|
537
|
-
end
|
538
|
-
|
539
|
-
protected
|
540
|
-
def requirement_for(key)
|
541
|
-
return requirements[key] if requirements.key? key
|
542
|
-
segments.each do |segment|
|
543
|
-
return segment.regexp if segment.respond_to?(:key) && segment.key == key
|
544
|
-
end
|
545
|
-
nil
|
546
|
-
end
|
547
|
-
|
548
|
-
end
|
549
|
-
|
550
|
-
class Segment #:nodoc:
|
551
|
-
attr_accessor :is_optional
|
552
|
-
alias_method :optional?, :is_optional
|
553
|
-
|
554
|
-
def initialize
|
555
|
-
self.is_optional = false
|
556
|
-
end
|
557
|
-
|
558
|
-
def extraction_code
|
559
|
-
nil
|
560
|
-
end
|
561
|
-
|
562
|
-
# Continue generating string for the prior segments.
|
563
|
-
def continue_string_structure(prior_segments)
|
564
|
-
if prior_segments.empty?
|
565
|
-
interpolation_statement(prior_segments)
|
566
|
-
else
|
567
|
-
new_priors = prior_segments[0..-2]
|
568
|
-
prior_segments.last.string_structure(new_priors)
|
569
|
-
end
|
570
|
-
end
|
571
|
-
|
572
|
-
# Return a string interpolation statement for this segment and those before it.
|
573
|
-
def interpolation_statement(prior_segments)
|
574
|
-
chunks = prior_segments.collect { |s| s.interpolation_chunk }
|
575
|
-
chunks << interpolation_chunk
|
576
|
-
"\"#{chunks * ''}\"#{all_optionals_available_condition(prior_segments)}"
|
577
|
-
end
|
578
|
-
|
579
|
-
def string_structure(prior_segments)
|
580
|
-
optional? ? continue_string_structure(prior_segments) : interpolation_statement(prior_segments)
|
581
|
-
end
|
582
|
-
|
583
|
-
# Return an if condition that is true if all the prior segments can be generated.
|
584
|
-
# If there are no optional segments before this one, then nil is returned.
|
585
|
-
def all_optionals_available_condition(prior_segments)
|
586
|
-
optional_locals = prior_segments.collect { |s| s.local_name if s.optional? && s.respond_to?(:local_name) }.compact
|
587
|
-
optional_locals.empty? ? nil : " if #{optional_locals * ' && '}"
|
588
|
-
end
|
589
|
-
|
590
|
-
# Recognition
|
591
|
-
|
592
|
-
def match_extraction(next_capture)
|
593
|
-
nil
|
594
|
-
end
|
595
|
-
|
596
|
-
# Warning
|
597
|
-
|
598
|
-
# Returns true if this segment is optional? because of a default. If so, then
|
599
|
-
# no warning will be emitted regarding this segment.
|
600
|
-
def optionality_implied?
|
601
|
-
false
|
602
|
-
end
|
603
|
-
end
|
604
|
-
|
605
|
-
class StaticSegment < Segment #:nodoc:
|
606
|
-
attr_accessor :value, :raw
|
607
|
-
alias_method :raw?, :raw
|
608
|
-
|
609
|
-
def initialize(value = nil)
|
610
|
-
super()
|
611
|
-
self.value = value
|
612
|
-
end
|
613
|
-
|
614
|
-
def interpolation_chunk
|
615
|
-
raw? ? value : CGI.escape(value)
|
616
|
-
end
|
617
|
-
|
618
|
-
def regexp_chunk
|
619
|
-
chunk = Regexp.escape value
|
620
|
-
optional? ? Regexp.optionalize(chunk) : chunk
|
621
|
-
end
|
622
|
-
|
623
|
-
def build_pattern(pattern)
|
624
|
-
escaped = Regexp.escape(value)
|
625
|
-
if optional? && ! pattern.empty?
|
626
|
-
"(?:#{Regexp.optionalize escaped}\\Z|#{escaped}#{Regexp.unoptionalize pattern})"
|
627
|
-
elsif optional?
|
628
|
-
Regexp.optionalize escaped
|
629
|
-
else
|
630
|
-
escaped + pattern
|
631
|
-
end
|
632
|
-
end
|
633
|
-
|
634
|
-
def to_s
|
635
|
-
value
|
636
|
-
end
|
637
|
-
end
|
638
|
-
|
639
|
-
class DividerSegment < StaticSegment #:nodoc:
|
640
|
-
def initialize(value = nil)
|
641
|
-
super(value)
|
642
|
-
self.raw = true
|
643
|
-
self.is_optional = true
|
644
|
-
end
|
645
|
-
|
646
|
-
def optionality_implied?
|
647
|
-
true
|
648
|
-
end
|
649
|
-
end
|
650
|
-
|
651
|
-
class DynamicSegment < Segment #:nodoc:
|
652
|
-
attr_accessor :key, :default, :regexp
|
653
|
-
|
654
|
-
def initialize(key = nil, options = {})
|
655
|
-
super()
|
656
|
-
self.key = key
|
657
|
-
self.default = options[:default] if options.key? :default
|
658
|
-
self.is_optional = true if options[:optional] || options.key?(:default)
|
659
|
-
end
|
660
|
-
|
661
|
-
def to_s
|
662
|
-
":#{key}"
|
663
|
-
end
|
664
|
-
|
665
|
-
# The local variable name that the value of this segment will be extracted to.
|
666
|
-
def local_name
|
667
|
-
"#{key}_value"
|
668
|
-
end
|
669
|
-
|
670
|
-
def extract_value
|
671
|
-
"#{local_name} = hash[:#{key}] #{"|| #{default.inspect}" if default}"
|
672
|
-
end
|
673
|
-
def value_check
|
674
|
-
if default # Then we know it won't be nil
|
675
|
-
"#{value_regexp.inspect} =~ #{local_name}" if regexp
|
676
|
-
elsif optional?
|
677
|
-
# If we have a regexp check that the value is not given, or that it matches.
|
678
|
-
# If we have no regexp, return nil since we do not require a condition.
|
679
|
-
"#{local_name}.nil? || #{value_regexp.inspect} =~ #{local_name}" if regexp
|
680
|
-
else # Then it must be present, and if we have a regexp, it must match too.
|
681
|
-
"#{local_name} #{"&& #{value_regexp.inspect} =~ #{local_name}" if regexp}"
|
682
|
-
end
|
683
|
-
end
|
684
|
-
def expiry_statement
|
685
|
-
"expired, hash = true, options if !expired && expire_on[:#{key}]"
|
686
|
-
end
|
687
|
-
|
688
|
-
def extraction_code
|
689
|
-
s = extract_value
|
690
|
-
vc = value_check
|
691
|
-
s << "\nreturn [nil,nil] unless #{vc}" if vc
|
692
|
-
s << "\n#{expiry_statement}"
|
693
|
-
end
|
694
|
-
|
695
|
-
def interpolation_chunk
|
696
|
-
"\#{CGI.escape(#{local_name}.to_s)}"
|
697
|
-
end
|
698
|
-
|
699
|
-
def string_structure(prior_segments)
|
700
|
-
if optional? # We have a conditional to do...
|
701
|
-
# If we should not appear in the url, just write the code for the prior
|
702
|
-
# segments. This occurs if our value is the default value, or, if we are
|
703
|
-
# optional, if we have nil as our value.
|
704
|
-
"if #{local_name} == #{default.inspect}\n" +
|
705
|
-
continue_string_structure(prior_segments) +
|
706
|
-
"\nelse\n" + # Otherwise, write the code up to here
|
707
|
-
"#{interpolation_statement(prior_segments)}\nend"
|
708
|
-
else
|
709
|
-
interpolation_statement(prior_segments)
|
710
|
-
end
|
711
|
-
end
|
712
|
-
|
713
|
-
def value_regexp
|
714
|
-
Regexp.new "\\A#{regexp.source}\\Z" if regexp
|
715
|
-
end
|
716
|
-
def regexp_chunk
|
717
|
-
regexp ? "(#{regexp.source})" : "([^#{Routing::SEPARATORS.join}]+)"
|
718
|
-
end
|
719
|
-
|
720
|
-
def build_pattern(pattern)
|
721
|
-
chunk = regexp_chunk
|
722
|
-
chunk = "(#{chunk})" if Regexp.new(chunk).number_of_captures == 0
|
723
|
-
pattern = "#{chunk}#{pattern}"
|
724
|
-
optional? ? Regexp.optionalize(pattern) : pattern
|
725
|
-
end
|
726
|
-
def match_extraction(next_capture)
|
727
|
-
hangon = (default ? "|| #{default.inspect}" : "if match[#{next_capture}]")
|
728
|
-
|
729
|
-
# All non code-related keys (such as :id, :slug) have to be unescaped as other CGI params
|
730
|
-
"params[:#{key}] = match[#{next_capture}] #{hangon}"
|
731
|
-
end
|
732
|
-
|
733
|
-
def optionality_implied?
|
734
|
-
[:action, :id].include? key
|
735
|
-
end
|
736
|
-
|
737
|
-
end
|
738
|
-
|
739
|
-
class ControllerSegment < DynamicSegment #:nodoc:
|
740
|
-
def regexp_chunk
|
741
|
-
possible_names = Routing.possible_controllers.collect { |name| Regexp.escape name }
|
742
|
-
"(?i-:(#{(regexp || Regexp.union(*possible_names)).source}))"
|
743
|
-
end
|
744
|
-
|
745
|
-
# Don't CGI.escape the controller name, since it may have slashes in it,
|
746
|
-
# like admin/foo.
|
747
|
-
def interpolation_chunk
|
748
|
-
"\#{#{local_name}.to_s}"
|
749
|
-
end
|
750
|
-
|
751
|
-
# Make sure controller names like Admin/Content are correctly normalized to
|
752
|
-
# admin/content
|
753
|
-
def extract_value
|
754
|
-
"#{local_name} = (hash[:#{key}] #{"|| #{default.inspect}" if default}).downcase"
|
755
|
-
end
|
756
|
-
|
757
|
-
def match_extraction(next_capture)
|
758
|
-
if default
|
759
|
-
"params[:#{key}] = match[#{next_capture}] ? match[#{next_capture}].downcase : '#{default}'"
|
760
|
-
else
|
761
|
-
"params[:#{key}] = match[#{next_capture}].downcase if match[#{next_capture}]"
|
762
|
-
end
|
763
|
-
end
|
764
|
-
end
|
765
|
-
|
766
|
-
class PathSegment < DynamicSegment #:nodoc:
|
767
|
-
EscapedSlash = CGI.escape("/")
|
768
|
-
def interpolation_chunk
|
769
|
-
"\#{CGI.escape(#{local_name}.to_s).gsub(#{EscapedSlash.inspect}, '/')}"
|
770
|
-
end
|
771
|
-
|
772
|
-
def default
|
773
|
-
''
|
774
|
-
end
|
775
|
-
|
776
|
-
def default=(path)
|
777
|
-
raise RoutingError, "paths cannot have non-empty default values" unless path.blank?
|
778
|
-
end
|
779
|
-
|
780
|
-
def match_extraction(next_capture)
|
781
|
-
"params[:#{key}] = PathSegment::Result.new_escaped((match[#{next_capture}]#{" || " + default.inspect if default}).split('/'))#{" if match[" + next_capture + "]" if !default}"
|
782
|
-
end
|
783
|
-
|
784
|
-
def regexp_chunk
|
785
|
-
regexp || "(.*)"
|
786
|
-
end
|
787
|
-
|
788
|
-
class Result < ::Array #:nodoc:
|
789
|
-
def to_s() join '/' end
|
790
|
-
def self.new_escaped(strings)
|
791
|
-
new strings.collect {|str| CGI.unescape str}
|
792
|
-
end
|
793
|
-
end
|
794
|
-
end
|
795
|
-
|
796
|
-
class RouteBuilder #:nodoc:
|
797
|
-
attr_accessor :separators, :optional_separators
|
798
|
-
|
799
|
-
def initialize
|
800
|
-
self.separators = Routing::SEPARATORS
|
801
|
-
self.optional_separators = %w( / )
|
802
|
-
end
|
803
|
-
|
804
|
-
def separator_pattern(inverted = false)
|
805
|
-
"[#{'^' if inverted}#{Regexp.escape(separators.join)}]"
|
806
|
-
end
|
807
|
-
|
808
|
-
def interval_regexp
|
809
|
-
Regexp.new "(.*?)(#{separators.source}|$)"
|
810
|
-
end
|
811
|
-
|
812
|
-
# Accepts a "route path" (a string defining a route), and returns the array
|
813
|
-
# of segments that corresponds to it. Note that the segment array is only
|
814
|
-
# partially initialized--the defaults and requirements, for instance, need
|
815
|
-
# to be set separately, via the #assign_route_options method, and the
|
816
|
-
# #optional? method for each segment will not be reliable until after
|
817
|
-
# #assign_route_options is called, as well.
|
818
|
-
def segments_for_route_path(path)
|
819
|
-
rest, segments = path, []
|
820
|
-
|
821
|
-
until rest.empty?
|
822
|
-
segment, rest = segment_for rest
|
823
|
-
segments << segment
|
824
|
-
end
|
825
|
-
segments
|
826
|
-
end
|
827
|
-
|
828
|
-
# A factory method that returns a new segment instance appropriate for the
|
829
|
-
# format of the given string.
|
830
|
-
def segment_for(string)
|
831
|
-
segment = case string
|
832
|
-
when /\A:(\w+)/
|
833
|
-
key = $1.to_sym
|
834
|
-
case key
|
835
|
-
when :controller then ControllerSegment.new(key)
|
836
|
-
else DynamicSegment.new key
|
837
|
-
end
|
838
|
-
when /\A\*(\w+)/ then PathSegment.new($1.to_sym, :optional => true)
|
839
|
-
when /\A\?(.*?)\?/
|
840
|
-
returning segment = StaticSegment.new($1) do
|
841
|
-
segment.is_optional = true
|
842
|
-
end
|
843
|
-
when /\A(#{separator_pattern(:inverted)}+)/ then StaticSegment.new($1)
|
844
|
-
when Regexp.new(separator_pattern) then
|
845
|
-
returning segment = DividerSegment.new($&) do
|
846
|
-
segment.is_optional = (optional_separators.include? $&)
|
847
|
-
end
|
848
|
-
end
|
849
|
-
[segment, $~.post_match]
|
850
|
-
end
|
851
|
-
|
852
|
-
# Split the given hash of options into requirement and default hashes. The
|
853
|
-
# segments are passed alongside in order to distinguish between default values
|
854
|
-
# and requirements.
|
855
|
-
def divide_route_options(segments, options)
|
856
|
-
options = options.dup
|
857
|
-
requirements = (options.delete(:requirements) || {}).dup
|
858
|
-
defaults = (options.delete(:defaults) || {}).dup
|
859
|
-
conditions = (options.delete(:conditions) || {}).dup
|
860
|
-
|
861
|
-
path_keys = segments.collect { |segment| segment.key if segment.respond_to?(:key) }.compact
|
862
|
-
options.each do |key, value|
|
863
|
-
hash = (path_keys.include?(key) && ! value.is_a?(Regexp)) ? defaults : requirements
|
864
|
-
hash[key] = value
|
865
|
-
end
|
866
|
-
|
867
|
-
[defaults, requirements, conditions]
|
868
|
-
end
|
869
|
-
|
870
|
-
# Takes a hash of defaults and a hash of requirements, and assigns them to
|
871
|
-
# the segments. Any unused requirements (which do not correspond to a segment)
|
872
|
-
# are returned as a hash.
|
873
|
-
def assign_route_options(segments, defaults, requirements)
|
874
|
-
route_requirements = {} # Requirements that do not belong to a segment
|
875
|
-
|
876
|
-
segment_named = Proc.new do |key|
|
877
|
-
segments.detect { |segment| segment.key == key if segment.respond_to?(:key) }
|
878
|
-
end
|
879
|
-
|
880
|
-
requirements.each do |key, requirement|
|
881
|
-
segment = segment_named[key]
|
882
|
-
if segment
|
883
|
-
raise TypeError, "#{key}: requirements on a path segment must be regular expressions" unless requirement.is_a?(Regexp)
|
884
|
-
if requirement.source =~ %r{\A(\\A|\^)|(\\Z|\\z|\$)\Z}
|
885
|
-
raise ArgumentError, "Regexp anchor characters are not allowed in routing requirements: #{requirement.inspect}"
|
886
|
-
end
|
887
|
-
segment.regexp = requirement
|
888
|
-
else
|
889
|
-
route_requirements[key] = requirement
|
890
|
-
end
|
891
|
-
end
|
892
|
-
|
893
|
-
defaults.each do |key, default|
|
894
|
-
segment = segment_named[key]
|
895
|
-
raise ArgumentError, "#{key}: No matching segment exists; cannot assign default" unless segment
|
896
|
-
segment.is_optional = true
|
897
|
-
segment.default = default.to_param if default
|
898
|
-
end
|
899
|
-
|
900
|
-
assign_default_route_options(segments)
|
901
|
-
ensure_required_segments(segments)
|
902
|
-
route_requirements
|
903
|
-
end
|
904
|
-
|
905
|
-
# Assign default options, such as 'index' as a default for :action. This
|
906
|
-
# method must be run *after* user supplied requirements and defaults have
|
907
|
-
# been applied to the segments.
|
908
|
-
def assign_default_route_options(segments)
|
909
|
-
segments.each do |segment|
|
910
|
-
next unless segment.is_a? DynamicSegment
|
911
|
-
case segment.key
|
912
|
-
when :action
|
913
|
-
if segment.regexp.nil? || segment.regexp.match('index').to_s == 'index'
|
914
|
-
segment.default ||= 'index'
|
915
|
-
segment.is_optional = true
|
916
|
-
end
|
917
|
-
when :id
|
918
|
-
if segment.default.nil? && segment.regexp.nil? || segment.regexp =~ ''
|
919
|
-
segment.is_optional = true
|
920
|
-
end
|
921
|
-
end
|
922
|
-
end
|
923
|
-
end
|
924
|
-
|
925
|
-
# Makes sure that there are no optional segments that precede a required
|
926
|
-
# segment. If any are found that precede a required segment, they are
|
927
|
-
# made required.
|
928
|
-
def ensure_required_segments(segments)
|
929
|
-
allow_optional = true
|
930
|
-
segments.reverse_each do |segment|
|
931
|
-
allow_optional &&= segment.optional?
|
932
|
-
if !allow_optional && segment.optional?
|
933
|
-
unless segment.optionality_implied?
|
934
|
-
warn "Route segment \"#{segment.to_s}\" cannot be optional because it precedes a required segment. This segment will be required."
|
935
|
-
end
|
936
|
-
segment.is_optional = false
|
937
|
-
elsif allow_optional & segment.respond_to?(:default) && segment.default
|
938
|
-
# if a segment has a default, then it is optional
|
939
|
-
segment.is_optional = true
|
940
|
-
end
|
941
|
-
end
|
942
|
-
end
|
943
|
-
|
944
|
-
# Construct and return a route with the given path and options.
|
945
|
-
def build(path, options)
|
946
|
-
# Wrap the path with slashes
|
947
|
-
path = "/#{path}" unless path[0] == ?/
|
948
|
-
path = "#{path}/" unless path[-1] == ?/
|
949
|
-
|
950
|
-
segments = segments_for_route_path(path)
|
951
|
-
defaults, requirements, conditions = divide_route_options(segments, options)
|
952
|
-
requirements = assign_route_options(segments, defaults, requirements)
|
953
|
-
|
954
|
-
route = Route.new
|
955
|
-
route.segments = segments
|
956
|
-
route.requirements = requirements
|
957
|
-
route.conditions = conditions
|
958
|
-
|
959
|
-
if !route.significant_keys.include?(:action) && !route.requirements[:action]
|
960
|
-
route.requirements[:action] = "index"
|
961
|
-
route.significant_keys << :action
|
962
|
-
end
|
963
|
-
|
964
|
-
if !route.significant_keys.include?(:controller)
|
965
|
-
raise ArgumentError, "Illegal route: the :controller must be specified!"
|
966
|
-
end
|
967
|
-
|
968
|
-
route
|
969
|
-
end
|
970
|
-
end
|
971
|
-
|
972
|
-
class RouteSet #:nodoc:
|
973
|
-
# Mapper instances are used to build routes. The object passed to the draw
|
974
|
-
# block in config/routes.rb is a Mapper instance.
|
975
|
-
#
|
976
|
-
# Mapper instances have relatively few instance methods, in order to avoid
|
977
|
-
# clashes with named routes.
|
978
|
-
class Mapper #:nodoc:
|
979
|
-
def initialize(set)
|
980
|
-
@set = set
|
981
|
-
end
|
982
|
-
|
983
|
-
# Create an unnamed route with the provided +path+ and +options+. See
|
984
|
-
# SomeHelpfulUrl for an introduction to routes.
|
985
|
-
def connect(path, options = {})
|
986
|
-
@set.add_route(path, options)
|
987
|
-
end
|
988
|
-
|
989
|
-
def named_route(name, path, options = {})
|
990
|
-
@set.add_named_route(name, path, options)
|
991
|
-
end
|
992
|
-
|
993
|
-
# Added deprecation notice for anyone who already added a named route called "root".
|
994
|
-
# It'll be used as a shortcut for map.connect '' in Rails 2.0.
|
995
|
-
def root(*args, &proc)
|
996
|
-
super unless args.length >= 1 && proc.nil?
|
997
|
-
@set.add_named_route("root", *args)
|
998
|
-
end
|
999
|
-
deprecate :root => "(as the the label for a named route) will become a shortcut for map.connect '', so find another name"
|
1000
|
-
|
1001
|
-
def method_missing(route_name, *args, &proc)
|
1002
|
-
super unless args.length >= 1 && proc.nil?
|
1003
|
-
@set.add_named_route(route_name, *args)
|
1004
|
-
end
|
1005
|
-
end
|
1006
|
-
|
1007
|
-
# A NamedRouteCollection instance is a collection of named routes, and also
|
1008
|
-
# maintains an anonymous module that can be used to install helpers for the
|
1009
|
-
# named routes.
|
1010
|
-
class NamedRouteCollection #:nodoc:
|
1011
|
-
include Enumerable
|
1012
|
-
|
1013
|
-
attr_reader :routes, :helpers
|
1014
|
-
|
1015
|
-
def initialize
|
1016
|
-
clear!
|
1017
|
-
end
|
1018
|
-
|
1019
|
-
def clear!
|
1020
|
-
@routes = {}
|
1021
|
-
@helpers = []
|
1022
|
-
|
1023
|
-
@module ||= Module.new
|
1024
|
-
@module.instance_methods.each do |selector|
|
1025
|
-
@module.send :remove_method, selector
|
1026
|
-
end
|
1027
|
-
end
|
1028
|
-
|
1029
|
-
def add(name, route)
|
1030
|
-
routes[name.to_sym] = route
|
1031
|
-
define_named_route_methods(name, route)
|
1032
|
-
end
|
1033
|
-
|
1034
|
-
def get(name)
|
1035
|
-
routes[name.to_sym]
|
1036
|
-
end
|
1037
|
-
|
1038
|
-
alias []= add
|
1039
|
-
alias [] get
|
1040
|
-
alias clear clear!
|
1041
|
-
|
1042
|
-
def each
|
1043
|
-
routes.each { |name, route| yield name, route }
|
1044
|
-
self
|
1045
|
-
end
|
1046
|
-
|
1047
|
-
def names
|
1048
|
-
routes.keys
|
1049
|
-
end
|
1050
|
-
|
1051
|
-
def length
|
1052
|
-
routes.length
|
1053
|
-
end
|
1054
|
-
|
1055
|
-
def install(destinations = [ActionController::Base, ActionView::Base])
|
1056
|
-
Array(destinations).each { |dest| dest.send :include, @module }
|
1057
|
-
end
|
1058
|
-
|
1059
|
-
private
|
1060
|
-
def url_helper_name(name, kind = :url)
|
1061
|
-
:"#{name}_#{kind}"
|
1062
|
-
end
|
1063
|
-
|
1064
|
-
def hash_access_name(name, kind = :url)
|
1065
|
-
:"hash_for_#{name}_#{kind}"
|
1066
|
-
end
|
1067
|
-
|
1068
|
-
def define_named_route_methods(name, route)
|
1069
|
-
{:url => {:only_path => false}, :path => {:only_path => true}}.each do |kind, opts|
|
1070
|
-
hash = route.defaults.merge(:use_route => name).merge(opts)
|
1071
|
-
define_hash_access route, name, kind, hash
|
1072
|
-
define_url_helper route, name, kind, hash
|
1073
|
-
end
|
1074
|
-
end
|
1075
|
-
|
1076
|
-
def define_hash_access(route, name, kind, options)
|
1077
|
-
selector = hash_access_name(name, kind)
|
1078
|
-
@module.send :module_eval, <<-end_eval # We use module_eval to avoid leaks
|
1079
|
-
def #{selector}(options = nil)
|
1080
|
-
options ? #{options.inspect}.merge(options) : #{options.inspect}
|
1081
|
-
end
|
1082
|
-
end_eval
|
1083
|
-
@module.send(:protected, selector)
|
1084
|
-
helpers << selector
|
1085
|
-
end
|
1086
|
-
|
1087
|
-
def define_url_helper(route, name, kind, options)
|
1088
|
-
selector = url_helper_name(name, kind)
|
1089
|
-
|
1090
|
-
# The segment keys used for positional paramters
|
1091
|
-
segment_keys = route.segments.collect do |segment|
|
1092
|
-
segment.key if segment.respond_to? :key
|
1093
|
-
end.compact
|
1094
|
-
hash_access_method = hash_access_name(name, kind)
|
1095
|
-
|
1096
|
-
@module.send :module_eval, <<-end_eval # We use module_eval to avoid leaks
|
1097
|
-
def #{selector}(*args)
|
1098
|
-
opts = if args.empty? || Hash === args.first
|
1099
|
-
args.first || {}
|
1100
|
-
else
|
1101
|
-
# allow ordered parameters to be associated with corresponding
|
1102
|
-
# dynamic segments, so you can do
|
1103
|
-
#
|
1104
|
-
# foo_url(bar, baz, bang)
|
1105
|
-
#
|
1106
|
-
# instead of
|
1107
|
-
#
|
1108
|
-
# foo_url(:bar => bar, :baz => baz, :bang => bang)
|
1109
|
-
args.zip(#{segment_keys.inspect}).inject({}) do |h, (v, k)|
|
1110
|
-
h[k] = v
|
1111
|
-
h
|
1112
|
-
end
|
1113
|
-
end
|
1114
|
-
|
1115
|
-
url_for(#{hash_access_method}(opts))
|
1116
|
-
end
|
1117
|
-
end_eval
|
1118
|
-
@module.send(:protected, selector)
|
1119
|
-
helpers << selector
|
1120
|
-
end
|
1121
|
-
|
1122
|
-
end
|
1123
|
-
|
1124
|
-
attr_accessor :routes, :named_routes
|
1125
|
-
|
1126
|
-
def initialize
|
1127
|
-
self.routes = []
|
1128
|
-
self.named_routes = NamedRouteCollection.new
|
1129
|
-
end
|
1130
|
-
|
1131
|
-
# Subclasses and plugins may override this method to specify a different
|
1132
|
-
# RouteBuilder instance, so that other route DSL's can be created.
|
1133
|
-
def builder
|
1134
|
-
@builder ||= RouteBuilder.new
|
1135
|
-
end
|
1136
|
-
|
1137
|
-
def draw
|
1138
|
-
clear!
|
1139
|
-
yield Mapper.new(self)
|
1140
|
-
named_routes.install
|
1141
|
-
end
|
1142
|
-
|
1143
|
-
def clear!
|
1144
|
-
routes.clear
|
1145
|
-
named_routes.clear
|
1146
|
-
@combined_regexp = nil
|
1147
|
-
@routes_by_controller = nil
|
1148
|
-
end
|
1149
|
-
|
1150
|
-
def empty?
|
1151
|
-
routes.empty?
|
1152
|
-
end
|
1153
|
-
|
1154
|
-
def load!
|
1155
|
-
Routing.use_controllers! nil # Clear the controller cache so we may discover new ones
|
1156
|
-
clear!
|
1157
|
-
load_routes!
|
1158
|
-
named_routes.install
|
1159
|
-
end
|
1160
|
-
|
1161
|
-
alias reload load!
|
1162
|
-
|
1163
|
-
def load_routes!
|
1164
|
-
if defined?(RAILS_ROOT) && defined?(::ActionController::Routing::Routes) && self == ::ActionController::Routing::Routes
|
1165
|
-
load File.join("#{RAILS_ROOT}/config/routes.rb")
|
1166
|
-
else
|
1167
|
-
add_route ":controller/:action/:id"
|
1168
|
-
end
|
1169
|
-
end
|
1170
|
-
|
1171
|
-
def add_route(path, options = {})
|
1172
|
-
route = builder.build(path, options)
|
1173
|
-
routes << route
|
1174
|
-
route
|
1175
|
-
end
|
1176
|
-
|
1177
|
-
def add_named_route(name, path, options = {})
|
1178
|
-
named_routes[name] = add_route(path, options)
|
1179
|
-
end
|
1180
|
-
|
1181
|
-
def options_as_params(options)
|
1182
|
-
# If an explicit :controller was given, always make :action explicit
|
1183
|
-
# too, so that action expiry works as expected for things like
|
1184
|
-
#
|
1185
|
-
# generate({:controller => 'content'}, {:controller => 'content', :action => 'show'})
|
1186
|
-
#
|
1187
|
-
# (the above is from the unit tests). In the above case, because the
|
1188
|
-
# controller was explicitly given, but no action, the action is implied to
|
1189
|
-
# be "index", not the recalled action of "show".
|
1190
|
-
#
|
1191
|
-
# great fun, eh?
|
1192
|
-
|
1193
|
-
options_as_params = options[:controller] ? { :action => "index" } : {}
|
1194
|
-
options.each do |k, value|
|
1195
|
-
options_as_params[k] = value.to_param
|
1196
|
-
end
|
1197
|
-
options_as_params
|
1198
|
-
end
|
1199
|
-
|
1200
|
-
def build_expiry(options, recall)
|
1201
|
-
recall.inject({}) do |expiry, (key, recalled_value)|
|
1202
|
-
expiry[key] = (options.key?(key) && options[key] != recalled_value)
|
1203
|
-
expiry
|
1204
|
-
end
|
1205
|
-
end
|
1206
|
-
|
1207
|
-
# Generate the path indicated by the arguments, and return an array of
|
1208
|
-
# the keys that were not used to generate it.
|
1209
|
-
def extra_keys(options, recall={})
|
1210
|
-
generate_extras(options, recall).last
|
1211
|
-
end
|
1212
|
-
|
1213
|
-
def generate_extras(options, recall={})
|
1214
|
-
generate(options, recall, :generate_extras)
|
1215
|
-
end
|
1216
|
-
|
1217
|
-
def generate(options, recall = {}, method=:generate)
|
1218
|
-
named_route_name = options.delete(:use_route)
|
1219
|
-
if named_route_name
|
1220
|
-
named_route = named_routes[named_route_name]
|
1221
|
-
options = named_route.parameter_shell.merge(options)
|
1222
|
-
end
|
1223
|
-
|
1224
|
-
options = options_as_params(options)
|
1225
|
-
expire_on = build_expiry(options, recall)
|
1226
|
-
|
1227
|
-
# if the controller has changed, make sure it changes relative to the
|
1228
|
-
# current controller module, if any. In other words, if we're currently
|
1229
|
-
# on admin/get, and the new controller is 'set', the new controller
|
1230
|
-
# should really be admin/set.
|
1231
|
-
if !named_route && expire_on[:controller] && options[:controller] && options[:controller][0] != ?/
|
1232
|
-
old_parts = recall[:controller].split('/')
|
1233
|
-
new_parts = options[:controller].split('/')
|
1234
|
-
parts = old_parts[0..-(new_parts.length + 1)] + new_parts
|
1235
|
-
options[:controller] = parts.join('/')
|
1236
|
-
end
|
1237
|
-
|
1238
|
-
# drop the leading '/' on the controller name
|
1239
|
-
options[:controller] = options[:controller][1..-1] if options[:controller] && options[:controller][0] == ?/
|
1240
|
-
merged = recall.merge(options)
|
1241
|
-
|
1242
|
-
if named_route
|
1243
|
-
path = named_route.generate(options, merged, expire_on)
|
1244
|
-
if path.nil?
|
1245
|
-
raise_named_route_error(options, named_route, named_route_name)
|
1246
|
-
else
|
1247
|
-
return path
|
1248
|
-
end
|
1249
|
-
else
|
1250
|
-
merged[:action] ||= 'index'
|
1251
|
-
options[:action] ||= 'index'
|
1252
|
-
|
1253
|
-
controller = merged[:controller]
|
1254
|
-
action = merged[:action]
|
1255
|
-
|
1256
|
-
raise RoutingError, "Need controller and action!" unless controller && action
|
1257
|
-
# don't use the recalled keys when determining which routes to check
|
1258
|
-
routes = routes_by_controller[controller][action][options.keys.sort_by { |x| x.object_id }]
|
1259
|
-
|
1260
|
-
routes.each do |route|
|
1261
|
-
results = route.send(method, options, merged, expire_on)
|
1262
|
-
return results if results && (!results.is_a?(Array) || results.first)
|
1263
|
-
end
|
1264
|
-
end
|
1265
|
-
|
1266
|
-
raise RoutingError, "No route matches #{options.inspect}"
|
1267
|
-
end
|
1268
|
-
|
1269
|
-
# try to give a helpful error message when named route generation fails
|
1270
|
-
def raise_named_route_error(options, named_route, named_route_name)
|
1271
|
-
diff = named_route.requirements.diff(options)
|
1272
|
-
unless diff.empty?
|
1273
|
-
raise RoutingError, "#{named_route_name}_url failed to generate from #{options.inspect}, expected: #{named_route.requirements.inspect}, diff: #{named_route.requirements.diff(options).inspect}"
|
1274
|
-
else
|
1275
|
-
required_segments = named_route.segments.select {|seg| (!seg.optional?) && (!seg.is_a?(DividerSegment)) }
|
1276
|
-
required_keys_or_values = required_segments.map { |seg| seg.key rescue seg.value } # we want either the key or the value from the segment
|
1277
|
-
raise RoutingError, "#{named_route_name}_url failed to generate from #{options.inspect} - you may have ambiguous routes, or you may need to supply additional parameters for this route. content_url has the following required parameters: #{required_keys_or_values.inspect} - are they all satisifed?"
|
1278
|
-
end
|
1279
|
-
end
|
1280
|
-
|
1281
|
-
def recognize(request)
|
1282
|
-
params = recognize_path(request.path, extract_request_environment(request))
|
1283
|
-
request.path_parameters = params.with_indifferent_access
|
1284
|
-
"#{params[:controller].camelize}Controller".constantize
|
1285
|
-
end
|
1286
|
-
|
1287
|
-
def recognize_path(path, environment={})
|
1288
|
-
path = CGI.unescape(path)
|
1289
|
-
routes.each do |route|
|
1290
|
-
result = route.recognize(path, environment) and return result
|
1291
|
-
end
|
1292
|
-
raise RoutingError, "no route found to match #{path.inspect} with #{environment.inspect}"
|
1293
|
-
end
|
1294
|
-
|
1295
|
-
def routes_by_controller
|
1296
|
-
@routes_by_controller ||= Hash.new do |controller_hash, controller|
|
1297
|
-
controller_hash[controller] = Hash.new do |action_hash, action|
|
1298
|
-
action_hash[action] = Hash.new do |key_hash, keys|
|
1299
|
-
key_hash[keys] = routes_for_controller_and_action_and_keys(controller, action, keys)
|
1300
|
-
end
|
1301
|
-
end
|
1302
|
-
end
|
1303
|
-
end
|
1304
|
-
|
1305
|
-
def routes_for(options, merged, expire_on)
|
1306
|
-
raise "Need controller and action!" unless controller && action
|
1307
|
-
controller = merged[:controller]
|
1308
|
-
merged = options if expire_on[:controller]
|
1309
|
-
action = merged[:action] || 'index'
|
1310
|
-
|
1311
|
-
routes_by_controller[controller][action][merged.keys]
|
1312
|
-
end
|
1313
|
-
|
1314
|
-
def routes_for_controller_and_action(controller, action)
|
1315
|
-
selected = routes.select do |route|
|
1316
|
-
route.matches_controller_and_action? controller, action
|
1317
|
-
end
|
1318
|
-
(selected.length == routes.length) ? routes : selected
|
1319
|
-
end
|
1320
|
-
|
1321
|
-
def routes_for_controller_and_action_and_keys(controller, action, keys)
|
1322
|
-
selected = routes.select do |route|
|
1323
|
-
route.matches_controller_and_action? controller, action
|
1324
|
-
end
|
1325
|
-
selected.sort_by do |route|
|
1326
|
-
(keys - route.significant_keys).length
|
1327
|
-
end
|
1328
|
-
end
|
1329
|
-
|
1330
|
-
# Subclasses and plugins may override this method to extract further attributes
|
1331
|
-
# from the request, for use by route conditions and such.
|
1332
|
-
def extract_request_environment(request)
|
1333
|
-
{ :method => request.method }
|
1334
|
-
end
|
1335
|
-
end
|
1336
|
-
|
1337
|
-
Routes = RouteSet.new
|
1338
|
-
end
|
1339
|
-
end
|
1340
|
-
|