From 6873fc8026e87544ee93e0d9551ae57083313cff Mon Sep 17 00:00:00 2001 From: Jacques Distler Date: Fri, 21 Dec 2007 01:48:59 -0600 Subject: [PATCH] Upgrade to Rails 2.0.2 Upgraded to Rails 2.0.2, except that we maintain vendor/rails/actionpack/lib/action_controller/routing.rb from Rail 1.2.6 (at least for now), so that Routes don't change. We still get to enjoy Rails's many new features. Also fixed a bug in Chunk-handling: disable WikiWord processing in tags (for real this time). --- app/controllers/application.rb | 10 +- app/controllers/wiki_controller.rb | 8 +- config/environment.rb | 9 + lib/chunks/chunk.rb | 2 +- lib/chunks/literal.rb | 3 +- test/functional/application_test.rb | 2 +- test/functional/file_controller_test.rb | 6 +- test/functional/wiki_controller_test.rb | 18 +- test/unit/page_renderer_test.rb | 6 + .../plugins/action_cache/lib/action_cache.rb | 2 +- .../maruku/lib/maruku/output/s5/to_s5.rb | 7 +- vendor/rails/actionmailer/CHANGELOG | 70 +- vendor/rails/actionmailer/MIT-LICENSE | 2 +- vendor/rails/actionmailer/README | 4 +- vendor/rails/actionmailer/Rakefile | 7 +- vendor/rails/actionmailer/install.rb | 2 +- .../rails/actionmailer/lib/action_mailer.rb | 8 +- .../actionmailer/lib/action_mailer/base.rb | 93 +- .../actionmailer/lib/action_mailer/helpers.rb | 8 +- .../actionmailer/lib/action_mailer/part.rb | 7 +- .../lib/action_mailer/test_case.rb | 59 + .../lib/action_mailer/test_helper.rb | 67 + .../actionmailer/lib/action_mailer/vendor.rb | 14 + .../{ => text-format-0.6.3}/text/format.rb | 0 .../action_mailer/vendor/tmail-1.1.0/tmail.rb | 4 + .../vendor/tmail-1.1.0/tmail/Makefile | 19 + .../vendor/{ => tmail-1.1.0}/tmail/address.rb | 9 +- .../{ => tmail-1.1.0}/tmail/attachments.rb | 12 +- .../vendor/tmail-1.1.0/tmail/base64.rb | 52 + .../vendor/tmail-1.1.0/tmail/compat.rb | 39 + .../vendor/{ => tmail-1.1.0}/tmail/config.rb | 8 +- .../tmail-1.1.0/tmail/core_extensions.rb | 67 + .../vendor/{ => tmail-1.1.0}/tmail/encode.rb | 32 +- .../vendor/{ => tmail-1.1.0}/tmail/facade.rb | 0 .../vendor/{ => tmail-1.1.0}/tmail/header.rb | 29 +- .../vendor/{ => tmail-1.1.0}/tmail/info.rb | 0 .../vendor/tmail-1.1.0/tmail/interface.rb | 540 ++ .../vendor/{ => tmail-1.1.0}/tmail/loader.rb | 0 .../vendor/{ => tmail-1.1.0}/tmail/mail.rb | 25 +- .../vendor/{ => tmail-1.1.0}/tmail/mailbox.rb | 8 +- .../vendor/{ => tmail-1.1.0}/tmail/mbox.rb | 0 .../vendor/{ => tmail-1.1.0}/tmail/net.rb | 8 +- .../{ => tmail-1.1.0}/tmail/obsolete.rb | 8 +- .../vendor/{ => tmail-1.1.0}/tmail/parser.rb | 515 +- .../vendor/tmail-1.1.0/tmail/parser.y | 381 ++ .../vendor/{ => tmail-1.1.0}/tmail/port.rb | 8 +- .../vendor/{ => tmail-1.1.0}/tmail/quoting.rb | 13 +- .../vendor/{ => tmail-1.1.0}/tmail/scanner.rb | 8 +- .../{ => tmail-1.1.0}/tmail/scanner_r.rb | 2 +- .../{ => tmail-1.1.0}/tmail/stringio.rb | 10 +- .../vendor/{ => tmail-1.1.0}/tmail/tmail.rb | 0 .../vendor/{ => tmail-1.1.0}/tmail/utils.rb | 57 +- .../tmail/version.rb} | 47 +- .../lib/action_mailer/vendor/tmail.rb | 3 - .../actionmailer/lib/action_mailer/version.rb | 6 +- vendor/rails/actionmailer/lib/actionmailer.rb | 1 + .../rails/actionmailer/test/abstract_unit.rb | 19 + .../actionmailer/test/delivery_method_test.rb | 51 + .../test/fixtures/first_mailer/share.erb | 1 + .../test/fixtures/first_mailer/share.rhtml | 1 - .../helper_mailer/use_example_helper.erb | 1 + .../helper_mailer/use_example_helper.rhtml} | 0 .../fixtures/helper_mailer/use_helper.erb | 1 + .../fixtures/helper_mailer/use_helper.rhtml | 1 - .../helper_mailer/use_helper_method.erb | 1 + .../helper_mailer/use_helper_method.rhtml | 1 - .../helper_mailer/use_mail_helper.erb | 5 + .../helper_mailer/use_mail_helper.rhtml | 5 - .../helper_mailer/use_test_helper.rhtml | 1 - .../{test_helper.rb => example_helper.rb} | 4 +- ...multipart_with_template_path_with_dots.erb | 1 + ...ltipart_with_template_path_with_dots.rhtml | 1 - .../test/fixtures/raw_base64_decoded_string | Bin 0 -> 8576 bytes .../test/fixtures/raw_base64_encoded_string | 1 + .../actionmailer/test/fixtures/raw_email11 | 34 - ...il_with_invalid_characters_in_content_type | 104 + .../fixtures/raw_email_with_nested_attachment | 100 + .../test/fixtures/second_mailer/share.erb | 1 + .../test/fixtures/second_mailer/share.rhtml | 1 - .../test/fixtures/templates/signed_up.erb | 3 + .../test/fixtures/templates/signed_up.rhtml | 3 - .../test_mailer/_subtemplate.text.plain.erb | 1 + ...custom_templating_extension.text.html.haml | 6 + ...ustom_templating_extension.text.plain.haml | 6 + .../implicitly_multipart_example.ignored.erb | 1 + ...implicitly_multipart_example.ignored.rhtml | 1 - ...implicitly_multipart_example.text.html.erb | 10 + ...plicitly_multipart_example.text.html.rhtml | 10 - ...mplicitly_multipart_example.text.plain.erb | 2 + ...licitly_multipart_example.text.plain.rhtml | 2 - ...implicitly_multipart_example.text.yaml.erb | 1 + ...plicitly_multipart_example.text.yaml.rhtml | 1 - .../included_subtemplate.text.plain.erb | 1 + .../test_mailer/rxml_template.builder | 2 + .../fixtures/test_mailer/rxml_template.rxml | 2 + .../test/fixtures/test_mailer/signed_up.erb | 3 + .../test/fixtures/test_mailer/signed_up.rhtml | 3 - .../test_mailer/signed_up_with_url.erb | 5 + .../test_mailer/signed_up_with_url.rhtml | 3 - .../actionmailer/test/mail_helper_test.rb | 16 +- .../actionmailer/test/mail_render_test.rb | 47 +- .../actionmailer/test/mail_service_test.rb | 177 +- .../rails/actionmailer/test/quoting_test.rb | 60 +- .../actionmailer/test/test_helper_test.rb | 117 + vendor/rails/actionmailer/test/tmail_test.rb | 9 + vendor/rails/actionmailer/test/url_test.rb | 12 +- vendor/rails/actionpack/CHANGELOG | 1451 +++++- vendor/rails/actionpack/MIT-LICENSE | 2 +- vendor/rails/actionpack/README | 10 +- vendor/rails/actionpack/RUNNING_UNIT_TESTS | 9 +- vendor/rails/actionpack/Rakefile | 11 +- vendor/rails/actionpack/examples/.htaccess | 24 - .../examples/address_book/index.rhtml | 33 - .../examples/address_book/layout.rhtml | 8 - .../examples/address_book_controller.cgi | 9 - .../examples/address_book_controller.fcgi | 6 - .../examples/address_book_controller.rb | 52 - .../examples/address_book_controller.rbx | 4 - vendor/rails/actionpack/examples/benchmark.rb | 52 - .../examples/benchmark_with_ar.fcgi | 89 - .../actionpack/examples/blog_controller.cgi | 53 - .../actionpack/examples/debate/index.rhtml | 14 - .../examples/debate/new_topic.rhtml | 22 - .../actionpack/examples/debate/topic.rhtml | 32 - .../actionpack/examples/debate_controller.cgi | 57 - vendor/rails/actionpack/filler.txt | 50 - vendor/rails/actionpack/install.rb | 4 +- .../rails/actionpack/lib/action_controller.rb | 26 +- .../lib/action_controller/assertions.rb | 37 +- .../assertions/deprecated_assertions.rb | 228 - .../assertions/dom_assertions.rb | 22 +- .../assertions/model_assertions.rb | 9 +- .../assertions/response_assertions.rb | 47 +- .../assertions/routing_assertions.rb | 68 +- .../assertions/selector_assertions.rb | 143 +- .../assertions/tag_assertions.rb | 43 +- .../actionpack/lib/action_controller/base.rb | 584 ++- .../lib/action_controller/benchmarking.rb | 69 +- .../lib/action_controller/caching.rb | 198 +- .../lib/action_controller/cgi_ext.rb | 16 + .../lib/action_controller/cgi_ext/cgi_ext.rb | 36 - .../action_controller/cgi_ext/cgi_methods.rb | 211 - .../{cookie_performance_fix.rb => cookie.rb} | 71 +- .../cgi_ext/pstore_performance_fix.rb | 30 - .../cgi_ext/query_extension.rb | 22 + .../cgi_ext/raw_post_data_fix.rb | 95 - .../lib/action_controller/cgi_ext/session.rb | 73 + .../cgi_ext/session_performance_fix.rb | 30 - .../lib/action_controller/cgi_ext/stdinput.rb | 23 + .../lib/action_controller/cgi_process.rb | 91 +- .../lib/action_controller/code_generation.rb | 235 - .../lib/action_controller/components.rb | 57 +- .../lib/action_controller/cookies.rb | 22 +- .../lib/action_controller/dependencies.rb | 83 - .../deprecated_assertions.rb | 204 - .../deprecated_dependencies.rb | 65 - .../action_controller/deprecated_redirects.rb | 17 - .../deprecated_request_methods.rb | 34 - .../lib/action_controller/dispatcher.rb | 195 + .../lib/action_controller/filters.rb | 69 +- .../actionpack/lib/action_controller/flash.rb | 65 +- .../lib/action_controller/helpers.rb | 173 +- .../action_controller/http_authentication.rb | 126 + .../lib/action_controller/integration.rb | 235 +- .../lib/action_controller/layout.rb | 109 +- .../action_controller/macros/auto_complete.rb | 53 - .../macros/in_place_editing.rb | 33 - .../lib/action_controller/mime_responds.rb | 125 +- .../lib/action_controller/mime_type.rb | 123 +- .../lib/action_controller/mime_types.rb | 20 + .../lib/action_controller/pagination.rb | 408 -- .../action_controller/polymorphic_routes.rb | 88 + .../action_controller/record_identifier.rb | 91 + .../lib/action_controller/request.rb | 689 ++- .../request_forgery_protection.rb | 132 + .../lib/action_controller/request_profiler.rb | 138 + .../lib/action_controller/rescue.rb | 254 +- .../lib/action_controller/resources.rb | 383 +- .../lib/action_controller/response.rb | 57 +- .../action_controller/routing_optimisation.rb | 119 + .../lib/action_controller/scaffolding.rb | 189 - .../session/active_record_store.rb | 5 +- .../action_controller/session/cookie_store.rb | 164 + .../session/mem_cache_store.rb | 25 +- .../action_controller/session_management.rb | 25 +- .../lib/action_controller/streaming.rb | 9 +- .../rescues/_request_and_response.erb | 24 + .../rescues/_request_and_response.rhtml | 44 - .../rescues/{_trace.rhtml => _trace.erb} | 0 .../{diagnostics.rhtml => diagnostics.erb} | 4 +- .../rescues/{layout.rhtml => layout.erb} | 0 ...ng_template.rhtml => missing_template.erb} | 0 ...{routing_error.rhtml => routing_error.erb} | 0 ...emplate_error.rhtml => template_error.erb} | 4 +- ...nknown_action.rhtml => unknown_action.erb} | 0 .../templates/scaffolds/edit.rhtml | 7 - .../templates/scaffolds/layout.rhtml | 69 - .../templates/scaffolds/list.rhtml | 27 - .../templates/scaffolds/new.rhtml | 6 - .../templates/scaffolds/show.rhtml | 9 - .../lib/action_controller/test_case.rb | 53 + .../lib/action_controller/test_process.rb | 105 +- .../lib/action_controller/url_rewriter.rb | 72 +- .../vendor/html-scanner/html/document.rb | 11 +- .../vendor/html-scanner/html/sanitizer.rb | 173 + .../vendor/html-scanner/html/selector.rb | 17 +- .../lib/action_controller/vendor/xml_node.rb | 97 - .../action_controller/vendor/xml_simple.rb | 1019 ---- .../lib/action_controller/verification.rb | 52 +- vendor/rails/actionpack/lib/action_pack.rb | 2 +- .../actionpack/lib/action_pack/version.rb | 8 +- vendor/rails/actionpack/lib/action_view.rb | 11 +- .../rails/actionpack/lib/action_view/base.rb | 380 +- .../lib/action_view/compiled_templates.rb | 3 +- .../helpers/active_record_helper.rb | 52 +- .../action_view/helpers/asset_tag_helper.rb | 504 +- .../action_view/helpers/atom_feed_helper.rb | 111 + .../action_view/helpers/benchmark_helper.rb | 17 +- .../lib/action_view/helpers/cache_helper.rb | 29 + .../lib/action_view/helpers/capture_helper.rb | 160 +- .../lib/action_view/helpers/date_helper.rb | 330 +- .../lib/action_view/helpers/debug_helper.rb | 8 +- .../action_view/helpers/deprecated_helper.rb | 37 - .../lib/action_view/helpers/form_helper.rb | 465 +- .../helpers/form_options_helper.rb | 282 +- .../action_view/helpers/form_tag_helper.rb | 410 +- .../helpers/java_script_macros_helper.rb | 233 - .../action_view/helpers/javascript_helper.rb | 46 +- .../helpers/javascripts/controls.js | 848 +-- .../helpers/javascripts/dragdrop.js | 146 +- .../helpers/javascripts/effects.js | 760 +-- .../helpers/javascripts/prototype.js | 4540 ++++++++++++----- .../lib/action_view/helpers/number_helper.rb | 144 +- .../action_view/helpers/pagination_helper.rb | 86 - .../action_view/helpers/prototype_helper.rb | 462 +- .../helpers/record_identification_helper.rb | 20 + .../action_view/helpers/record_tag_helper.rb | 59 + .../action_view/helpers/sanitize_helper.rb | 223 + .../helpers/scriptaculous_helper.rb | 67 +- .../lib/action_view/helpers/tag_helper.rb | 110 +- .../lib/action_view/helpers/text_helper.rb | 369 +- .../lib/action_view/helpers/url_helper.rb | 450 +- .../actionpack/lib/action_view/partials.rb | 208 +- .../lib/action_view/template_error.rb | 16 +- .../lib/action_view/template_handler.rb | 17 + .../action_view/template_handlers/builder.rb | 19 + .../lib/action_view/template_handlers/erb.rb | 21 + .../lib/action_view/template_handlers/rjs.rb | 14 + vendor/rails/actionpack/lib/actionpack.rb | 1 + vendor/rails/actionpack/test/abstract_unit.rb | 22 +- .../rails/actionpack/test/action_view_test.rb | 44 + .../actionpack/test/active_record_unit.rb | 32 +- .../active_record_assertions_test.rb | 92 - .../activerecord/active_record_store_test.rb | 4 +- .../test/activerecord/pagination_test.rb | 165 - ...partial_with_record_identification_test.rb | 74 + .../controller/action_pack_assertions_test.rb | 173 +- .../test/controller/addresses_render_test.rb | 9 +- .../test/controller/assert_select_test.rb | 134 +- .../actionpack/test/controller/base_test.rb | 24 +- .../test/controller/caching_filestore.rb | 74 - .../test/controller/caching_test.rb | 130 +- .../test/controller/capture_test.rb | 39 +- .../actionpack/test/controller/cgi_test.rb | 467 +- .../test/controller/components_test.rb | 73 +- .../test/controller/content_type_test.rb | 2 +- .../actionpack/test/controller/cookie_test.rb | 66 +- .../deprecated_instance_variables_test.rb | 48 - .../deprecated_base_methods_test.rb | 43 +- .../test/controller/dispatcher_test.rb | 123 + .../actionpack/test/controller/fake_models.rb | 5 + .../test/controller/filters_test.rb | 52 +- .../actionpack/test/controller/flash_test.rb | 48 +- .../controller/fragment_store_setting_test.rb | 18 +- .../actionpack/test/controller/helper_test.rb | 27 +- .../controller/html-scanner/document_test.rb | 124 + .../test/controller/html-scanner/node_test.rb | 69 + .../controller/html-scanner/sanitizer_test.rb | 250 + .../controller/html-scanner/tag_node_test.rb | 239 + .../controller/html-scanner/text_node_test.rb | 51 + .../controller/html-scanner/tokenizer_test.rb | 125 + .../controller/http_authentication_test.rb | 54 + .../test/controller/integration_test.rb | 78 +- .../actionpack/test/controller/layout_test.rb | 76 +- .../test/controller/mime_responds_test.rb | 231 +- .../test/controller/mime_type_test.rb | 38 +- .../test/controller/new_render_test.rb | 126 +- .../controller/polymorphic_routes_test.rb | 98 + .../test/controller/raw_post_test.rb | 68 - .../test/controller/record_identifier_test.rb | 103 + .../test/controller/redirect_test.rb | 138 +- .../actionpack/test/controller/render_test.rb | 281 +- .../request_forgery_protection_test.rb | 217 + .../test/controller/request_test.rb | 573 ++- .../actionpack/test/controller/rescue_test.rb | 501 ++ .../test/controller/resources_test.rb | 412 +- .../test/controller/routing_test.rb | 618 ++- .../test/controller/selector_test.rb | 10 +- .../test/controller/send_file_test.rb | 24 +- .../controller/session/cookie_store_test.rb | 246 + .../session/mem_cache_store_test.rb | 182 + .../test/controller/session_fixation_test.rb | 89 + .../controller/session_management_test.rb | 14 +- .../actionpack/test/controller/test_test.rb | 188 +- .../test/controller/url_rewriter_test.rb | 99 +- .../test/controller/verification_test.rb | 11 + .../test/controller/view_paths_test.rb | 137 + .../test/controller/webservice_test.rb | 86 +- .../addresses/{list.rhtml => list.erb} | 0 .../poorly_placed_controller.rb | 7 - .../nested_controller.rb | 3 - .../a_class_that_contains_a_controller.rb | 7 - .../test/fixtures/db_definitions/sqlite.sql | 3 +- .../_cookies_ivar.rhtml | 1 - .../_cookies_method.rhtml | 1 - .../_flash_ivar.rhtml | 1 - .../_flash_method.rhtml | 1 - .../_headers_ivar.rhtml | 1 - .../_headers_method.rhtml | 1 - .../_params_ivar.rhtml | 1 - .../_params_method.rhtml | 1 - .../_request_ivar.rhtml | 1 - .../_request_method.rhtml | 1 - .../_response_ivar.rhtml | 1 - .../_response_method.rhtml | 1 - .../_session_ivar.rhtml | 1 - .../_session_method.rhtml | 1 - .../actionpack/test/fixtures/developer.rb | 2 + .../actionpack/test/fixtures/dont_load.rb | 3 - .../{hello_world.rhtml => hello_world.erb} | 0 .../test/fixtures/helpers/fun/pdf_helper.rb | 2 +- .../fixtures/layout_tests/alt/hello.rhtml | 1 + .../layouts/multiple_extensions.html.erb | 1 + .../layouts/{builder.rxml => builder.builder} | 0 .../layouts/{standard.rhtml => standard.erb} | 0 ...from_action.rhtml => talk_from_action.erb} | 0 .../layouts/{yield.rhtml => yield.erb} | 0 .../test/fixtures/multipart/binary_file | Bin 19846 -> 19820 bytes .../test/fixtures/multipart/bracketed_param | 5 + .../fixtures/override/test/hello_world.erb | 1 + .../fixtures/override2/layouts/test/sub.erb | 1 + .../fixtures/post_test/layouts/post.html.erb | 1 + .../post_test/layouts/super_post.iphone.erb | 1 + .../fixtures/post_test/post/index.html.erb | 1 + .../fixtures/post_test/post/index.iphone.erb | 1 + .../post_test/super_post/index.html.erb | 1 + .../post_test/super_post/index.iphone.erb | 1 + .../actionpack/test/fixtures/public/404.html | 1 + .../actionpack/test/fixtures/public/500.html | 1 + .../public/javascripts/application.js | 1 - .../test/fixtures/public/javascripts/bank.js | 1 + .../fixtures/public/javascripts/robber.js | 1 + .../test/fixtures/public/stylesheets/bank.css | 1 + .../fixtures/public/stylesheets/robber.css | 1 + .../actionpack/test/fixtures/replies.yml | 2 + .../rails/actionpack/test/fixtures/reply.rb | 3 +- ...t.rhtml => all_types_with_layout.html.erb} | 0 ...ayout.rjs => all_types_with_layout.js.rjs} | 0 ...constant_handling_without_block.mobile.erb | 1 + .../iphone_with_html_response_type.html.erb | 1 + .../iphone_with_html_response_type.iphone.erb | 1 + .../respond_to/layouts/missing.html.erb | 1 + .../respond_to/layouts/standard.html.erb | 1 + .../respond_to/layouts/standard.iphone.erb | 1 + .../respond_to/layouts/standard.rhtml | 1 - ...defaults.rhtml => using_defaults.html.erb} | 0 ...ing_defaults.rjs => using_defaults.js.rjs} | 0 ...faults.rxml => using_defaults.xml.builder} | 0 ...=> using_defaults_with_type_list.html.erb} | 0 ...s => using_defaults_with_type_list.js.rjs} | 0 ...using_defaults_with_type_list.xml.builder} | 0 .../test/{modgreet.rhtml => modgreet.erb} | 0 .../test/{_customer.rhtml => _customer.erb} | 0 ..._greeting.rhtml => _customer_greeting.erb} | 0 .../test/fixtures/test/_hash_greeting.erb | 1 + .../test/fixtures/test/_hash_object.erb | 2 + .../test/fixtures/test/_hash_object.rhtml | 1 - .../test/{_hello.rxml => _hello.builder} | 0 .../test/_layout_for_partial.html.erb | 3 + .../test/fixtures/test/_partial.erb | 1 + .../test/fixtures/test/_partial.html.erb | 1 + .../test/fixtures/test/_partial.js.erb | 1 + .../test/_partial_for_use_in_layout.html.erb | 1 + ...{_partial_only.rhtml => _partial_only.erb} | 0 .../test/{_person.rhtml => _person.erb} | 0 ...layout.rhtml => action_talk_to_layout.erb} | 0 ...ontent_for.rhtml => block_content_for.erb} | 0 .../test/calling_partial_with_layout.html.erb | 1 + .../test/{capturing.rhtml => capturing.erb} | 0 .../{content_for.rhtml => content_for.erb} | 0 .../test/content_for_concatenated.erb | 3 + .../test/content_for_with_parameter.erb | 2 + ...h_ivar.rhtml => render_file_with_ivar.erb} | 0 ..._content_for.rhtml => erb_content_for.erb} | 0 .../fixtures/test/formatted_html_erb.html.erb | 1 + .../fixtures/test/formatted_xml_erb.builder | 1 + .../fixtures/test/formatted_xml_erb.html.erb | 1 + .../fixtures/test/formatted_xml_erb.xml.erb | 1 + .../test/{greeting.rhtml => greeting.erb} | 0 .../test/{hello.rxml => hello.builder} | 0 .../{hello_world.rhtml => hello_world.erb} | 0 ...ner.rxml => hello_world_container.builder} | 0 ...rld.rxml => hello_world_from_rxml.builder} | 0 ...html => hello_world_with_layout_false.erb} | 0 ...xml_world.rxml => hello_xml_world.builder} | 0 .../actionpack/test/fixtures/test/list.erb | 1 + .../actionpack/test/fixtures/test/list.rhtml | 1 - ...rxml => non_erb_block_content_for.builder} | 0 ...onflicts.rhtml => potential_conflicts.erb} | 0 ...h_ivar.rhtml => render_file_with_ivar.erb} | 0 ...cals.rhtml => render_file_with_locals.erb} | 0 ...g_test.rhtml => render_to_string_test.erb} | 0 ....rhtml => update_element_with_capture.erb} | 0 .../test/using_layout_around_block.html.erb | 1 + .../rails/actionpack/test/fixtures/topic.rb | 2 +- .../template/active_record_helper_test.rb | 87 +- .../test/template/asset_tag_helper_test.rb | 309 +- .../test/template/atom_feed_helper_test.rb | 101 + .../test/template/benchmark_helper_test.rb | 4 +- .../test/template/compiled_templates_test.rb | 132 +- .../test/template/date_helper_test.rb | 134 +- .../test/template/deprecated_helper_test.rb | 36 - .../deprecated_instance_variables_test.rb | 43 - .../actionpack/test/template/erb_util_test.rb | 56 + .../test/template/form_helper_test.rb | 359 +- .../test/template/form_options_helper_test.rb | 837 ++- .../test/template/form_tag_helper_test.rb | 126 +- .../java_script_macros_helper_test.rb | 109 - .../test/template/javascript_helper_test.rb | 74 +- .../test/template/number_helper_test.rb | 23 +- .../test/template/prototype_helper_test.rb | 209 +- .../test/template/sanitize_helper_test.rb | 49 + .../template/scriptaculous_helper_test.rb | 12 +- .../test/template/tag_helper_test.rb | 15 +- .../test/template/text_helper_test.rb | 90 +- .../test/template/url_helper_test.rb | 262 +- vendor/rails/actionwebservice/CHANGELOG | 293 -- vendor/rails/actionwebservice/README | 364 -- vendor/rails/actionwebservice/Rakefile | 171 - vendor/rails/actionwebservice/TODO | 32 - .../examples/googlesearch/README | 143 - .../autoloading/google_search_api.rb | 50 - .../autoloading/google_search_controller.rb | 57 - .../delegated/google_search_service.rb | 108 - .../delegated/search_controller.rb | 7 - .../googlesearch/direct/google_search_api.rb | 50 - .../googlesearch/direct/search_controller.rb | 58 - .../examples/metaWeblog/README | 17 - .../examples/metaWeblog/apis/blogger_api.rb | 60 - .../metaWeblog/apis/blogger_service.rb | 34 - .../metaWeblog/apis/meta_weblog_api.rb | 67 - .../metaWeblog/apis/meta_weblog_service.rb | 48 - .../controllers/xmlrpc_controller.rb | 16 - vendor/rails/actionwebservice/install.rb | 30 - .../lib/action_web_service.rb | 66 - .../lib/action_web_service/api.rb | 249 - .../lib/action_web_service/base.rb | 42 - .../lib/action_web_service/casting.rb | 136 - .../lib/action_web_service/client.rb | 3 - .../lib/action_web_service/client/base.rb | 28 - .../action_web_service/client/soap_client.rb | 113 - .../client/xmlrpc_client.rb | 58 - .../lib/action_web_service/container.rb | 3 - .../container/action_controller_container.rb | 93 - .../container/delegated_container.rb | 86 - .../container/direct_container.rb | 69 - .../lib/action_web_service/dispatcher.rb | 2 - .../action_web_service/dispatcher/abstract.rb | 203 - .../action_controller_dispatcher.rb | 376 -- .../lib/action_web_service/invocation.rb | 202 - .../lib/action_web_service/protocol.rb | 4 - .../action_web_service/protocol/abstract.rb | 112 - .../action_web_service/protocol/discovery.rb | 37 - .../protocol/soap_protocol.rb | 176 - .../protocol/soap_protocol/marshaler.rb | 241 - .../protocol/xmlrpc_protocol.rb | 110 - .../lib/action_web_service/scaffolding.rb | 283 - .../lib/action_web_service/struct.rb | 68 - .../support/class_inheritable_options.rb | 26 - .../support/signature_types.rb | 222 - .../templates/scaffolds/layout.rhtml | 65 - .../templates/scaffolds/methods.rhtml | 6 - .../templates/scaffolds/parameters.rhtml | 29 - .../templates/scaffolds/result.rhtml | 30 - .../lib/action_web_service/test_invoke.rb | 110 - vendor/rails/actionwebservice/setup.rb | 1379 ----- .../actionwebservice/test/abstract_client.rb | 183 - .../test/abstract_dispatcher.rb | 505 -- .../actionwebservice/test/abstract_unit.rb | 45 - .../rails/actionwebservice/test/api_test.rb | 102 - .../test/apis/auto_load_api.rb | 3 - .../test/apis/broken_auto_load_api.rb | 2 - .../rails/actionwebservice/test/base_test.rb | 42 - .../actionwebservice/test/casting_test.rb | 86 - .../actionwebservice/test/client_soap_test.rb | 152 - .../test/client_xmlrpc_test.rb | 151 - .../actionwebservice/test/container_test.rb | 73 - .../dispatcher_action_controller_soap_test.rb | 137 - ...ispatcher_action_controller_xmlrpc_test.rb | 59 - .../test/fixtures/db_definitions/mysql.sql | 7 - .../actionwebservice/test/fixtures/users.yml | 10 - vendor/rails/actionwebservice/test/gencov | 3 - .../actionwebservice/test/invocation_test.rb | 185 - vendor/rails/actionwebservice/test/run | 6 - .../test/scaffolded_controller_test.rb | 146 - .../actionwebservice/test/struct_test.rb | 52 - .../actionwebservice/test/test_invoke_test.rb | 112 - vendor/rails/activerecord/CHANGELOG | 2476 ++++++++- vendor/rails/activerecord/MIT-LICENSE | 2 +- vendor/rails/activerecord/README | 16 +- vendor/rails/activerecord/RUNNING_UNIT_TESTS | 37 +- vendor/rails/activerecord/Rakefile | 201 +- .../activerecord/benchmarks/benchmark.rb | 26 - .../benchmarks/mysql_benchmark.rb | 19 - .../activerecord/examples/associations.rb | 87 - .../activerecord/examples/shared_setup.rb | 15 - .../rails/activerecord/examples/validation.rb | 85 - vendor/rails/activerecord/install.rb | 2 +- .../rails/activerecord/lib/active_record.rb | 35 +- .../lib/active_record/acts/list.rb | 256 - .../lib/active_record/acts/nested_set.rb | 211 - .../lib/active_record/acts/tree.rb | 96 - .../lib/active_record/aggregations.rb | 87 +- .../lib/active_record/associations.rb | 801 +-- .../associations/association_collection.rb | 86 +- .../associations/association_proxy.rb | 46 +- .../has_and_belongs_to_many_association.rb | 97 +- .../associations/has_many_association.rb | 78 +- .../has_many_through_association.rb | 77 +- .../associations/has_one_association.rb | 44 +- .../lib/active_record/attribute_methods.rb | 253 + .../activerecord/lib/active_record/base.rb | 1370 +++-- .../lib/active_record/calculations.rb | 123 +- .../lib/active_record/callbacks.rb | 138 +- .../abstract/connection_specification.rb | 47 +- .../abstract/database_statements.rb | 71 +- .../abstract/query_cache.rb | 87 + .../connection_adapters/abstract/quoting.rb | 35 +- .../abstract/schema_definitions.rb | 257 +- .../abstract/schema_statements.rb | 71 +- .../connection_adapters/abstract_adapter.rb | 45 +- .../connection_adapters/db2_adapter.rb | 228 - .../connection_adapters/firebird_adapter.rb | 728 --- .../connection_adapters/frontbase_adapter.rb | 861 ---- .../connection_adapters/mysql_adapter.rb | 156 +- .../connection_adapters/openbase_adapter.rb | 350 -- .../connection_adapters/oracle_adapter.rb | 690 --- .../connection_adapters/postgresql_adapter.rb | 701 ++- .../connection_adapters/sqlite3_adapter.rb | 34 + .../connection_adapters/sqlite_adapter.rb | 202 +- .../connection_adapters/sqlserver_adapter.rb | 591 --- .../connection_adapters/sybase_adapter.rb | 662 --- .../active_record/deprecated_associations.rb | 104 - .../lib/active_record/deprecated_finders.rb | 44 - .../lib/active_record/fixtures.rb | 646 ++- .../activerecord/lib/active_record/locking.rb | 79 - .../lib/active_record/locking/optimistic.rb | 108 +- .../lib/active_record/migration.rb | 137 +- .../lib/active_record/observer.rb | 23 +- .../lib/active_record/query_cache.rb | 73 +- .../lib/active_record/reflection.rb | 73 +- .../activerecord/lib/active_record/schema.rb | 10 +- .../lib/active_record/schema_dumper.rb | 48 +- .../lib/active_record/serialization.rb | 98 + .../serializers/json_serializer.rb | 71 + .../xml_serializer.rb} | 173 +- .../lib/active_record/timestamp.rb | 41 +- .../lib/active_record/transactions.rb | 82 +- .../lib/active_record/validations.rb | 398 +- .../lib/active_record/vendor/simple.rb | 693 --- .../activerecord/lib/active_record/version.rb | 6 +- .../active_record/wrappers/yaml_wrapper.rb | 15 - .../lib/active_record/wrappings.rb | 58 - vendor/rails/activerecord/lib/activerecord.rb | 1 + .../test/aaa_create_tables_test.rb | 17 +- .../rails/activerecord/test/abstract_unit.rb | 41 +- .../activerecord/test/active_schema_mysql.rb | 31 - .../test/active_schema_test_mysql.rb | 28 +- .../rails/activerecord/test/adapter_test.rb | 28 +- .../test/adapter_test_sqlserver.rb | 16 +- .../activerecord/test/aggregations_test.rb | 35 +- vendor/rails/activerecord/test/all.sh | 4 +- .../test/association_callbacks_test.rb | 124 - .../test/associations/callbacks_test.rb | 81 +- .../cascaded_eager_loading_test.rb | 30 +- .../eager_singularization_test.rb | 145 + .../test/associations/eager_test.rb | 48 +- .../test/associations/extension_test.rb | 7 +- .../inner_join_association_test.rb | 88 + .../test/associations/join_model_test.rb | 79 +- ...ssociations_cascaded_eager_loading_test.rb | 106 - .../test/associations_extensions_test.rb | 37 - .../test/associations_go_eager_test.rb | 359 -- .../test/associations_join_model_test.rb | 370 -- .../activerecord/test/associations_test.rb | 757 ++- .../test/attribute_methods_test.rb | 97 + vendor/rails/activerecord/test/base_test.rb | 358 +- vendor/rails/activerecord/test/binary_test.rb | 49 +- .../activerecord/test/calculations_test.rb | 42 +- .../rails/activerecord/test/callbacks_test.rb | 23 + .../test/connection_test_firebird.rb | 4 +- .../test/connection_test_mysql.rb | 30 + .../connections/native_mysql/connection.rb | 3 + .../connections/native_sqlite/connection.rb | 19 +- .../connections/native_sqlite3/connection.rb | 19 +- .../native_sqlite3/in_memory_connection.rb | 2 +- .../native_sqlserver/connection.rb | 23 - .../native_sqlserver_odbc/connection.rb | 25 - ...le_sqlite.rb => copy_table_test_sqlite.rb} | 11 +- .../test/datatype_test_postgresql.rb | 205 +- ...ty_date_time_test.rb => date_time_test.rb} | 14 +- .../rails/activerecord/test/defaults_test.rb | 9 +- .../test/deprecated_associations_test.rb | 396 -- .../test/deprecated_finder_test.rb | 135 +- vendor/rails/activerecord/test/finder_test.rb | 256 +- .../test/fixtures/all/developers.yml | 0 .../activerecord/test/fixtures/all/people.csv | 0 .../activerecord/test/fixtures/all/tasks.yml | 0 .../activerecord/test/fixtures/author.rb | 19 +- .../activerecord/test/fixtures/binaries.yml | 565 +- .../rails/activerecord/test/fixtures/book.rb | 4 + .../activerecord/test/fixtures/books.yml | 7 + .../activerecord/test/fixtures/category.rb | 6 + .../activerecord/test/fixtures/citation.rb | 6 + .../activerecord/test/fixtures/company.rb | 9 +- .../activerecord/test/fixtures/computer.rb | 1 + .../activerecord/test/fixtures/contact.rb | 16 + .../activerecord/test/fixtures/customer.rb | 4 +- .../test/fixtures/db_definitions/db2.drop.sql | 1 + .../test/fixtures/db_definitions/db2.sql | 4 + .../fixtures/db_definitions/firebird.drop.sql | 4 +- .../test/fixtures/db_definitions/firebird.sql | 6 + .../db_definitions/frontbase.drop.sql | 1 + .../fixtures/db_definitions/frontbase.sql | 5 + .../fixtures/db_definitions/mysql.drop.sql | 32 - .../test/fixtures/db_definitions/mysql.sql | 234 - .../fixtures/db_definitions/mysql2.drop.sql | 2 - .../test/fixtures/db_definitions/mysql2.sql | 5 - .../test/fixtures/db_definitions/openbase.sql | 66 +- .../fixtures/db_definitions/oracle.drop.sql | 2 + .../test/fixtures/db_definitions/oracle.sql | 5 + .../db_definitions/postgresql.drop.sql | 7 + .../fixtures/db_definitions/postgresql.sql | 145 +- .../fixtures/db_definitions/postgresql2.sql | 3 +- .../test/fixtures/db_definitions/schema.rb | 289 ++ .../test/fixtures/db_definitions/schema2.rb | 11 + .../fixtures/db_definitions/sqlite.drop.sql | 1 + .../test/fixtures/db_definitions/sqlite.sql | 4 + .../db_definitions/sqlserver.drop.sql | 34 - .../fixtures/db_definitions/sqlserver.sql | 243 - .../db_definitions/sqlserver2.drop.sql | 2 - .../fixtures/db_definitions/sqlserver2.sql | 5 - .../fixtures/db_definitions/sybase.drop.sql | 1 + .../test/fixtures/db_definitions/sybase.sql | 4 + .../activerecord/test/fixtures/developer.rb | 10 + .../activerecord/test/fixtures/example.log | 1 + .../activerecord/test/fixtures/flowers.jpg | Bin 19512 -> 5834 bytes .../rails/activerecord/test/fixtures/item.rb | 7 + .../activerecord/test/fixtures/items.yml | 4 + .../rails/activerecord/test/fixtures/joke.rb | 3 - .../rails/activerecord/test/fixtures/matey.rb | 4 + .../activerecord/test/fixtures/mateys.yml | 4 + .../test/fixtures/minimalistic.rb | 2 + .../test/fixtures/minimalistics.yml | 2 + .../rails/activerecord/test/fixtures/mixin.rb | 63 - .../activerecord/test/fixtures/mixins.yml | 102 +- .../activerecord/test/fixtures/parrot.rb | 13 + .../activerecord/test/fixtures/parrots.yml | 27 + .../test/fixtures/parrots_pirates.yml | 7 + .../activerecord/test/fixtures/pirate.rb | 5 + .../activerecord/test/fixtures/pirates.yml | 9 + .../rails/activerecord/test/fixtures/post.rb | 1 + .../activerecord/test/fixtures/project.rb | 5 +- .../test/fixtures/reserved_words/distinct.yml | 5 + .../reserved_words/distincts_selects.yml | 11 + .../test/fixtures/reserved_words/group.yml | 14 + .../test/fixtures/reserved_words/select.yml | 8 + .../test/fixtures/reserved_words/values.yml | 7 + .../rails/activerecord/test/fixtures/ship.rb | 3 + .../activerecord/test/fixtures/ships.yml | 5 + .../activerecord/test/fixtures/tagging.rb | 4 + .../activerecord/test/fixtures/taggings.yml | 9 +- .../rails/activerecord/test/fixtures/topic.rb | 14 +- .../activerecord/test/fixtures/treasure.rb | 4 + .../activerecord/test/fixtures/treasures.yml | 10 + .../rails/activerecord/test/fixtures_test.rb | 243 +- .../activerecord/test/inheritance_test.rb | 8 +- .../test/json_serialization_test.rb | 180 + .../rails/activerecord/test/lifecycle_test.rb | 2 +- .../rails/activerecord/test/locking_test.rb | 96 +- .../rails/activerecord/test/migration_test.rb | 246 +- .../test/mixin_nested_set_test.rb | 196 - vendor/rails/activerecord/test/mixin_test.rb | 528 +- vendor/rails/activerecord/test/pk_test.rb | 9 +- .../activerecord/test/query_cache_test.rb | 104 + .../activerecord/test/reflection_test.rb | 16 + .../test/reserved_word_test_mysql.rb | 177 + .../activerecord/test/schema_dumper_test.rb | 41 +- .../activerecord/test/serialization_test.rb | 47 + .../activerecord/test/transactions_test.rb | 97 +- .../activerecord/test/unconnected_test.rb | 2 +- .../activerecord/test/validations_test.rb | 362 +- .../test/xml_serialization_test.rb | 165 +- vendor/rails/activeresource/CHANGELOG | 223 + vendor/rails/activeresource/MIT-LICENSE | 20 + vendor/rails/activeresource/README | 165 + vendor/rails/activeresource/Rakefile | 133 + .../activeresource/lib/active_resource.rb | 47 + .../lib/active_resource/base.rb | 872 ++++ .../lib/active_resource/connection.rb | 172 + .../lib/active_resource/custom_methods.rb | 105 + .../lib/active_resource/formats.rb | 14 + .../active_resource/formats/json_format.rb | 23 + .../lib/active_resource/formats/xml_format.rb | 34 + .../lib/active_resource/http_mock.rb | 147 + .../lib/active_resource/validations.rb | 288 ++ .../lib/active_resource}/version.rb | 8 +- .../activeresource/lib/activeresource.rb | 1 + .../activeresource/test/abstract_unit.rb | 10 + .../activeresource/test/authorization_test.rb | 82 + .../test/base/custom_methods_test.rb | 96 + .../activeresource/test/base/equality_test.rb | 43 + .../activeresource/test/base/load_test.rb | 111 + .../activeresource/test/base_errors_test.rb | 48 + vendor/rails/activeresource/test/base_test.rb | 454 ++ .../activeresource/test/connection_test.rb | 170 + .../activeresource/test/fixtures/beast.rb | 14 + .../activeresource/test/fixtures/person.rb | 3 + .../test/fixtures/street_address.rb | 4 + .../rails/activeresource/test/format_test.rb | 42 + .../rails/activeresource/test/setter_trap.rb | 27 + vendor/rails/activesupport/CHANGELOG | 281 +- vendor/rails/activesupport/MIT-LICENSE | 2 +- vendor/rails/activesupport/Rakefile | 3 +- vendor/rails/activesupport/install.rb | 2 +- .../rails/activesupport/lib/active_support.rb | 13 +- .../lib/active_support/basic_object.rb | 5 + .../lib/active_support/binding_of_caller.rb | 84 - .../lib/active_support/breakpoint.rb | 528 -- .../lib/active_support/buffered_logger.rb | 107 + .../lib/active_support/caching_tools.rb | 62 - .../lib/active_support/clean_logger.rb | 99 +- .../lib/active_support/core_ext.rb | 5 +- .../lib/active_support/core_ext/array.rb | 10 +- .../active_support/core_ext/array/access.rb | 28 + .../core_ext/array/conversions.rb | 58 +- .../core_ext/array/extract_options.rb | 19 + .../active_support/core_ext/array/grouping.rb | 27 +- .../core_ext/array/random_access.rb | 12 + .../lib/active_support/core_ext/bigdecimal.rb | 3 +- .../{formatting.rb => conversions.rb} | 3 +- .../lib/active_support/core_ext/blank.rb | 10 +- .../lib/active_support/core_ext/cgi.rb | 4 +- .../lib/active_support/core_ext/class.rb | 7 +- .../core_ext/class/attribute_accessors.rb | 2 +- .../core_ext/class/delegating_attributes.rb | 40 + .../core_ext/class/inheritable_attributes.rb | 6 +- .../active_support/core_ext/class/removal.rb | 4 +- .../lib/active_support/core_ext/date.rb | 6 +- .../active_support/core_ext/date/behavior.rb | 13 + .../core_ext/date/calculations.rb | 188 + .../core_ext/date/conversions.rb | 97 +- .../lib/active_support/core_ext/date_time.rb | 10 + .../core_ext/date_time/calculations.rb | 77 + .../core_ext/date_time/conversions.rb | 74 + .../lib/active_support/core_ext/duplicable.rb | 37 + .../lib/active_support/core_ext/enumerable.rb | 1 + .../lib/active_support/core_ext/exception.rb | 4 +- .../lib/active_support/core_ext/file.rb | 21 + .../lib/active_support/core_ext/float.rb | 5 + .../active_support/core_ext/float/rounding.rb | 24 + .../lib/active_support/core_ext/hash.rb | 10 +- .../core_ext/hash/conversions.rb | 140 +- .../lib/active_support/core_ext/hash/diff.rb | 8 + .../active_support/core_ext/hash/except.rb | 24 + .../core_ext/hash/indifferent_access.rb | 18 +- .../lib/active_support/core_ext/hash/keys.rb | 17 +- .../core_ext/hash/reverse_merge.rb | 4 +- .../lib/active_support/core_ext/hash/slice.rb | 28 + .../lib/active_support/core_ext/integer.rb | 4 +- .../core_ext/integer/even_odd.rb | 8 +- .../lib/active_support/core_ext/kernel.rb | 9 +- .../core_ext/kernel/debugger.rb | 13 + .../lib/active_support/core_ext/module.rb | 15 +- .../core_ext/module/aliasing.rb | 22 +- .../module/attr_accessor_with_default.rb | 31 + .../core_ext/module/attribute_accessors.rb | 2 +- .../core_ext/module/delegation.rb | 21 + .../lib/active_support/core_ext/name_error.rb | 4 +- .../lib/active_support/core_ext/numeric.rb | 4 +- .../active_support/core_ext/numeric/time.rb | 41 +- .../lib/active_support/core_ext/object.rb | 6 +- .../core_ext/object/conversions.rb | 14 + .../core_ext/object/extending.rb | 69 +- .../core_ext/object/instance_variables.rb | 22 + .../active_support/core_ext/object/misc.rb | 33 +- .../lib/active_support/core_ext/pathname.rb | 2 +- .../lib/active_support/core_ext/range.rb | 8 +- .../core_ext/range/blockless_step.rb | 22 + .../core_ext/range/conversions.rb | 20 +- .../core_ext/range/include_range.rb | 22 + .../active_support/core_ext/range/overlaps.rb | 12 + .../lib/active_support/core_ext/string.rb | 24 +- .../core_ext/string/conversions.rb | 13 +- .../core_ext/string/starts_ends_with.rb | 7 + .../active_support/core_ext/string/unicode.rb | 4 +- .../active_support/core_ext/string/xchar.rb | 11 + .../lib/active_support/core_ext/symbol.rb | 22 +- .../lib/active_support/core_ext/test.rb | 1 + .../core_ext/test/unit/assertions.rb | 62 + .../lib/active_support/core_ext/time.rb | 6 +- .../active_support/core_ext/time/behavior.rb | 13 + .../core_ext/time/calculations.rb | 141 +- .../core_ext/time/conversions.rb | 85 +- .../lib/active_support/dependencies.rb | 63 +- .../lib/active_support/deprecation.rb | 6 +- .../lib/active_support/duration.rb | 96 + .../lib/active_support/inflections.rb | 3 +- .../lib/active_support/inflector.rb | 19 +- .../activesupport/lib/active_support/json.rb | 61 +- .../lib/active_support/json/decoding.rb | 60 + .../lib/active_support/json/encoders.rb | 25 - .../lib/active_support/json/encoders/core.rb | 70 - .../lib/active_support/json/encoders/date.rb | 5 + .../active_support/json/encoders/date_time.rb | 5 + .../json/encoders/enumerable.rb | 12 + .../json/encoders/false_class.rb | 5 + .../lib/active_support/json/encoders/hash.rb | 50 + .../active_support/json/encoders/nil_class.rb | 5 + .../active_support/json/encoders/numeric.rb | 5 + .../active_support/json/encoders/object.rb | 6 + .../active_support/json/encoders/regexp.rb | 5 + .../active_support/json/encoders/string.rb | 30 + .../active_support/json/encoders/symbol.rb | 5 + .../lib/active_support/json/encoders/time.rb | 5 + .../json/encoders/true_class.rb | 5 + .../lib/active_support/json/encoding.rb | 38 + .../lib/active_support/json/variable.rb | 10 + .../lib/active_support/multibyte.rb | 12 +- .../lib/active_support/multibyte/chars.rb | 16 +- .../multibyte/handlers/utf8_handler.rb | 120 +- .../lib/active_support/option_merger.rb | 14 +- .../lib/active_support/ordered_options.rb | 39 +- .../lib/active_support/reloadable.rb | 60 - .../lib/active_support/test_case.rb | 5 + .../lib/active_support/testing.rb | 1 + .../lib/active_support/testing/default.rb | 12 + .../lib/active_support/values/time_zone.rb | 15 +- .../lib/active_support/vendor.rb | 14 + .../vendor/builder-2.1.2/blankslate.rb | 113 + .../vendor/{ => builder-2.1.2}/builder.rb | 0 .../builder-2.1.2/builder/blankslate.rb | 20 + .../vendor/builder-2.1.2/builder/css.rb | 250 + .../{ => builder-2.1.2}/builder/xchar.rb | 19 +- .../{ => builder-2.1.2}/builder/xmlbase.rb | 82 +- .../{ => builder-2.1.2}/builder/xmlevents.rb | 2 +- .../{ => builder-2.1.2}/builder/xmlmarkup.rb | 79 +- .../vendor/builder/blankslate.rb | 63 - .../xmlsimple.rb} | 6 +- .../lib/active_support/version.rb | 6 +- .../lib/active_support/whiny_nil.rb | 24 +- .../rails/activesupport/lib/activesupport.rb | 1 + .../rails/activesupport/test/abstract_unit.rb | 13 + .../test/buffered_logger_test.rb | 107 + .../activesupport/test/caching_tools_test.rb | 79 - .../test/class_inheritable_attributes_test.rb | 141 - .../activesupport/test/clean_logger_test.rb | 47 +- .../test/core_ext/array_ext_test.rb | 80 +- .../activesupport/test/core_ext/blank_test.rb | 16 +- .../class_inheritable_attributes_test.rb | 16 + .../class/delegating_attributes_test.rb | 105 + .../activesupport/test/core_ext/class_test.rb | 10 + .../test/core_ext/date_ext_test.rb | 184 +- .../test/core_ext/date_time_ext_test.rb | 230 + .../test/core_ext/duplicable_test.rb | 22 + .../test/core_ext/duration_test.rb | 21 + .../test/core_ext/enumerable_test.rb | 20 +- .../activesupport/test/core_ext/file_test.rb | 29 + .../test/core_ext/float_ext_test.rb | 25 + .../test/core_ext/hash_ext_test.rb | 290 +- ....rb => attr_accessor_with_default_test.rb} | 2 +- .../core_ext/module/attr_internal_test.rb | 22 +- .../module/attribute_accessor_test.rb | 14 +- .../module/attribute_aliasing_test.rb | 31 +- .../test/core_ext/module_test.rb | 118 +- .../test/core_ext/numeric_ext_test.rb | 92 +- .../core_ext/object_and_class_ext_test.rb | 105 +- .../test/core_ext/range_ext_test.rb | 50 + .../test/core_ext/string_ext_test.rb | 52 +- .../test/core_ext/time_ext_test.rb | 125 +- .../activesupport/test/dependencies_test.rb | 61 +- .../activesupport/test/inflector_test.rb | 254 +- .../test/inflector_test_cases.rb | 208 + vendor/rails/activesupport/test/json.rb | 87 - .../activesupport/test/json/decoding_test.rb | 41 + .../activesupport/test/json/encoding_test.rb | 111 + vendor/rails/activesupport/test/json_test.rb | 97 - .../test/multibyte_chars_test.rb | 11 +- .../test/multibyte_conformance.rb | 4 +- .../test/multibyte_handler_test.rb | 97 +- .../test/ordered_options_test.rb | 6 +- .../activesupport/test/reloadable_test.rb | 123 - vendor/rails/activesupport/test/test_test.rb | 73 + .../activesupport/test/time_zone_test.rb | 13 +- vendor/rails/cleanlogs.sh | 1 - vendor/rails/pushgems.rb | 15 - vendor/rails/railties/CHANGELOG | 527 +- vendor/rails/railties/MIT-LICENSE | 2 +- vendor/rails/railties/README | 42 +- vendor/rails/railties/Rakefile | 59 +- vendor/rails/railties/bin/about | 2 +- vendor/rails/railties/bin/breakpointer | 3 - vendor/rails/railties/bin/console | 2 +- vendor/rails/railties/bin/destroy | 2 +- vendor/rails/railties/bin/generate | 2 +- vendor/rails/railties/bin/performance/request | 3 + vendor/rails/railties/bin/plugin | 2 +- vendor/rails/railties/bin/runner | 2 +- vendor/rails/railties/bin/server | 2 +- .../railties/builtin/rails_info/rails/info.rb | 6 +- vendor/rails/railties/configs/apache.conf | 2 +- .../railties/configs/databases/mysql.yml | 14 +- .../railties/configs/databases/postgresql.yml | 28 +- .../railties/configs/databases/sqlite3.yml | 2 +- .../configs/initializers/inflections.rb | 10 + .../configs/initializers/mime_types.rb | 5 + vendor/rails/railties/configs/routes.rb | 34 +- vendor/rails/railties/doc/README_FOR_APP | 2 +- vendor/rails/railties/environments/boot.rb | 128 +- .../railties/environments/development.rb | 7 +- .../railties/environments/environment.rb | 49 +- .../rails/railties/environments/production.rb | 1 + vendor/rails/railties/environments/test.rb | 5 +- vendor/rails/railties/helpers/application.rb | 7 +- vendor/rails/railties/helpers/test_helper.rb | 10 + vendor/rails/railties/html/422.html | 30 + vendor/rails/railties/html/500.html | 2 +- vendor/rails/railties/html/index.html | 4 +- .../railties/html/javascripts/controls.js | 848 +-- .../railties/html/javascripts/dragdrop.js | 146 +- .../railties/html/javascripts/effects.js | 760 +-- .../railties/html/javascripts/prototype.js | 4540 ++++++++++++----- vendor/rails/railties/html/robots.txt | 6 +- .../rails/railties/lib/binding_of_caller.rb | 85 - vendor/rails/railties/lib/breakpoint.rb | 553 -- .../rails/railties/lib/breakpoint_client.rb | 196 - .../railties/lib/commands/breakpointer.rb | 1 - vendor/rails/railties/lib/commands/console.rb | 17 +- .../lib/commands/performance/request.rb | 6 + vendor/rails/railties/lib/commands/plugin.rb | 29 +- .../railties/lib/commands/process/spawner.rb | 18 +- vendor/rails/railties/lib/commands/runner.rb | 2 +- .../railties/lib/commands/servers/base.rb | 12 + .../railties/lib/commands/servers/mongrel.rb | 6 +- .../railties/lib/commands/servers/webrick.rb | 21 +- vendor/rails/railties/lib/console_app.rb | 7 +- .../railties/lib/console_with_helpers.rb | 7 +- vendor/rails/railties/lib/dispatcher.rb | 154 +- vendor/rails/railties/lib/fcgi_handler.rb | 158 +- vendor/rails/railties/lib/initializer.rb | 294 +- vendor/rails/railties/lib/rails/plugin.rb | 84 + .../rails/railties/lib/rails/plugin/loader.rb | 150 + .../railties/lib/rails/plugin/locator.rb | 78 + vendor/rails/railties/lib/rails/version.rb | 6 +- .../railties/lib/rails_generator/base.rb | 20 +- .../railties/lib/rails_generator/commands.rb | 38 +- .../generators/applications/app/USAGE | 7 - .../applications/app/app_generator.rb | 33 +- .../generators/components/controller/USAGE | 23 +- .../controller/controller_generator.rb | 4 +- .../controller/templates/functional_test.rb | 12 +- .../templates/{view.rhtml => view.html.erb} | 0 .../components/integration_test/USAGE | 16 +- .../generators/components/mailer/USAGE | 18 +- .../components/mailer/mailer_generator.rb | 6 +- .../components/mailer/templates/fixture.erb | 3 + .../components/mailer/templates/fixture.rhtml | 3 - .../components/mailer/templates/unit_test.rb | 32 +- .../components/mailer/templates/view.erb | 3 + .../components/mailer/templates/view.rhtml | 3 - .../generators/components/migration/USAGE | 31 +- .../migration/migration_generator.rb | 17 +- .../migration/templates/migration.rb | 8 +- .../generators/components/model/USAGE | 29 +- .../components/model/model_generator.rb | 13 +- .../components/model/templates/fixtures.yml | 14 +- .../components/model/templates/migration.rb | 5 +- .../components/model/templates/unit_test.rb | 4 +- .../generators/components/observer/USAGE | 12 +- .../observer/templates/unit_test.rb | 2 - .../generators/components/plugin/USAGE | 26 +- .../components/plugin/plugin_generator.rb | 1 + .../components/plugin/templates}/MIT-LICENSE | 3 +- .../components/plugin/templates/README | 11 +- .../components/plugin/templates/USAGE | 2 +- .../components/plugin/templates/init.rb | 2 +- .../components/plugin/templates/plugin.rb | 2 +- .../components/plugin/templates/tasks.rake | 2 +- .../generators/components/resource/USAGE | 23 + .../components/resource/resource_generator.rb | 28 +- .../components/resource/templates/USAGE | 18 - .../resource/templates/controller.rb | 2 +- .../resource/templates/fixtures.yml | 11 - .../resource/templates/functional_test.rb | 16 +- .../resource/templates/migration.rb | 13 - .../components/resource/templates/model.rb | 2 - .../resource/templates/unit_test.rb | 10 - .../generators/components/scaffold/USAGE | 45 +- .../components/scaffold/scaffold_generator.rb | 187 +- .../scaffold/templates/controller.rb | 115 +- .../components/scaffold/templates/form.rhtml | 3 - .../scaffold/templates/form_scaffolding.rhtml | 1 - .../scaffold/templates/functional_test.rb | 107 +- .../{layout.rhtml => layout.html.erb} | 0 .../components/scaffold/templates/style.css | 2 +- .../templates/view_edit.html.erb} | 8 +- .../scaffold/templates/view_edit.rhtml | 9 - .../templates/view_index.html.erb} | 8 +- .../scaffold/templates/view_list.rhtml | 27 - .../templates/view_new.html.erb} | 6 +- .../scaffold/templates/view_new.rhtml | 8 - .../templates/view_show.html.erb} | 2 +- .../scaffold/templates/view_show.rhtml | 8 - .../components/scaffold_resource/USAGE | 29 - .../scaffold_resource_generator.rb | 93 - .../scaffold_resource/templates/controller.rb | 79 - .../scaffold_resource/templates/fixtures.yml | 11 - .../templates/functional_test.rb | 57 - .../scaffold_resource/templates/helper.rb | 2 - .../scaffold_resource/templates/layout.rhtml | 17 - .../scaffold_resource/templates/migration.rb | 13 - .../scaffold_resource/templates/model.rb | 2 - .../scaffold_resource/templates/style.css | 74 - .../scaffold_resource/templates/unit_test.rb | 10 - .../components/session_migration/USAGE | 17 +- .../session_migration/templates/migration.rb | 6 +- .../generators/components/web_service/USAGE | 28 - .../web_service/templates/api_definition.rb | 5 - .../web_service/templates/controller.rb | 8 - .../web_service/templates/functional_test.rb | 19 - .../web_service/web_service_generator.rb | 29 - .../railties/lib/rails_generator/lookup.rb | 55 +- .../railties/lib/rails_generator/scripts.rb | 9 +- .../lib/rails_generator/scripts/destroy.rb | 23 + .../rails_generator/secret_key_generator.rb | 160 + .../railties/lib/rails_generator/spec.rb | 2 +- .../lib/source_annotation_extractor.rb | 62 + .../rails/railties/lib/tasks/annotations.rake | 23 + .../rails/railties/lib/tasks/databases.rake | 342 +- .../railties/lib/tasks/documentation.rake | 24 +- .../rails/railties/lib/tasks/framework.rake | 22 +- vendor/rails/railties/lib/tasks/misc.rake | 8 +- .../lib/tasks/pre_namespace_aliases.rake | 53 - vendor/rails/railties/lib/tasks/rails.rb | 2 +- vendor/rails/railties/lib/tasks/testing.rake | 12 +- vendor/rails/railties/lib/test_help.rb | 7 +- vendor/rails/railties/pkg/rails-2.0.2.gem | Bin 0 -> 183808 bytes vendor/rails/railties/test/abstract_unit.rb | 18 +- vendor/rails/railties/test/boot_test.rb | 179 + .../rails/railties/test/console_app_test.rb | 29 + vendor/rails/railties/test/dispatcher_test.rb | 141 - .../railties/test/fcgi_dispatcher_test.rb | 333 +- .../fixtures/environment_with_constant.rb | 2 +- .../default/plugin_with_no_lib_dir/init.rb | 0 .../test/generators/generator_test_helper.rb | 195 + .../generators/rails_model_generator_test.rb | 109 + .../rails_resource_generator_test.rb | 106 + .../rails_scaffold_generator_test.rb | 185 + .../generators/working/working_generator.rb | 2 - .../rails/railties/test/initializer_test.rb | 223 +- .../rails/railties/test/mocks/dispatcher.rb | 13 - vendor/rails/railties/test/mocks/fcgi.rb | 15 - .../railties/test/mocks/stubbed_breakpoint.rb | 2 - .../railties/test/mocks/stubbed_kernel.rb | 5 - .../rails/railties/test/plugin_loader_test.rb | 140 + .../railties/test/plugin_locator_test.rb | 69 + vendor/rails/railties/test/plugin_test.rb | 238 +- .../rails/railties/test/plugin_test_helper.rb | 29 + .../railties/test/rails_generator_test.rb | 40 +- vendor/rails/railties/test/rails_info_test.rb | 7 + .../test/secret_key_generation_test.rb | 35 + .../railties/test/webrick_dispatcher_test.rb | 27 - vendor/rails/release.rb | 25 - 1083 files changed, 52810 insertions(+), 41058 deletions(-) create mode 100644 vendor/rails/actionmailer/lib/action_mailer/test_case.rb create mode 100644 vendor/rails/actionmailer/lib/action_mailer/test_helper.rb create mode 100644 vendor/rails/actionmailer/lib/action_mailer/vendor.rb rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => text-format-0.6.3}/text/format.rb (100%) create mode 100755 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail.rb create mode 100644 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/Makefile rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/address.rb (99%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/attachments.rb (87%) create mode 100755 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/base64.rb create mode 100644 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/compat.rb rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/config.rb (97%) create mode 100644 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/encode.rb (95%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/facade.rb (100%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/header.rb (96%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/info.rb (100%) create mode 100644 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/interface.rb rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/loader.rb (100%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/mail.rb (94%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/mailbox.rb (99%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/mbox.rb (100%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/net.rb (99%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/obsolete.rb (98%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/parser.rb (70%) create mode 100644 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.y rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/port.rb (99%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/quoting.rb (91%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/scanner.rb (97%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/scanner_r.rb (99%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/stringio.rb (97%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/tmail.rb (100%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{ => tmail-1.1.0}/tmail/utils.rb (74%) rename vendor/rails/actionmailer/lib/action_mailer/vendor/{tmail/base64.rb => tmail-1.1.0/tmail/version.rb} (57%) mode change 100755 => 100644 delete mode 100755 vendor/rails/actionmailer/lib/action_mailer/vendor/tmail.rb create mode 100644 vendor/rails/actionmailer/lib/actionmailer.rb create mode 100644 vendor/rails/actionmailer/test/delivery_method_test.rb create mode 100644 vendor/rails/actionmailer/test/fixtures/first_mailer/share.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb rename vendor/rails/{railties/test/generators/missing_class/missing_class_generator.rb => actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml} (100%) create mode 100644 vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb delete mode 100644 vendor/rails/actionmailer/test/fixtures/helper_mailer/use_test_helper.rhtml rename vendor/rails/actionmailer/test/fixtures/helpers/{test_helper.rb => example_helper.rb} (57%) create mode 100644 vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/raw_base64_decoded_string create mode 100644 vendor/rails/actionmailer/test/fixtures/raw_base64_encoded_string delete mode 100644 vendor/rails/actionmailer/test/fixtures/raw_email11 create mode 100644 vendor/rails/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type create mode 100644 vendor/rails/actionmailer/test/fixtures/raw_email_with_nested_attachment create mode 100644 vendor/rails/actionmailer/test/fixtures/second_mailer/share.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/templates/signed_up.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.builder create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.rxml create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.erb create mode 100644 vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb create mode 100644 vendor/rails/actionmailer/test/test_helper_test.rb mode change 100755 => 100644 vendor/rails/actionpack/README mode change 100755 => 100644 vendor/rails/actionpack/Rakefile delete mode 100644 vendor/rails/actionpack/examples/.htaccess delete mode 100644 vendor/rails/actionpack/examples/address_book/index.rhtml delete mode 100644 vendor/rails/actionpack/examples/address_book/layout.rhtml delete mode 100755 vendor/rails/actionpack/examples/address_book_controller.cgi delete mode 100755 vendor/rails/actionpack/examples/address_book_controller.fcgi delete mode 100644 vendor/rails/actionpack/examples/address_book_controller.rb delete mode 100644 vendor/rails/actionpack/examples/address_book_controller.rbx delete mode 100644 vendor/rails/actionpack/examples/benchmark.rb delete mode 100755 vendor/rails/actionpack/examples/benchmark_with_ar.fcgi delete mode 100755 vendor/rails/actionpack/examples/blog_controller.cgi delete mode 100644 vendor/rails/actionpack/examples/debate/index.rhtml delete mode 100644 vendor/rails/actionpack/examples/debate/new_topic.rhtml delete mode 100644 vendor/rails/actionpack/examples/debate/topic.rhtml delete mode 100755 vendor/rails/actionpack/examples/debate_controller.cgi delete mode 100644 vendor/rails/actionpack/filler.txt delete mode 100644 vendor/rails/actionpack/lib/action_controller/assertions/deprecated_assertions.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/cgi_ext.rb delete mode 100755 vendor/rails/actionpack/lib/action_controller/cgi_ext/cgi_ext.rb delete mode 100755 vendor/rails/actionpack/lib/action_controller/cgi_ext/cgi_methods.rb rename vendor/rails/actionpack/lib/action_controller/cgi_ext/{cookie_performance_fix.rb => cookie.rb} (67%) delete mode 100644 vendor/rails/actionpack/lib/action_controller/cgi_ext/pstore_performance_fix.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/cgi_ext/query_extension.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/cgi_ext/session.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/cgi_ext/session_performance_fix.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/cgi_ext/stdinput.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/code_generation.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/dependencies.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/deprecated_assertions.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/deprecated_dependencies.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/deprecated_redirects.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/deprecated_request_methods.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/dispatcher.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/http_authentication.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/macros/auto_complete.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/macros/in_place_editing.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/mime_types.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/pagination.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/polymorphic_routes.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/record_identifier.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/request_forgery_protection.rb create mode 100755 vendor/rails/actionpack/lib/action_controller/request_profiler.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/routing_optimisation.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/scaffolding.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.erb delete mode 100644 vendor/rails/actionpack/lib/action_controller/templates/rescues/_request_and_response.rhtml rename vendor/rails/actionpack/lib/action_controller/templates/rescues/{_trace.rhtml => _trace.erb} (100%) rename vendor/rails/actionpack/lib/action_controller/templates/rescues/{diagnostics.rhtml => diagnostics.erb} (68%) rename vendor/rails/actionpack/lib/action_controller/templates/rescues/{layout.rhtml => layout.erb} (100%) rename vendor/rails/actionpack/lib/action_controller/templates/rescues/{missing_template.rhtml => missing_template.erb} (100%) rename vendor/rails/actionpack/lib/action_controller/templates/rescues/{routing_error.rhtml => routing_error.erb} (100%) rename vendor/rails/actionpack/lib/action_controller/templates/rescues/{template_error.rhtml => template_error.erb} (83%) rename vendor/rails/actionpack/lib/action_controller/templates/rescues/{unknown_action.rhtml => unknown_action.erb} (100%) delete mode 100644 vendor/rails/actionpack/lib/action_controller/templates/scaffolds/edit.rhtml delete mode 100644 vendor/rails/actionpack/lib/action_controller/templates/scaffolds/layout.rhtml delete mode 100644 vendor/rails/actionpack/lib/action_controller/templates/scaffolds/list.rhtml delete mode 100644 vendor/rails/actionpack/lib/action_controller/templates/scaffolds/new.rhtml delete mode 100644 vendor/rails/actionpack/lib/action_controller/templates/scaffolds/show.rhtml create mode 100644 vendor/rails/actionpack/lib/action_controller/test_case.rb create mode 100644 vendor/rails/actionpack/lib/action_controller/vendor/html-scanner/html/sanitizer.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/vendor/xml_node.rb delete mode 100644 vendor/rails/actionpack/lib/action_controller/vendor/xml_simple.rb create mode 100644 vendor/rails/actionpack/lib/action_view/helpers/atom_feed_helper.rb delete mode 100644 vendor/rails/actionpack/lib/action_view/helpers/deprecated_helper.rb delete mode 100644 vendor/rails/actionpack/lib/action_view/helpers/java_script_macros_helper.rb delete mode 100644 vendor/rails/actionpack/lib/action_view/helpers/pagination_helper.rb create mode 100644 vendor/rails/actionpack/lib/action_view/helpers/record_identification_helper.rb create mode 100644 vendor/rails/actionpack/lib/action_view/helpers/record_tag_helper.rb create mode 100644 vendor/rails/actionpack/lib/action_view/helpers/sanitize_helper.rb create mode 100644 vendor/rails/actionpack/lib/action_view/template_handler.rb create mode 100644 vendor/rails/actionpack/lib/action_view/template_handlers/builder.rb create mode 100644 vendor/rails/actionpack/lib/action_view/template_handlers/erb.rb create mode 100644 vendor/rails/actionpack/lib/action_view/template_handlers/rjs.rb create mode 100644 vendor/rails/actionpack/lib/actionpack.rb create mode 100644 vendor/rails/actionpack/test/action_view_test.rb delete mode 100644 vendor/rails/actionpack/test/activerecord/active_record_assertions_test.rb delete mode 100644 vendor/rails/actionpack/test/activerecord/pagination_test.rb create mode 100644 vendor/rails/actionpack/test/activerecord/render_partial_with_record_identification_test.rb delete mode 100644 vendor/rails/actionpack/test/controller/caching_filestore.rb delete mode 100644 vendor/rails/actionpack/test/controller/deprecated_instance_variables_test.rb create mode 100644 vendor/rails/actionpack/test/controller/dispatcher_test.rb create mode 100644 vendor/rails/actionpack/test/controller/fake_models.rb create mode 100644 vendor/rails/actionpack/test/controller/html-scanner/document_test.rb create mode 100644 vendor/rails/actionpack/test/controller/html-scanner/node_test.rb create mode 100644 vendor/rails/actionpack/test/controller/html-scanner/sanitizer_test.rb create mode 100644 vendor/rails/actionpack/test/controller/html-scanner/tag_node_test.rb create mode 100644 vendor/rails/actionpack/test/controller/html-scanner/text_node_test.rb create mode 100644 vendor/rails/actionpack/test/controller/html-scanner/tokenizer_test.rb create mode 100644 vendor/rails/actionpack/test/controller/http_authentication_test.rb create mode 100644 vendor/rails/actionpack/test/controller/polymorphic_routes_test.rb delete mode 100644 vendor/rails/actionpack/test/controller/raw_post_test.rb create mode 100644 vendor/rails/actionpack/test/controller/record_identifier_test.rb create mode 100644 vendor/rails/actionpack/test/controller/request_forgery_protection_test.rb create mode 100644 vendor/rails/actionpack/test/controller/rescue_test.rb create mode 100755 vendor/rails/actionpack/test/controller/session/cookie_store_test.rb create mode 100644 vendor/rails/actionpack/test/controller/session/mem_cache_store_test.rb create mode 100644 vendor/rails/actionpack/test/controller/session_fixation_test.rb create mode 100644 vendor/rails/actionpack/test/controller/view_paths_test.rb rename vendor/rails/actionpack/test/fixtures/addresses/{list.rhtml => list.erb} (100%) delete mode 100644 vendor/rails/actionpack/test/fixtures/application_root/app/controllers/a_class_that_contains_a_controller/poorly_placed_controller.rb delete mode 100644 vendor/rails/actionpack/test/fixtures/application_root/app/controllers/module_that_holds_controllers/nested_controller.rb delete mode 100644 vendor/rails/actionpack/test/fixtures/application_root/app/models/a_class_that_contains_a_controller.rb delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_cookies_ivar.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_cookies_method.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_flash_ivar.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_flash_method.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_headers_ivar.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_headers_method.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_params_ivar.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_params_method.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_request_ivar.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_request_method.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_response_ivar.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_response_method.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_session_ivar.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/deprecated_instance_variables/_session_method.rhtml delete mode 100644 vendor/rails/actionpack/test/fixtures/dont_load.rb rename vendor/rails/actionpack/test/fixtures/fun/games/{hello_world.rhtml => hello_world.erb} (100%) create mode 100644 vendor/rails/actionpack/test/fixtures/layout_tests/alt/hello.rhtml create mode 100644 vendor/rails/actionpack/test/fixtures/layout_tests/layouts/multiple_extensions.html.erb rename vendor/rails/actionpack/test/fixtures/layouts/{builder.rxml => builder.builder} (100%) rename vendor/rails/actionpack/test/fixtures/layouts/{standard.rhtml => standard.erb} (100%) rename vendor/rails/actionpack/test/fixtures/layouts/{talk_from_action.rhtml => talk_from_action.erb} (100%) rename vendor/rails/actionpack/test/fixtures/layouts/{yield.rhtml => yield.erb} (100%) create mode 100644 vendor/rails/actionpack/test/fixtures/multipart/bracketed_param create mode 100644 vendor/rails/actionpack/test/fixtures/override/test/hello_world.erb create mode 100644 vendor/rails/actionpack/test/fixtures/override2/layouts/test/sub.erb create mode 100644 vendor/rails/actionpack/test/fixtures/post_test/layouts/post.html.erb create mode 100644 vendor/rails/actionpack/test/fixtures/post_test/layouts/super_post.iphone.erb create mode 100644 vendor/rails/actionpack/test/fixtures/post_test/post/index.html.erb create mode 100644 vendor/rails/actionpack/test/fixtures/post_test/post/index.iphone.erb create mode 100644 vendor/rails/actionpack/test/fixtures/post_test/super_post/index.html.erb create mode 100644 vendor/rails/actionpack/test/fixtures/post_test/super_post/index.iphone.erb create mode 100644 vendor/rails/actionpack/test/fixtures/public/404.html create mode 100644 vendor/rails/actionpack/test/fixtures/public/500.html create mode 100644 vendor/rails/actionpack/test/fixtures/public/javascripts/bank.js create mode 100644 vendor/rails/actionpack/test/fixtures/public/javascripts/robber.js create mode 100644 vendor/rails/actionpack/test/fixtures/public/stylesheets/bank.css create mode 100644 vendor/rails/actionpack/test/fixtures/public/stylesheets/robber.css rename vendor/rails/actionpack/test/fixtures/respond_to/{all_types_with_layout.rhtml => all_types_with_layout.html.erb} (100%) rename vendor/rails/actionpack/test/fixtures/respond_to/{all_types_with_layout.rjs => all_types_with_layout.js.rjs} (100%) create mode 100644 vendor/rails/actionpack/test/fixtures/respond_to/custom_constant_handling_without_block.mobile.erb create mode 100644 vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.html.erb create mode 100644 vendor/rails/actionpack/test/fixtures/respond_to/iphone_with_html_response_type.iphone.erb create mode 100644 vendor/rails/actionpack/test/fixtures/respond_to/layouts/missing.html.erb create mode 100644 vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.html.erb create mode 100644 vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.iphone.erb delete mode 100644 vendor/rails/actionpack/test/fixtures/respond_to/layouts/standard.rhtml rename vendor/rails/actionpack/test/fixtures/respond_to/{using_defaults.rhtml => using_defaults.html.erb} (100%) rename vendor/rails/actionpack/test/fixtures/respond_to/{using_defaults.rjs => using_defaults.js.rjs} (100%) rename vendor/rails/actionpack/test/fixtures/respond_to/{using_defaults.rxml => using_defaults.xml.builder} (100%) rename vendor/rails/actionpack/test/fixtures/respond_to/{using_defaults_with_type_list.rhtml => using_defaults_with_type_list.html.erb} (100%) rename vendor/rails/actionpack/test/fixtures/respond_to/{using_defaults_with_type_list.rjs => using_defaults_with_type_list.js.rjs} (100%) rename vendor/rails/actionpack/test/fixtures/respond_to/{using_defaults_with_type_list.rxml => using_defaults_with_type_list.xml.builder} (100%) rename vendor/rails/actionpack/test/fixtures/scope/test/{modgreet.rhtml => modgreet.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{_customer.rhtml => _customer.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{_customer_greeting.rhtml => _customer_greeting.erb} (100%) create mode 100644 vendor/rails/actionpack/test/fixtures/test/_hash_greeting.erb create mode 100644 vendor/rails/actionpack/test/fixtures/test/_hash_object.erb delete mode 100644 vendor/rails/actionpack/test/fixtures/test/_hash_object.rhtml rename vendor/rails/actionpack/test/fixtures/test/{_hello.rxml => _hello.builder} (100%) create mode 100644 vendor/rails/actionpack/test/fixtures/test/_layout_for_partial.html.erb create mode 100644 vendor/rails/actionpack/test/fixtures/test/_partial.erb create mode 100644 vendor/rails/actionpack/test/fixtures/test/_partial.html.erb create mode 100644 vendor/rails/actionpack/test/fixtures/test/_partial.js.erb create mode 100644 vendor/rails/actionpack/test/fixtures/test/_partial_for_use_in_layout.html.erb rename vendor/rails/actionpack/test/fixtures/test/{_partial_only.rhtml => _partial_only.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{_person.rhtml => _person.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{action_talk_to_layout.rhtml => action_talk_to_layout.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{block_content_for.rhtml => block_content_for.erb} (100%) create mode 100644 vendor/rails/actionpack/test/fixtures/test/calling_partial_with_layout.html.erb rename vendor/rails/actionpack/test/fixtures/test/{capturing.rhtml => capturing.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{content_for.rhtml => content_for.erb} (100%) create mode 100644 vendor/rails/actionpack/test/fixtures/test/content_for_concatenated.erb create mode 100644 vendor/rails/actionpack/test/fixtures/test/content_for_with_parameter.erb rename vendor/rails/actionpack/test/fixtures/test/dot.directory/{render_file_with_ivar.rhtml => render_file_with_ivar.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{erb_content_for.rhtml => erb_content_for.erb} (100%) create mode 100644 vendor/rails/actionpack/test/fixtures/test/formatted_html_erb.html.erb create mode 100644 vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.builder create mode 100644 vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.html.erb create mode 100644 vendor/rails/actionpack/test/fixtures/test/formatted_xml_erb.xml.erb rename vendor/rails/actionpack/test/fixtures/test/{greeting.rhtml => greeting.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{hello.rxml => hello.builder} (100%) rename vendor/rails/actionpack/test/fixtures/test/{hello_world.rhtml => hello_world.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{hello_world_container.rxml => hello_world_container.builder} (100%) rename vendor/rails/actionpack/test/fixtures/test/{hello_world.rxml => hello_world_from_rxml.builder} (100%) rename vendor/rails/actionpack/test/fixtures/test/{hello_world_with_layout_false.rhtml => hello_world_with_layout_false.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{hello_xml_world.rxml => hello_xml_world.builder} (100%) create mode 100644 vendor/rails/actionpack/test/fixtures/test/list.erb delete mode 100644 vendor/rails/actionpack/test/fixtures/test/list.rhtml rename vendor/rails/actionpack/test/fixtures/test/{non_erb_block_content_for.rxml => non_erb_block_content_for.builder} (100%) rename vendor/rails/actionpack/test/fixtures/test/{potential_conflicts.rhtml => potential_conflicts.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{render_file_with_ivar.rhtml => render_file_with_ivar.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{render_file_with_locals.rhtml => render_file_with_locals.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{render_to_string_test.rhtml => render_to_string_test.erb} (100%) rename vendor/rails/actionpack/test/fixtures/test/{update_element_with_capture.rhtml => update_element_with_capture.erb} (100%) create mode 100644 vendor/rails/actionpack/test/fixtures/test/using_layout_around_block.html.erb create mode 100644 vendor/rails/actionpack/test/template/atom_feed_helper_test.rb delete mode 100644 vendor/rails/actionpack/test/template/deprecated_helper_test.rb delete mode 100644 vendor/rails/actionpack/test/template/deprecated_instance_variables_test.rb create mode 100644 vendor/rails/actionpack/test/template/erb_util_test.rb delete mode 100644 vendor/rails/actionpack/test/template/java_script_macros_helper_test.rb create mode 100644 vendor/rails/actionpack/test/template/sanitize_helper_test.rb delete mode 100644 vendor/rails/actionwebservice/CHANGELOG delete mode 100644 vendor/rails/actionwebservice/README delete mode 100644 vendor/rails/actionwebservice/Rakefile delete mode 100644 vendor/rails/actionwebservice/TODO delete mode 100644 vendor/rails/actionwebservice/examples/googlesearch/README delete mode 100644 vendor/rails/actionwebservice/examples/googlesearch/autoloading/google_search_api.rb delete mode 100644 vendor/rails/actionwebservice/examples/googlesearch/autoloading/google_search_controller.rb delete mode 100644 vendor/rails/actionwebservice/examples/googlesearch/delegated/google_search_service.rb delete mode 100644 vendor/rails/actionwebservice/examples/googlesearch/delegated/search_controller.rb delete mode 100644 vendor/rails/actionwebservice/examples/googlesearch/direct/google_search_api.rb delete mode 100644 vendor/rails/actionwebservice/examples/googlesearch/direct/search_controller.rb delete mode 100644 vendor/rails/actionwebservice/examples/metaWeblog/README delete mode 100644 vendor/rails/actionwebservice/examples/metaWeblog/apis/blogger_api.rb delete mode 100644 vendor/rails/actionwebservice/examples/metaWeblog/apis/blogger_service.rb delete mode 100644 vendor/rails/actionwebservice/examples/metaWeblog/apis/meta_weblog_api.rb delete mode 100644 vendor/rails/actionwebservice/examples/metaWeblog/apis/meta_weblog_service.rb delete mode 100644 vendor/rails/actionwebservice/examples/metaWeblog/controllers/xmlrpc_controller.rb delete mode 100644 vendor/rails/actionwebservice/install.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/api.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/base.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/casting.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/client.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/client/base.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/client/soap_client.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/client/xmlrpc_client.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/container.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/container/action_controller_container.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/container/delegated_container.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/container/direct_container.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/dispatcher.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/dispatcher/abstract.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/invocation.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/protocol.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/protocol/abstract.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/protocol/discovery.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/protocol/soap_protocol.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/scaffolding.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/struct.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/support/class_inheritable_options.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/support/signature_types.rb delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/templates/scaffolds/layout.rhtml delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/templates/scaffolds/methods.rhtml delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/templates/scaffolds/parameters.rhtml delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/templates/scaffolds/result.rhtml delete mode 100644 vendor/rails/actionwebservice/lib/action_web_service/test_invoke.rb delete mode 100644 vendor/rails/actionwebservice/setup.rb delete mode 100644 vendor/rails/actionwebservice/test/abstract_client.rb delete mode 100644 vendor/rails/actionwebservice/test/abstract_dispatcher.rb delete mode 100644 vendor/rails/actionwebservice/test/abstract_unit.rb delete mode 100644 vendor/rails/actionwebservice/test/api_test.rb delete mode 100644 vendor/rails/actionwebservice/test/apis/auto_load_api.rb delete mode 100644 vendor/rails/actionwebservice/test/apis/broken_auto_load_api.rb delete mode 100644 vendor/rails/actionwebservice/test/base_test.rb delete mode 100644 vendor/rails/actionwebservice/test/casting_test.rb delete mode 100644 vendor/rails/actionwebservice/test/client_soap_test.rb delete mode 100644 vendor/rails/actionwebservice/test/client_xmlrpc_test.rb delete mode 100644 vendor/rails/actionwebservice/test/container_test.rb delete mode 100644 vendor/rails/actionwebservice/test/dispatcher_action_controller_soap_test.rb delete mode 100644 vendor/rails/actionwebservice/test/dispatcher_action_controller_xmlrpc_test.rb delete mode 100644 vendor/rails/actionwebservice/test/fixtures/db_definitions/mysql.sql delete mode 100644 vendor/rails/actionwebservice/test/fixtures/users.yml delete mode 100755 vendor/rails/actionwebservice/test/gencov delete mode 100644 vendor/rails/actionwebservice/test/invocation_test.rb delete mode 100755 vendor/rails/actionwebservice/test/run delete mode 100644 vendor/rails/actionwebservice/test/scaffolded_controller_test.rb delete mode 100644 vendor/rails/actionwebservice/test/struct_test.rb delete mode 100644 vendor/rails/actionwebservice/test/test_invoke_test.rb delete mode 100644 vendor/rails/activerecord/benchmarks/benchmark.rb delete mode 100644 vendor/rails/activerecord/benchmarks/mysql_benchmark.rb delete mode 100644 vendor/rails/activerecord/examples/associations.rb delete mode 100644 vendor/rails/activerecord/examples/shared_setup.rb delete mode 100644 vendor/rails/activerecord/examples/validation.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/acts/list.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/acts/nested_set.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/acts/tree.rb create mode 100644 vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/connection_adapters/db2_adapter.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/connection_adapters/firebird_adapter.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/connection_adapters/openbase_adapter.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb create mode 100644 vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/connection_adapters/sqlserver_adapter.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/connection_adapters/sybase_adapter.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/deprecated_associations.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/deprecated_finders.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/locking.rb create mode 100644 vendor/rails/activerecord/lib/active_record/serialization.rb create mode 100644 vendor/rails/activerecord/lib/active_record/serializers/json_serializer.rb rename vendor/rails/activerecord/lib/active_record/{xml_serialization.rb => serializers/xml_serializer.rb} (73%) delete mode 100644 vendor/rails/activerecord/lib/active_record/vendor/simple.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/wrappers/yaml_wrapper.rb delete mode 100644 vendor/rails/activerecord/lib/active_record/wrappings.rb create mode 100644 vendor/rails/activerecord/lib/activerecord.rb delete mode 100644 vendor/rails/activerecord/test/active_schema_mysql.rb delete mode 100644 vendor/rails/activerecord/test/association_callbacks_test.rb create mode 100644 vendor/rails/activerecord/test/associations/eager_singularization_test.rb create mode 100644 vendor/rails/activerecord/test/associations/inner_join_association_test.rb delete mode 100644 vendor/rails/activerecord/test/associations_cascaded_eager_loading_test.rb delete mode 100644 vendor/rails/activerecord/test/associations_extensions_test.rb delete mode 100644 vendor/rails/activerecord/test/associations_go_eager_test.rb delete mode 100644 vendor/rails/activerecord/test/associations_join_model_test.rb create mode 100644 vendor/rails/activerecord/test/connection_test_mysql.rb delete mode 100644 vendor/rails/activerecord/test/connections/native_sqlserver/connection.rb delete mode 100644 vendor/rails/activerecord/test/connections/native_sqlserver_odbc/connection.rb rename vendor/rails/activerecord/test/{copy_table_sqlite.rb => copy_table_test_sqlite.rb} (81%) rename vendor/rails/activerecord/test/{empty_date_time_test.rb => date_time_test.rb} (53%) delete mode 100755 vendor/rails/activerecord/test/deprecated_associations_test.rb create mode 100644 vendor/rails/activerecord/test/fixtures/all/developers.yml create mode 100644 vendor/rails/activerecord/test/fixtures/all/people.csv create mode 100644 vendor/rails/activerecord/test/fixtures/all/tasks.yml create mode 100644 vendor/rails/activerecord/test/fixtures/book.rb create mode 100644 vendor/rails/activerecord/test/fixtures/books.yml create mode 100644 vendor/rails/activerecord/test/fixtures/citation.rb create mode 100644 vendor/rails/activerecord/test/fixtures/contact.rb delete mode 100644 vendor/rails/activerecord/test/fixtures/db_definitions/mysql.drop.sql delete mode 100755 vendor/rails/activerecord/test/fixtures/db_definitions/mysql.sql delete mode 100644 vendor/rails/activerecord/test/fixtures/db_definitions/mysql2.drop.sql delete mode 100644 vendor/rails/activerecord/test/fixtures/db_definitions/mysql2.sql create mode 100644 vendor/rails/activerecord/test/fixtures/db_definitions/schema2.rb delete mode 100644 vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver.drop.sql delete mode 100644 vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver.sql delete mode 100644 vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver2.drop.sql delete mode 100644 vendor/rails/activerecord/test/fixtures/db_definitions/sqlserver2.sql create mode 100644 vendor/rails/activerecord/test/fixtures/example.log create mode 100644 vendor/rails/activerecord/test/fixtures/item.rb create mode 100644 vendor/rails/activerecord/test/fixtures/items.yml create mode 100644 vendor/rails/activerecord/test/fixtures/matey.rb create mode 100644 vendor/rails/activerecord/test/fixtures/mateys.yml create mode 100644 vendor/rails/activerecord/test/fixtures/minimalistic.rb create mode 100644 vendor/rails/activerecord/test/fixtures/minimalistics.yml delete mode 100644 vendor/rails/activerecord/test/fixtures/mixin.rb create mode 100644 vendor/rails/activerecord/test/fixtures/parrot.rb create mode 100644 vendor/rails/activerecord/test/fixtures/parrots.yml create mode 100644 vendor/rails/activerecord/test/fixtures/parrots_pirates.yml create mode 100644 vendor/rails/activerecord/test/fixtures/pirate.rb create mode 100644 vendor/rails/activerecord/test/fixtures/pirates.yml create mode 100644 vendor/rails/activerecord/test/fixtures/reserved_words/distinct.yml create mode 100644 vendor/rails/activerecord/test/fixtures/reserved_words/distincts_selects.yml create mode 100644 vendor/rails/activerecord/test/fixtures/reserved_words/group.yml create mode 100644 vendor/rails/activerecord/test/fixtures/reserved_words/select.yml create mode 100644 vendor/rails/activerecord/test/fixtures/reserved_words/values.yml create mode 100644 vendor/rails/activerecord/test/fixtures/ship.rb create mode 100644 vendor/rails/activerecord/test/fixtures/ships.yml create mode 100644 vendor/rails/activerecord/test/fixtures/treasure.rb create mode 100644 vendor/rails/activerecord/test/fixtures/treasures.yml create mode 100644 vendor/rails/activerecord/test/json_serialization_test.rb delete mode 100644 vendor/rails/activerecord/test/mixin_nested_set_test.rb create mode 100644 vendor/rails/activerecord/test/query_cache_test.rb create mode 100644 vendor/rails/activerecord/test/reserved_word_test_mysql.rb create mode 100644 vendor/rails/activerecord/test/serialization_test.rb create mode 100644 vendor/rails/activeresource/CHANGELOG create mode 100644 vendor/rails/activeresource/MIT-LICENSE create mode 100644 vendor/rails/activeresource/README create mode 100644 vendor/rails/activeresource/Rakefile create mode 100644 vendor/rails/activeresource/lib/active_resource.rb create mode 100644 vendor/rails/activeresource/lib/active_resource/base.rb create mode 100644 vendor/rails/activeresource/lib/active_resource/connection.rb create mode 100644 vendor/rails/activeresource/lib/active_resource/custom_methods.rb create mode 100644 vendor/rails/activeresource/lib/active_resource/formats.rb create mode 100644 vendor/rails/activeresource/lib/active_resource/formats/json_format.rb create mode 100644 vendor/rails/activeresource/lib/active_resource/formats/xml_format.rb create mode 100644 vendor/rails/activeresource/lib/active_resource/http_mock.rb create mode 100644 vendor/rails/activeresource/lib/active_resource/validations.rb rename vendor/rails/{actionwebservice/lib/action_web_service => activeresource/lib/active_resource}/version.rb (55%) create mode 100644 vendor/rails/activeresource/lib/activeresource.rb create mode 100644 vendor/rails/activeresource/test/abstract_unit.rb create mode 100644 vendor/rails/activeresource/test/authorization_test.rb create mode 100644 vendor/rails/activeresource/test/base/custom_methods_test.rb create mode 100644 vendor/rails/activeresource/test/base/equality_test.rb create mode 100644 vendor/rails/activeresource/test/base/load_test.rb create mode 100644 vendor/rails/activeresource/test/base_errors_test.rb create mode 100644 vendor/rails/activeresource/test/base_test.rb create mode 100644 vendor/rails/activeresource/test/connection_test.rb create mode 100644 vendor/rails/activeresource/test/fixtures/beast.rb create mode 100644 vendor/rails/activeresource/test/fixtures/person.rb create mode 100644 vendor/rails/activeresource/test/fixtures/street_address.rb create mode 100644 vendor/rails/activeresource/test/format_test.rb create mode 100644 vendor/rails/activeresource/test/setter_trap.rb create mode 100644 vendor/rails/activesupport/lib/active_support/basic_object.rb delete mode 100644 vendor/rails/activesupport/lib/active_support/binding_of_caller.rb delete mode 100755 vendor/rails/activesupport/lib/active_support/breakpoint.rb create mode 100644 vendor/rails/activesupport/lib/active_support/buffered_logger.rb delete mode 100644 vendor/rails/activesupport/lib/active_support/caching_tools.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/array/access.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/array/extract_options.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/array/random_access.rb rename vendor/rails/activesupport/lib/active_support/core_ext/bigdecimal/{formatting.rb => conversions.rb} (94%) create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/class/delegating_attributes.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/date/behavior.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/date/calculations.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/date_time.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/date_time/calculations.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/date_time/conversions.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/duplicable.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/file.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/float.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/float/rounding.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/hash/except.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/hash/slice.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/kernel/debugger.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/module/attr_accessor_with_default.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/object/conversions.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/object/instance_variables.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/range/blockless_step.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/range/include_range.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/range/overlaps.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/string/xchar.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/test.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/test/unit/assertions.rb create mode 100644 vendor/rails/activesupport/lib/active_support/core_ext/time/behavior.rb create mode 100644 vendor/rails/activesupport/lib/active_support/duration.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/decoding.rb delete mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders.rb delete mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/core.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/date.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/date_time.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/enumerable.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/false_class.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/hash.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/nil_class.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/numeric.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/object.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/regexp.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/string.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/symbol.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/time.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoders/true_class.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/encoding.rb create mode 100644 vendor/rails/activesupport/lib/active_support/json/variable.rb delete mode 100644 vendor/rails/activesupport/lib/active_support/reloadable.rb create mode 100644 vendor/rails/activesupport/lib/active_support/test_case.rb create mode 100644 vendor/rails/activesupport/lib/active_support/testing.rb create mode 100644 vendor/rails/activesupport/lib/active_support/testing/default.rb create mode 100644 vendor/rails/activesupport/lib/active_support/vendor.rb create mode 100644 vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/blankslate.rb rename vendor/rails/activesupport/lib/active_support/vendor/{ => builder-2.1.2}/builder.rb (100%) create mode 100644 vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb create mode 100644 vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/css.rb rename vendor/rails/activesupport/lib/active_support/vendor/{ => builder-2.1.2}/builder/xchar.rb (90%) rename vendor/rails/activesupport/lib/active_support/vendor/{ => builder-2.1.2}/builder/xmlbase.rb (76%) rename vendor/rails/activesupport/lib/active_support/vendor/{ => builder-2.1.2}/builder/xmlevents.rb (97%) rename vendor/rails/activesupport/lib/active_support/vendor/{ => builder-2.1.2}/builder/xmlmarkup.rb (91%) delete mode 100644 vendor/rails/activesupport/lib/active_support/vendor/builder/blankslate.rb rename vendor/rails/activesupport/lib/active_support/vendor/{xml_simple.rb => xml-simple-1.0.11/xmlsimple.rb} (99%) create mode 100644 vendor/rails/activesupport/lib/activesupport.rb create mode 100644 vendor/rails/activesupport/test/buffered_logger_test.rb delete mode 100644 vendor/rails/activesupport/test/caching_tools_test.rb delete mode 100644 vendor/rails/activesupport/test/class_inheritable_attributes_test.rb create mode 100644 vendor/rails/activesupport/test/core_ext/class/delegating_attributes_test.rb create mode 100644 vendor/rails/activesupport/test/core_ext/date_time_ext_test.rb create mode 100644 vendor/rails/activesupport/test/core_ext/duplicable_test.rb create mode 100644 vendor/rails/activesupport/test/core_ext/duration_test.rb create mode 100644 vendor/rails/activesupport/test/core_ext/file_test.rb create mode 100644 vendor/rails/activesupport/test/core_ext/float_ext_test.rb rename vendor/rails/activesupport/test/core_ext/module/{attr_accessor_with_default.rb => attr_accessor_with_default_test.rb} (92%) create mode 100644 vendor/rails/activesupport/test/inflector_test_cases.rb delete mode 100644 vendor/rails/activesupport/test/json.rb create mode 100644 vendor/rails/activesupport/test/json/decoding_test.rb create mode 100644 vendor/rails/activesupport/test/json/encoding_test.rb delete mode 100644 vendor/rails/activesupport/test/json_test.rb delete mode 100644 vendor/rails/activesupport/test/reloadable_test.rb create mode 100644 vendor/rails/activesupport/test/test_test.rb delete mode 100755 vendor/rails/cleanlogs.sh delete mode 100755 vendor/rails/pushgems.rb delete mode 100644 vendor/rails/railties/bin/breakpointer create mode 100644 vendor/rails/railties/bin/performance/request create mode 100644 vendor/rails/railties/configs/initializers/inflections.rb create mode 100644 vendor/rails/railties/configs/initializers/mime_types.rb create mode 100644 vendor/rails/railties/html/422.html delete mode 100644 vendor/rails/railties/lib/binding_of_caller.rb delete mode 100644 vendor/rails/railties/lib/breakpoint.rb delete mode 100644 vendor/rails/railties/lib/breakpoint_client.rb delete mode 100644 vendor/rails/railties/lib/commands/breakpointer.rb create mode 100755 vendor/rails/railties/lib/commands/performance/request.rb create mode 100644 vendor/rails/railties/lib/rails/plugin.rb create mode 100644 vendor/rails/railties/lib/rails/plugin/loader.rb create mode 100644 vendor/rails/railties/lib/rails/plugin/locator.rb rename vendor/rails/railties/lib/rails_generator/generators/components/controller/templates/{view.rhtml => view.html.erb} (100%) create mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/fixture.erb create mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/mailer/templates/view.erb rename vendor/rails/{actionwebservice => railties/lib/rails_generator/generators/components/plugin/templates}/MIT-LICENSE (94%) create mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/resource/USAGE delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/USAGE delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/fixtures.yml delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/migration.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/model.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/resource/templates/unit_test.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/form.rhtml delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/form_scaffolding.rhtml rename vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/{layout.rhtml => layout.html.erb} (100%) rename vendor/rails/railties/lib/rails_generator/generators/components/{scaffold_resource/templates/view_edit.rhtml => scaffold/templates/view_edit.html.erb} (50%) delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_edit.rhtml rename vendor/rails/railties/lib/rails_generator/generators/components/{scaffold_resource/templates/view_index.rhtml => scaffold/templates/view_index.html.erb} (68%) delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_list.rhtml rename vendor/rails/railties/lib/rails_generator/generators/components/{scaffold_resource/templates/view_new.rhtml => scaffold/templates/view_new.html.erb} (64%) delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_new.rhtml rename vendor/rails/railties/lib/rails_generator/generators/components/{scaffold_resource/templates/view_show.rhtml => scaffold/templates/view_show.html.erb} (83%) delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold/templates/view_show.rhtml delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/USAGE delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/scaffold_resource_generator.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/controller.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/fixtures.yml delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/functional_test.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/helper.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/layout.rhtml delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/migration.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/model.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/style.css delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/scaffold_resource/templates/unit_test.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/web_service/USAGE delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/web_service/templates/api_definition.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/web_service/templates/controller.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/web_service/templates/functional_test.rb delete mode 100644 vendor/rails/railties/lib/rails_generator/generators/components/web_service/web_service_generator.rb create mode 100644 vendor/rails/railties/lib/rails_generator/secret_key_generator.rb create mode 100644 vendor/rails/railties/lib/source_annotation_extractor.rb create mode 100644 vendor/rails/railties/lib/tasks/annotations.rake delete mode 100644 vendor/rails/railties/lib/tasks/pre_namespace_aliases.rake create mode 100644 vendor/rails/railties/pkg/rails-2.0.2.gem create mode 100644 vendor/rails/railties/test/boot_test.rb create mode 100644 vendor/rails/railties/test/console_app_test.rb delete mode 100644 vendor/rails/railties/test/dispatcher_test.rb create mode 100644 vendor/rails/railties/test/fixtures/plugins/default/plugin_with_no_lib_dir/init.rb create mode 100644 vendor/rails/railties/test/generators/generator_test_helper.rb create mode 100644 vendor/rails/railties/test/generators/rails_model_generator_test.rb create mode 100644 vendor/rails/railties/test/generators/rails_resource_generator_test.rb create mode 100644 vendor/rails/railties/test/generators/rails_scaffold_generator_test.rb delete mode 100644 vendor/rails/railties/test/generators/working/working_generator.rb delete mode 100644 vendor/rails/railties/test/mocks/dispatcher.rb delete mode 100644 vendor/rails/railties/test/mocks/fcgi.rb delete mode 100644 vendor/rails/railties/test/mocks/stubbed_breakpoint.rb delete mode 100644 vendor/rails/railties/test/mocks/stubbed_kernel.rb create mode 100644 vendor/rails/railties/test/plugin_loader_test.rb create mode 100644 vendor/rails/railties/test/plugin_locator_test.rb create mode 100644 vendor/rails/railties/test/plugin_test_helper.rb create mode 100644 vendor/rails/railties/test/secret_key_generation_test.rb delete mode 100644 vendor/rails/railties/test/webrick_dispatcher_test.rb delete mode 100755 vendor/rails/release.rb diff --git a/app/controllers/application.rb b/app/controllers/application.rb index 02a1aac2..bac9b63b 100644 --- a/app/controllers/application.rb +++ b/app/controllers/application.rb @@ -148,16 +148,16 @@ class ApplicationController < ActionController::Base def set_content_type_header if %w(atom_with_content atom_with_headlines).include?(action_name) - response.headers['Content-Type'] = 'application/atom+xml; charset=UTF-8' + response.headers['type'] = 'application/atom+xml; charset=UTF-8' elsif %w(tex).include?(action_name) - response.headers['Content-Type'] = 'text/plain; charset=UTF-8' + response.headers['type'] = 'text/plain; charset=UTF-8' elsif request.env['HTTP_USER_AGENT'] =~ /Validator/ or request.env.include?('HTTP_ACCEPT') && Mime::Type.parse(request.env["HTTP_ACCEPT"]).include?(Mime::XHTML) - response.headers['Content-Type'] = 'application/xhtml+xml; charset=UTF-8' + response.headers['type'] = 'application/xhtml+xml; charset=UTF-8' elsif request.env['HTTP_USER_AGENT'] =~ /MathPlayer/ - response.headers['Content-Type'] = 'application/xhtml+xml' + response.headers['type'] = 'application/xhtml+xml' else - response.headers['Content-Type'] = 'text/html; charset=UTF-8' + response.headers['type'] = 'text/html; charset=UTF-8' end end diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index aa1e6710..76945a33 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -136,8 +136,8 @@ class WikiController < ApplicationController if rss_with_content_allowed? render_atom(hide_description = false) else - render_text 'Atom feed with content for this web is blocked for security reasons. ' + - 'The web is password-protected and not published', '403 Forbidden' + render :text => 'Atom feed with content for this web is blocked for security reasons. ' + + 'The web is password-protected and not published', :status => 403 end end @@ -268,7 +268,7 @@ class WikiController < ApplicationController begin @renderer = PageRenderer.new(@page.revisions.last) @show_diff = (params[:mode] == 'diff') - render_action 'page' + render :action => 'page' # TODO this rescue should differentiate between errors due to rendering and errors in # the application itself (for application errors, it's better not to rescue the error at all) rescue => e @@ -284,7 +284,7 @@ class WikiController < ApplicationController if not @page_name.nil? and not @page_name.empty? redirect_to :web => @web_name, :action => 'new', :id => @page_name else - render_text 'Page name is not specified', '404 Not Found' + render :text => 'Page name is not specified', :status => 404 end end end diff --git a/config/environment.rb b/config/environment.rb index 2b551925..f299f4fd 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -1,7 +1,16 @@ # Bootstrap the Rails environment, frameworks, and default configuration require File.join(File.dirname(__FILE__), 'boot') +require 'rails_generator/secret_key_generator' Rails::Initializer.run do |config| + + # Secret session key + generator = Rails::SecretKeyGenerator.new("Instiki") + config.action_controller.session = { + :session_key => "instiki_session", + :secret => generator.generate_secret + } + # Skip frameworks you're not going to use config.frameworks -= [ :action_web_service, :action_mailer ] diff --git a/lib/chunks/chunk.rb b/lib/chunks/chunk.rb index 90b4939a..55c96748 100644 --- a/lib/chunks/chunk.rb +++ b/lib/chunks/chunk.rb @@ -11,7 +11,7 @@ module Chunk # Rails's default utf-8 support causes problems here. So, for Chunk::Abstract class, turn off # multibyte character support. - $KCODE = 'iso-8859-1' + $KCODE = 'n' # automatically construct the array of derivatives of Chunk::Abstract @derivatives = [] diff --git a/lib/chunks/literal.rb b/lib/chunks/literal.rb index 09da4005..3927c31e 100644 --- a/lib/chunks/literal.rb +++ b/lib/chunks/literal.rb @@ -24,8 +24,7 @@ module Literal # A literal chunk that protects HTML tags from wiki rendering. class Tags < AbstractLiteral - TAGS = "a|img|em|strong|div|span|table|td|th|ul|ol|li|dl|dt|dd" - TAGS_PATTERN = Regexp.new('<(?:'+TAGS+')[^>]*?>', Regexp::MULTILINE) + TAGS_PATTERN = Regexp.new('<[a-zA-Z]+[^>]*?>', Regexp::MULTILINE) def self.pattern() TAGS_PATTERN end end end diff --git a/test/functional/application_test.rb b/test/functional/application_test.rb index c32f8b23..e028a052 100755 --- a/test/functional/application_test.rb +++ b/test/functional/application_test.rb @@ -19,7 +19,7 @@ class ApplicationTest < Test::Unit::TestCase def test_utf8_header get :show, :web => 'wiki1', :id => 'HomePage' - assert_equal 'text/html; charset=UTF-8', @response.headers['Content-Type'] + assert_equal 'text/html; charset=UTF-8', @response.headers['type'] end def test_connect_to_model_unknown_wiki diff --git a/test/functional/file_controller_test.rb b/test/functional/file_controller_test.rb index 1e8d8d51..ff64282c 100755 --- a/test/functional/file_controller_test.rb +++ b/test/functional/file_controller_test.rb @@ -36,7 +36,7 @@ class FileControllerTest < Test::Unit::TestCase assert_response(:success, bypass_body_parsing = true) assert_equal "Contents of the file", r.body - assert_equal 'text/plain', r.headers['Content-Type'] + assert_equal 'text/plain', r.headers['type'] end def test_file_download_pdf_file @@ -47,7 +47,7 @@ class FileControllerTest < Test::Unit::TestCase assert_response(:success, bypass_body_parsing = true) assert_equal "aaa\nbbb\n", r.body - assert_equal 'application/pdf', r.headers['Content-Type'] + assert_equal 'application/pdf', r.headers['type'] end def test_pic_download_gif @@ -57,7 +57,7 @@ class FileControllerTest < Test::Unit::TestCase r = get :file, :web => 'wiki1', :id => 'rails.gif' assert_response(:success, bypass_body_parsing = true) - assert_equal 'image/gif', r.headers['Content-Type'] + assert_equal 'image/gif', r.headers['type'] assert_equal pic.size, r.body.size assert_equal pic, r.body end diff --git a/test/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb index 11b4e661..b3b62a2e 100755 --- a/test/functional/wiki_controller_test.rb +++ b/test/functional/wiki_controller_test.rb @@ -112,7 +112,7 @@ class WikiControllerTest < Test::Unit::TestCase r = process 'export_html', 'web' => 'wiki1' assert_response(:success, bypass_body_parsing = true) - assert_equal 'application/zip', r.headers['Content-Type'] + assert_equal 'application/zip', r.headers['type'] assert_match /attachment; filename="wiki1-html-\d\d\d\d-\d\d-\d\d-\d\d-\d\d-\d\d.zip"/, r.headers['Content-Disposition'] assert_equal 'PK', r.body[0..1], 'Content is not a zip file' @@ -140,7 +140,7 @@ class WikiControllerTest < Test::Unit::TestCase r = process 'export_html', 'web' => 'wiki1', 'layout' => 'no' assert_response(:success, bypass_body_parsing = true) - assert_equal 'application/zip', r.headers['Content-Type'] + assert_equal 'application/zip', r.headers['type'] assert_match /attachment; filename="wiki1-html-\d\d\d\d-\d\d-\d\d-\d\d-\d\d-\d\d.zip"/, r.headers['Content-Disposition'] assert_equal 'PK', r.body[0..1], 'Content is not a zip file' @@ -150,7 +150,7 @@ class WikiControllerTest < Test::Unit::TestCase r = process 'export_markup', 'web' => 'wiki1' assert_response(:success, bypass_body_parsing = true) - assert_equal 'application/zip', r.headers['Content-Type'] + assert_equal 'application/zip', r.headers['type'] assert_match /attachment; filename="wiki1-markdownMML-\d\d\d\d-\d\d-\d\d-\d\d-\d\d-\d\d.zip"/, r.headers['Content-Disposition'] assert_equal 'PK', r.body[0..1], 'Content is not a zip file' @@ -162,7 +162,7 @@ class WikiControllerTest < Test::Unit::TestCase # def test_export_pdf # r = process 'export_pdf', 'web' => 'wiki1' # assert_response(:success, bypass_body_parsing = true) -# assert_equal 'application/pdf', r.headers['Content-Type'] +# assert_equal 'application/pdf', r.headers['type'] # assert_match /attachment; filename="wiki1-tex-\d\d\d\d-\d\d-\d\d-\d\d-\d\d-\d\d.pdf"/, # r.headers['Content-Disposition'] # assert_equal '%PDF', r.body[0..3] @@ -179,7 +179,7 @@ class WikiControllerTest < Test::Unit::TestCase # r = process 'export_tex', 'web' => 'wiki1' # # assert_response(:success, bypass_body_parsing = true) -# assert_equal 'application/octet-stream', r.headers['Content-Type'] +# assert_equal 'application/octet-stream', r.headers['type'] # assert_match /attachment; filename="wiki1-tex-\d\d\d\d-\d\d-\d\d-\d\d-\d\d-\d\d.tex"/, # r.headers['Content-Disposition'] # assert_equal '\documentclass', r.body[0..13], 'Content is not a TeX file' @@ -259,7 +259,7 @@ class WikiControllerTest < Test::Unit::TestCase # assert_equal '%PDF', r.body[0..3] # assert_equal "EOF\n", r.body[-4..-1] # -# assert_equal 'application/pdf', r.headers['Content-Type'] +# assert_equal 'application/pdf', r.headers['type'] # assert_match /attachment; filename="HomePage-wiki1-\d\d\d\d-\d\d-\d\d-\d\d-\d\d-\d\d.pdf"/, # r.headers['Content-Disposition'] # end @@ -633,8 +633,8 @@ class WikiControllerTest < Test::Unit::TestCase end def test_show_page - r = process('show', 'id' => 'Oak', 'web' => 'wiki1') - assert_response(:success) + r = process 'show', 'id' => 'Oak', 'web' => 'wiki1' + assert_response :success assert_tag :content => /All about oak/ end @@ -644,7 +644,7 @@ class WikiControllerTest < Test::Unit::TestCase r = process('show', 'id' => 'HomePage', 'web' => 'wiki1') - assert_response(:success) + assert_response :success assert_match /Second revision of the end/, r.body end diff --git a/test/unit/page_renderer_test.rb b/test/unit/page_renderer_test.rb index 50a74b12..2723381a 100644 --- a/test/unit/page_renderer_test.rb +++ b/test/unit/page_renderer_test.rb @@ -110,6 +110,12 @@ class PageRendererTest < Test::Unit::TestCase %{
\\sin(x)
}, "ecuasi\303\263n\n$$\\sin(x)$$") + assert_markup_parsed_as( + %{

ecuasi\303\263n

\n\n

} + + %{sin(x)

}, + "ecuasi\303\263n \n\n$\\sin(x)$") + #FIXME assert_markup_parsed_as( %{

ecuasi\303\263n "", :status => 304) + controller.send(:render, {:text => "", :status => 304}) end def client_has_latest?(cache_entry, controller) diff --git a/vendor/plugins/maruku/lib/maruku/output/s5/to_s5.rb b/vendor/plugins/maruku/lib/maruku/output/s5/to_s5.rb index 8542ee4e..ef0349d9 100644 --- a/vendor/plugins/maruku/lib/maruku/output/s5/to_s5.rb +++ b/vendor/plugins/maruku/lib/maruku/output/s5/to_s5.rb @@ -105,7 +105,12 @@ module MaRuKu xml = "" if (content_only) - body.write(xml,indent,transitive=true,ie_hack); + if $rexml_new_version + formatter = REXML::Formatters::Default.new(ie_hack) + formatter.write(body, xml) + else + body.write(xml,indent,transitive=true,ie_hack); + end else doc2 = Document.new("

"+S5_external+"
",{:respect_whitespace =>:all}) doc2.root.children.each{ |child| head << child } diff --git a/vendor/rails/actionmailer/CHANGELOG b/vendor/rails/actionmailer/CHANGELOG index aab72a91..8ba3ccde 100644 --- a/vendor/rails/actionmailer/CHANGELOG +++ b/vendor/rails/actionmailer/CHANGELOG @@ -1,11 +1,49 @@ -*1.3.5* (October 12th, 2007) +*2.0.2* (December 16th, 2007) -* Depend on Action Pack 1.13.5 +* Included in Rails 2.0.2 -*1.3.4* (October 4th, 2007) +*2.0.1* (December 7th, 2007) -* Depend on Action Pack 1.13.4 +* Update ActionMailer so it treats ActionView the same way that ActionController does. Closes #10244 [rick] + + * Pass the template_root as an array as ActionView's view_path + * Request templates with the "#{mailer_name}/#{action}" as opposed to just "#{action}" + +* Fixed that partials would be broken when using text.plain.erb as the extension #10130 [java] + +* Update README to use new smtp settings configuration API. Closes #10060 [psq] + +* Allow ActionMailer subclasses to individually set their delivery method (so two subclasses can have different delivery methods) #10033 [zdennis] + +* Update TMail to v1.1.0. Use an updated version of TMail if available. [mikel] + +* Introduce a new base test class for testing Mailers. ActionMailer::TestCase [Koz] + +* Fix silent failure of rxml templates. #9879 [jstewart] + +* Fix attachment decoding when using the TMail C extension. #7861 [orangechicken] + +* Increase mail delivery test coverage. #8692 [Kamal Fariz Mahyuddin] + +* Register alternative template engines using ActionMailer::Base.register_template_extension('haml'). #7534 [cwd, Josh Peek] + +* Only load ActionController::UrlWriter if ActionController is present [Rick Olson] + +* Make sure parsed emails recognized attachments nested inside multipart parts. #6714 [Jamis Buck] + +* Allow mailer actions named send by using __send__ internally. #6467 [iGEL] + +* Add assert_emails and assert_no_emails to test the number of emails delivered. #6479 [Jonathan Viney] + # Assert total number of emails delivered: + assert_emails 0 + ContactMailer.deliver_contact + assert_emails 1 + + # Assert number of emails delivered within a block: + assert_emails 1 do + post :signup, :name => 'Jonathan' + end *1.3.3* (March 12th, 2007) @@ -39,6 +77,8 @@ * Replace Reloadable with Reloadable::Deprecated. [Nicholas Seckar] +* Mailer template root applies to a class and its subclasses rather than acting globally. #5555 [somekool@gmail.com] + * Resolve action naming collision. #5520 [ssinghi@kreeti.com] * ActionMailer::Base documentation rewrite. Closes #4991 [Kevin Clark, Marcel Molina Jr.] @@ -47,30 +87,8 @@ * Replace Ruby's deprecated append_features in favor of included. [Marcel Molina Jr.] - -*1.2.5* (August 10th, 2006) - -* Depend on Action Pack 1.12.5 - - -*1.2.4* (August 8th, 2006) - -* Backport of documentation enhancements. [Kevin Clark, Marcel Molina Jr] - * Correct spurious documentation example code which results in a SyntaxError. [Marcel Molina Jr.] -* Mailer template root applies to a class and its subclasses rather than acting globally. #5555 [somekool@gmail.com] - - -*1.2.3* (June 29th, 2006) - -* Depend on Action Pack 1.12.3 - - -*1.2.2* (June 27th, 2006) - -* Depend on Action Pack 1.12.2 - *1.2.1* (April 6th, 2006) diff --git a/vendor/rails/actionmailer/MIT-LICENSE b/vendor/rails/actionmailer/MIT-LICENSE index 5856add6..007cc942 100644 --- a/vendor/rails/actionmailer/MIT-LICENSE +++ b/vendor/rails/actionmailer/MIT-LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2004-2006 David Heinemeier Hansson +Copyright (c) 2004-2007 David Heinemeier Hansson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/vendor/rails/actionmailer/README b/vendor/rails/actionmailer/README index 354c1ab8..67e8266e 100755 --- a/vendor/rails/actionmailer/README +++ b/vendor/rails/actionmailer/README @@ -86,7 +86,7 @@ This Mailman can be the target for Postfix. In Rails, you would use the runner l The Base class has the full list of configuration options. Here's an example: -ActionMailer::Base.server_settings = { +ActionMailer::Base.smtp_settings = { :address=>'smtp.yourserver.com', # default: localhost :port=>'25', # default: 25 :user_name=>'user', @@ -142,4 +142,4 @@ And as Jim from Rake says: Feel free to submit commits or feature requests. If you send a patch, remember to update the corresponding unit tests. If fact, I prefer - new feature to be submitted in the form of new unit tests. \ No newline at end of file + new feature to be submitted in the form of new unit tests. diff --git a/vendor/rails/actionmailer/Rakefile b/vendor/rails/actionmailer/Rakefile index 5bb9f1d0..4622871a 100755 --- a/vendor/rails/actionmailer/Rakefile +++ b/vendor/rails/actionmailer/Rakefile @@ -29,11 +29,12 @@ Rake::TestTask.new { |t| } -# Genereate the RDoc documentation +# Generate the RDoc documentation Rake::RDocTask.new { |rdoc| rdoc.rdoc_dir = 'doc' rdoc.title = "Action Mailer -- Easy email delivery and testing" rdoc.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object' + rdoc.options << '--charset' << 'utf-8' rdoc.template = "#{ENV['template']}.rb" if ENV['template'] rdoc.rdoc_files.include('README', 'CHANGELOG') rdoc.rdoc_files.include('lib/action_mailer.rb') @@ -54,7 +55,7 @@ spec = Gem::Specification.new do |s| s.rubyforge_project = "actionmailer" s.homepage = "http://www.rubyonrails.org" - s.add_dependency('actionpack', '= 1.13.5' + PKG_BUILD) + s.add_dependency('actionpack', '= 2.0.2' + PKG_BUILD) s.has_rdoc = true s.requirements << 'none' @@ -92,4 +93,4 @@ task :release => [ :package ] do rubyforge = RubyForge.new rubyforge.login rubyforge.add_release(PKG_NAME, PKG_NAME, "REL #{PKG_VERSION}", *packages) -end \ No newline at end of file +end diff --git a/vendor/rails/actionmailer/install.rb b/vendor/rails/actionmailer/install.rb index c559edff..8d7c140c 100644 --- a/vendor/rails/actionmailer/install.rb +++ b/vendor/rails/actionmailer/install.rb @@ -18,7 +18,7 @@ unless $sitedir end end -# the acual gruntwork +# the actual gruntwork Dir.chdir("lib") Find.find("action_mailer", "action_mailer.rb") { |f| diff --git a/vendor/rails/actionmailer/lib/action_mailer.rb b/vendor/rails/actionmailer/lib/action_mailer.rb index eeb1a428..ec803f5a 100755 --- a/vendor/rails/actionmailer/lib/action_mailer.rb +++ b/vendor/rails/actionmailer/lib/action_mailer.rb @@ -1,5 +1,5 @@ #-- -# Copyright (c) 2004-2006 David Heinemeier Hansson +# Copyright (c) 2004-2007 David Heinemeier Hansson # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,13 +31,15 @@ unless defined?(ActionController) end end -$:.unshift(File.dirname(__FILE__) + "/action_mailer/vendor/") +require 'action_mailer/vendor' +require 'tmail' require 'action_mailer/base' require 'action_mailer/helpers' require 'action_mailer/mail_helper' require 'action_mailer/quoting' -require 'tmail' +require 'action_mailer/test_helper' + require 'net/smtp' ActionMailer::Base.class_eval do diff --git a/vendor/rails/actionmailer/lib/action_mailer/base.rb b/vendor/rails/actionmailer/lib/action_mailer/base.rb index 4f1b6787..b15c010e 100644 --- a/vendor/rails/actionmailer/lib/action_mailer/base.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/base.rb @@ -52,9 +52,9 @@ module ActionMailer #:nodoc: # # Like ActionController, each mailer class has a corresponding view directory # in which each method of the class looks for a template with its name. - # To define a template to be used with a mailing, create an .rhtml file with the same name as the method + # To define a template to be used with a mailing, create an .erb file with the same name as the method # in your mailer model. For example, in the mailer defined above, the template at - # app/views/notifier/signup_notification.rhtml would be used to generate the email. + # app/views/notifier/signup_notification.erb would be used to generate the email. # # Variables defined in the model are accessible as instance variables in the view. # @@ -103,7 +103,7 @@ module ActionMailer #:nodoc: # # = HTML email # - # To send mail as HTML, make sure your view (the .rhtml file) generates HTML and + # To send mail as HTML, make sure your view (the .erb file) generates HTML and # set the content type to html. # # class MyMailer < ActionMailer::Base @@ -142,10 +142,10 @@ module ActionMailer #:nodoc: # by the content type. Each such detected template will be added as separate part to the message. # # For example, if the following templates existed: - # * signup_notification.text.plain.rhtml - # * signup_notification.text.html.rhtml - # * signup_notification.text.xml.rxml - # * signup_notification.text.x-yaml.rhtml + # * signup_notification.text.plain.erb + # * signup_notification.text.html.erb + # * signup_notification.text.xml.builder + # * signup_notification.text.x-yaml.erb # # Each would be rendered and added as a separate part to the message, # with the corresponding content type. The same body hash is passed to @@ -219,17 +219,16 @@ module ActionMailer #:nodoc: # @implicit_parts_order. class Base include AdvAttrAccessor, PartContainer - include ActionController::UrlWriter + include ActionController::UrlWriter if Object.const_defined?(:ActionController) - # Action Mailer subclasses should be reloaded by the dispatcher in Rails - # when Dependencies.mechanism = :load. - include Reloadable::Deprecated - private_class_method :new #:nodoc: class_inheritable_accessor :template_root cattr_accessor :logger + cattr_accessor :template_extensions + @@template_extensions = ['erb', 'builder', 'rhtml', 'rxml'] + @@smtp_settings = { :address => "localhost", :port => 25, @@ -249,8 +248,8 @@ module ActionMailer #:nodoc: @@raise_delivery_errors = true cattr_accessor :raise_delivery_errors - @@delivery_method = :smtp - cattr_accessor :delivery_method + superclass_delegating_accessor :delivery_method + self.delivery_method = :smtp @@perform_deliveries = true cattr_accessor :perform_deliveries @@ -299,11 +298,6 @@ module ActionMailer #:nodoc: # This defaults to the value for the +default_implicit_parts_order+. adv_attr_accessor :implicit_parts_order - # Override the mailer name, which defaults to an inflected version of the - # mailer's class name. If you want to use a template in a non-standard - # location, you can use this to specify that location. - adv_attr_accessor :mailer_name - # Defaults to "1.0", but may be explicitly given if needed. adv_attr_accessor :mime_version @@ -323,10 +317,35 @@ module ActionMailer #:nodoc: # have multiple mailer methods share the same template. adv_attr_accessor :template + # Override the mailer name, which defaults to an inflected version of the + # mailer's class name. If you want to use a template in a non-standard + # location, you can use this to specify that location. + def mailer_name(value = nil) + if value + self.mailer_name = value + else + self.class.mailer_name + end + end + + def mailer_name=(value) + self.class.mailer_name = value + end + # The mail object instance referenced by this mailer. attr_reader :mail class << self + attr_writer :mailer_name + + def mailer_name + @mailer_name ||= name.underscore + end + + # for ActionView compatibility + alias_method :controller_name, :mailer_name + alias_method :controller_path, :mailer_name + def method_missing(method_symbol, *parameters)#:nodoc: case method_symbol.id2name when /^create_([_a-z]\w*)/ then new($1, *parameters).mail @@ -363,18 +382,17 @@ module ActionMailer #:nodoc: def deliver(mail) new.deliver!(mail) end - - # Server Settings is the old name for smtp_settings - def server_settings - smtp_settings + + # Register a template extension so mailer templates written in a + # templating language other than rhtml or rxml are supported. + # To use this, include in your template-language plugin's init + # code or on a per-application basis, this can be invoked from + # config/environment.rb: + # + # ActionMailer::Base.register_template_extension('haml') + def register_template_extension(extension) + template_extensions << extension end - deprecate :server_settings=>"It's now named smtp_settings" - - def server_settings=(settings) - ActiveSupport::Deprecation.warn("server_settings has been renamed smtp_settings, this warning will be removed with rails 2.0", caller) - self.smtp_settings=settings - end - end # Instantiate a new mailer object. If +method_name+ is not +nil+, the mailer @@ -389,20 +407,20 @@ module ActionMailer #:nodoc: # rendered and a new TMail::Mail object created. def create!(method_name, *parameters) #:nodoc: initialize_defaults(method_name) - send(method_name, *parameters) + __send__(method_name, *parameters) # If an explicit, textual body has not been set, we check assumptions. unless String === @body # First, we look to see if there are any likely templates that match, # which include the content-type in their file name (i.e., - # "the_template_file.text.html.rhtml", etc.). Only do this if parts + # "the_template_file.text.html.erb", etc.). Only do this if parts # have not already been specified manually. if @parts.empty? templates = Dir.glob("#{template_path}/#{@template}.*") templates.each do |path| - # TODO: don't hardcode rhtml|rxml basename = File.basename(path) - next unless md = /^([^\.]+)\.([^\.]+\.[^\.]+)\.(rhtml|rxml)$/.match(basename) + template_regex = Regexp.new("^([^\\\.]+)\\\.([^\\\.]+\\\.[^\\\.]+)\\\.(" + template_extensions.join('|') + ")$") + next unless md = template_regex.match(basename) template_name = basename content_type = md.captures[1].gsub('.', '/') @parts << Part.new(:content_type => content_type, @@ -448,7 +466,7 @@ module ActionMailer #:nodoc: logger.info "Sent mail:\n #{mail.encoded}" unless logger.nil? begin - send("perform_delivery_#{delivery_method}", mail) if perform_deliveries + __send__("perform_delivery_#{delivery_method}", mail) if perform_deliveries rescue Exception => e # Net::SMTP errors or sendmail pipe errors raise e if raise_delivery_errors end @@ -478,6 +496,9 @@ module ActionMailer #:nodoc: def render(opts) body = opts.delete(:body) + if opts[:file] && opts[:file] !~ /\// + opts[:file] = "#{mailer_name}/#{opts[:file]}" + end initialize_template_class(body).render(opts) end @@ -486,7 +507,7 @@ module ActionMailer #:nodoc: end def initialize_template_class(assigns) - ActionView::Base.new(template_path, assigns, self) + ActionView::Base.new([template_root], assigns, self) end def sort_parts(parts, order = []) diff --git a/vendor/rails/actionmailer/lib/action_mailer/helpers.rb b/vendor/rails/actionmailer/lib/action_mailer/helpers.rb index 8176ba8a..7777d16d 100644 --- a/vendor/rails/actionmailer/lib/action_mailer/helpers.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/helpers.rb @@ -49,7 +49,7 @@ module ActionMailer begin require_dependency(file_name) rescue LoadError => load_error - requiree = / -- (.*?)(\.rb)?$/.match(load_error).to_a[1] + requiree = / -- (.*?)(\.rb)?$/.match(load_error.message).to_a[1] msg = (requiree == file_name) ? "Missing helper file helpers/#{file_name}.rb" : "Can't load file: #{requiree}" raise LoadError.new(msg).copy_blame!(load_error) end @@ -72,7 +72,7 @@ module ActionMailer methods.flatten.each do |method| master_helper_module.module_eval <<-end_eval def #{method}(*args, &block) - controller.send(%(#{method}), *args, &block) + controller.send!(%(#{method}), *args, &block) end end_eval end @@ -92,7 +92,7 @@ module ActionMailer inherited_without_helper(child) begin child.master_helper_module = Module.new - child.master_helper_module.send :include, master_helper_module + child.master_helper_module.send! :include, master_helper_module child.helper child.name.underscore rescue MissingSourceFile => e raise unless e.is_missing?("helpers/#{child.name.underscore}_helper") @@ -108,4 +108,4 @@ module ActionMailer end end end -end \ No newline at end of file +end diff --git a/vendor/rails/actionmailer/lib/action_mailer/part.rb b/vendor/rails/actionmailer/lib/action_mailer/part.rb index 31f5b441..de1b1689 100644 --- a/vendor/rails/actionmailer/lib/action_mailer/part.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/part.rb @@ -84,11 +84,8 @@ module ActionMailer end else if String === body - part = TMail::Mail.new - part.body = body - part.set_content_type(real_content_type, nil, ctype_attrs) - part.set_content_disposition "inline" - m.parts << part + @parts.unshift Part.new(:charset => charset, :body => @body, :content_type => 'text/plain') + @body = nil end @parts.each do |p| diff --git a/vendor/rails/actionmailer/lib/action_mailer/test_case.rb b/vendor/rails/actionmailer/lib/action_mailer/test_case.rb new file mode 100644 index 00000000..cc75b392 --- /dev/null +++ b/vendor/rails/actionmailer/lib/action_mailer/test_case.rb @@ -0,0 +1,59 @@ +require 'active_support/test_case' + +module ActionMailer + class NonInferrableMailerError < ::StandardError + def initialize(name) + super "Unable to determine the mailer to test from #{name}. " + + "You'll need to specify it using tests YourMailer in your " + + "test case definition" + end + end + # New Test Super class for forward compatibility. + # To override + class TestCase < ActiveSupport::TestCase + include ActionMailer::Quoting + + class << self + def tests(mailer) + write_inheritable_attribute(:mailer_class, mailer) + end + + def mailer_class + if mailer = read_inheritable_attribute(:mailer_class) + mailer + else + tests determine_default_mailer(name) + end + end + + def determine_default_mailer(name) + name.sub(/Test$/, '').constantize + rescue NameError => e + raise NonInferrableMailerError.new(name) + end + end + + def setup + ActionMailer::Base.delivery_method = :test + ActionMailer::Base.perform_deliveries = true + ActionMailer::Base.deliveries = [] + + @expected = TMail::Mail.new + @expected.set_content_type "text", "plain", { "charset" => charset } + @expected.mime_version = '1.0' + end + + private + def charset + "utf-8" + end + + def encode(subject) + quoted_printable(subject, charset) + end + + def read_fixture(action) + IO.readlines(File.join(RAILS_ROOT, 'test', 'fixtures', self.class.mailer_class.name.underscore, action)) + end + end +end diff --git a/vendor/rails/actionmailer/lib/action_mailer/test_helper.rb b/vendor/rails/actionmailer/lib/action_mailer/test_helper.rb new file mode 100644 index 00000000..3a161244 --- /dev/null +++ b/vendor/rails/actionmailer/lib/action_mailer/test_helper.rb @@ -0,0 +1,67 @@ +module ActionMailer + module TestHelper + # Asserts that the number of emails sent matches the given number. + # + # def test_emails + # assert_emails 0 + # ContactMailer.deliver_contact + # assert_emails 1 + # ContactMailer.deliver_contact + # assert_emails 2 + # end + # + # If a block is passed, that block should cause the specified number of emails to be sent. + # + # def test_emails_again + # assert_emails 1 do + # ContactMailer.deliver_contact + # end + # + # assert_emails 2 do + # ContactMailer.deliver_contact + # ContactMailer.deliver_contact + # end + # end + def assert_emails(number) + if block_given? + original_count = ActionMailer::Base.deliveries.size + yield + new_count = ActionMailer::Base.deliveries.size + assert_equal original_count + number, new_count, "#{number} emails expected, but #{new_count - original_count} were sent" + else + assert_equal number, ActionMailer::Base.deliveries.size + end + end + + # Assert that no emails have been sent. + # + # def test_emails + # assert_no_emails + # ContactMailer.deliver_contact + # assert_emails 1 + # end + # + # If a block is passed, that block should not cause any emails to be sent. + # + # def test_emails_again + # assert_no_emails do + # # No emails should be sent from this block + # end + # end + # + # Note: This assertion is simply a shortcut for: + # + # assert_emails 0 + def assert_no_emails(&block) + assert_emails 0, &block + end + end +end + +module Test + module Unit + class TestCase + include ActionMailer::TestHelper + end + end +end diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor.rb new file mode 100644 index 00000000..0ad7386f --- /dev/null +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor.rb @@ -0,0 +1,14 @@ +# Prefer gems to the bundled libs. +require 'rubygems' + +begin + gem 'tmail', '~> 1.1.0' +rescue Gem::LoadError + $:.unshift "#{File.dirname(__FILE__)}/vendor/tmail-1.1.0" +end + +begin + gem 'text-format', '>= 0.6.3' +rescue Gem::LoadError + $:.unshift "#{File.dirname(__FILE__)}/vendor/text-format-0.6.3" +end diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/text/format.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/text-format-0.6.3/text/format.rb similarity index 100% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/text/format.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/text-format-0.6.3/text/format.rb diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail.rb new file mode 100755 index 00000000..7de18501 --- /dev/null +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail.rb @@ -0,0 +1,4 @@ +require 'tmail/version' +require 'tmail/mail' +require 'tmail/mailbox' +require 'tmail/core_extensions' diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/Makefile b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/Makefile new file mode 100644 index 00000000..346353b8 --- /dev/null +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/Makefile @@ -0,0 +1,19 @@ +# +# lib/tmail/Makefile +# + +debug: + rm -f parser.rb + make parser.rb DEBUG=true + +parser.rb: parser.y + if [ "$(DEBUG)" = true ]; then \ + racc -v -g -o$@ parser.y ;\ + else \ + racc -E -o$@ parser.y ;\ + fi + +clean: + rm -f parser.rb parser.output + +distclean: clean diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/address.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/address.rb similarity index 99% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/address.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/address.rb index 235ec761..224ed709 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/address.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/address.rb @@ -1,5 +1,8 @@ -# -# address.rb +=begin rdoc + += Address handling class + +=end # #-- # Copyright (c) 1998-2003 Minero Aoki @@ -51,6 +54,7 @@ module TMail raise SyntaxError, 'empty word in domain' if s.empty? end end + @local = local @domain = domain @name = nil @@ -96,7 +100,6 @@ module TMail alias address spec - def ==( other ) other.respond_to? :spec and self.spec == other.spec end diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/attachments.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/attachments.rb similarity index 87% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/attachments.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/attachments.rb index 4d8d106a..a8b8017c 100644 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/attachments.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/attachments.rb @@ -1,3 +1,9 @@ +=begin rdoc + += Attachment handling class + +=end + require 'stringio' module TMail @@ -18,7 +24,9 @@ module TMail def attachments if multipart? parts.collect { |part| - if attachment?(part) + if part.multipart? + part.attachments + elsif attachment?(part) content = part.body # unquoted automatically by TMail#body file_name = (part['content-location'] && part['content-location'].body) || @@ -32,7 +40,7 @@ module TMail attachment.content_type = part.content_type attachment end - }.compact + }.flatten.compact end end end diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/base64.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/base64.rb new file mode 100755 index 00000000..e99b6b0b --- /dev/null +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/base64.rb @@ -0,0 +1,52 @@ +# = TITLE: +# +# Base64 +# +# = COPYRIGHT: +# +# Copyright (c) 1998-2003 Minero Aoki +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Note: Originally licensed under LGPL v2+. Using MIT license for Rails +# with permission of Minero Aoki. + +# +module TMail + + module Base64 + + module_function + + def folding_encode( str, eol = "\n", limit = 60 ) + [str].pack('m') + end + + def encode( str ) + [str].pack('m').tr( "\r\n", '' ) + end + + def decode( str, strict = false ) + str.unpack('m').first + end + + end + +end diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/compat.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/compat.rb new file mode 100644 index 00000000..9d2aa837 --- /dev/null +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/compat.rb @@ -0,0 +1,39 @@ +unless Enumerable.method_defined?(:map) + module Enumerable + alias map collect + end +end + +unless Enumerable.method_defined?(:select) + module Enumerable + alias select find_all + end +end + +unless Enumerable.method_defined?(:reject) + module Enumerable + def reject + result = [] + each do |i| + result.push i unless yield(i) + end + result + end + end +end + +unless Enumerable.method_defined?(:sort_by) + module Enumerable + def sort_by + map {|i| [yield(i), i] }.sort.map {|val, i| i } + end + end +end + +unless File.respond_to?(:read) + def File.read(fname) + File.open(fname) {|f| + return f.read + } + end +end diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/config.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/config.rb similarity index 97% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/config.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/config.rb index b075299b..4b253d2b 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/config.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/config.rb @@ -1,6 +1,8 @@ -# -# config.rb -# +=begin rdoc + += Configuration Class + +=end #-- # Copyright (c) 1998-2003 Minero Aoki # diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb new file mode 100644 index 00000000..cc24e977 --- /dev/null +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/core_extensions.rb @@ -0,0 +1,67 @@ +=begin rdoc + += Ruby on Rails Core Extensions + +provides .blank? + +=end +unless Object.respond_to?(:blank?) #:nodoc: + # Check first to see if we are in a Rails environment, no need to + # define these methods if we are + class Object + # An object is blank if it's nil, empty, or a whitespace string. + # For example, "", " ", nil, [], and {} are blank. + # + # This simplifies + # if !address.nil? && !address.empty? + # to + # if !address.blank? + def blank? + if respond_to?(:empty?) && respond_to?(:strip) + empty? or strip.empty? + elsif respond_to?(:empty?) + empty? + else + !self + end + end + end + + class NilClass #:nodoc: + def blank? + true + end + end + + class FalseClass #:nodoc: + def blank? + true + end + end + + class TrueClass #:nodoc: + def blank? + false + end + end + + class Array #:nodoc: + alias_method :blank?, :empty? + end + + class Hash #:nodoc: + alias_method :blank?, :empty? + end + + class String #:nodoc: + def blank? + empty? || strip.empty? + end + end + + class Numeric #:nodoc: + def blank? + false + end + end +end \ No newline at end of file diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/encode.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/encode.rb similarity index 95% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/encode.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/encode.rb index 91bd289c..0721a254 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/encode.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/encode.rb @@ -1,6 +1,8 @@ -# -# encode.rb -# +=begin rdoc + += Text Encoding class + +=end #-- # Copyright (c) 1998-2003 Minero Aoki # @@ -50,23 +52,25 @@ module TMail end end module_function :create_dest - + def encoded( eol = "\r\n", charset = 'j', dest = nil ) accept_strategy Encoder, eol, charset, dest end - + def decoded( eol = "\n", charset = 'e', dest = nil ) + # Turn the E-Mail into a string and return it with all + # encoded characters decoded. alias for to_s accept_strategy Decoder, eol, charset, dest end - + alias to_s decoded - + def accept_strategy( klass, eol, charset, dest = nil ) dest ||= '' - accept klass.new(create_dest(dest), charset, eol) + accept klass.new( create_dest(dest), charset, eol ) dest end - + end @@ -141,6 +145,7 @@ module TMail end def kv_pair( k, v ) + v = dquote(v) unless token_safe?(v) @f << k << '=' << v end @@ -190,9 +195,18 @@ module TMail @f = StrategyInterface.create_dest(dest) @opt = OPTIONS[$KCODE] @eol = eol + @preserve_quotes = true reset end + def preserve_quotes=( bool ) + @preserve_quotes + end + + def preserve_quotes + @preserve_quotes + end + def normalize_encoding( str ) if @opt then NKF.nkf(@opt, str) diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/facade.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/facade.rb similarity index 100% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/facade.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/facade.rb diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/header.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/header.rb similarity index 96% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/header.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/header.rb index be97803d..41c371f3 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/header.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/header.rb @@ -1,5 +1,10 @@ -# -# header.rb +=begin rdoc + += Header handling class + +=end +# RFC #822 ftp://ftp.isi.edu/in-notes/rfc822.txt +# # #-- # Copyright (c) 1998-2003 Minero Aoki @@ -76,6 +81,7 @@ module TMail @illegal = false @parsed = false + if intern @parsed = true parse_init @@ -129,7 +135,7 @@ module TMail include StrategyInterface - def accept( strategy, dummy1 = nil, dummy2 = nil ) + def accept( strategy ) ensure_parsed do_accept strategy strategy.terminate @@ -207,6 +213,7 @@ module TMail end def do_parse + quote_boundary obj = Parser.parse(self.class::PARSE_TYPE, @body, @comments) set obj if obj end @@ -739,12 +746,17 @@ module TMail def params ensure_parsed + unless @params.blank? + @params.each do |k, v| + @params[k] = unquote(v) + end + end @params end def []( key ) ensure_parsed - @params and @params[key] + @params and unquote(@params[key]) end def []=( key, val ) @@ -835,12 +847,17 @@ module TMail def params ensure_parsed + unless @params.blank? + @params.each do |k, v| + @params[k] = unquote(v) + end + end @params end def []( key ) ensure_parsed - @params and @params[key] + @params and unquote(@params[key]) end def []=( key, val ) @@ -867,7 +884,7 @@ module TMail @params.each do |k,v| strategy.meta ';' strategy.space - strategy.kv_pair k, v + strategy.kv_pair k, unquote(v) end end diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/info.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/info.rb similarity index 100% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/info.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/info.rb diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/interface.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/interface.rb new file mode 100644 index 00000000..957e8997 --- /dev/null +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/interface.rb @@ -0,0 +1,540 @@ +=begin rdoc + += Facade.rb Provides an interface to the TMail object + +=end +#-- +# Copyright (c) 1998-2003 Minero Aoki +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Note: Originally licensed under LGPL v2+. Using MIT license for Rails +# with permission of Minero Aoki. +#++ + +require 'tmail/utils' + +module TMail + + class Mail + + def header_string( name, default = nil ) + h = @header[name.downcase] or return default + h.to_s + end + + ### + ### attributes + ### + + include TextUtils + + def set_string_array_attr( key, strs ) + strs.flatten! + if strs.empty? + @header.delete key.downcase + else + store key, strs.join(', ') + end + strs + end + private :set_string_array_attr + + def set_string_attr( key, str ) + if str + store key, str + else + @header.delete key.downcase + end + str + end + private :set_string_attr + + def set_addrfield( name, arg ) + if arg + h = HeaderField.internal_new(name, @config) + h.addrs.replace [arg].flatten + @header[name] = h + else + @header.delete name + end + arg + end + private :set_addrfield + + def addrs2specs( addrs ) + return nil unless addrs + list = addrs.map {|addr| + if addr.address_group? + then addr.map {|a| a.spec } + else addr.spec + end + }.flatten + return nil if list.empty? + list + end + private :addrs2specs + + # + # date time + # + + def date( default = nil ) + if h = @header['date'] + h.date + else + default + end + end + + def date=( time ) + if time + store 'Date', time2str(time) + else + @header.delete 'date' + end + time + end + + def strftime( fmt, default = nil ) + if t = date + t.strftime(fmt) + else + default + end + end + + # + # destination + # + + def to_addrs( default = nil ) + if h = @header['to'] + h.addrs + else + default + end + end + + def cc_addrs( default = nil ) + if h = @header['cc'] + h.addrs + else + default + end + end + + def bcc_addrs( default = nil ) + if h = @header['bcc'] + h.addrs + else + default + end + end + + def to_addrs=( arg ) + set_addrfield 'to', arg + end + + def cc_addrs=( arg ) + set_addrfield 'cc', arg + end + + def bcc_addrs=( arg ) + set_addrfield 'bcc', arg + end + + def to( default = nil ) + addrs2specs(to_addrs(nil)) || default + end + + def cc( default = nil ) + addrs2specs(cc_addrs(nil)) || default + end + + def bcc( default = nil ) + addrs2specs(bcc_addrs(nil)) || default + end + + def to=( *strs ) + set_string_array_attr 'To', strs + end + + def cc=( *strs ) + set_string_array_attr 'Cc', strs + end + + def bcc=( *strs ) + set_string_array_attr 'Bcc', strs + end + + # + # originator + # + + def from_addrs( default = nil ) + if h = @header['from'] + h.addrs + else + default + end + end + + def from_addrs=( arg ) + set_addrfield 'from', arg + end + + def from( default = nil ) + addrs2specs(from_addrs(nil)) || default + end + + def from=( *strs ) + set_string_array_attr 'From', strs + end + + def friendly_from( default = nil ) + h = @header['from'] + a, = h.addrs + return default unless a + return a.phrase if a.phrase + return h.comments.join(' ') unless h.comments.empty? + a.spec + end + + + def reply_to_addrs( default = nil ) + if h = @header['reply-to'] + h.addrs + else + default + end + end + + def reply_to_addrs=( arg ) + set_addrfield 'reply-to', arg + end + + def reply_to( default = nil ) + addrs2specs(reply_to_addrs(nil)) || default + end + + def reply_to=( *strs ) + set_string_array_attr 'Reply-To', strs + end + + + def sender_addr( default = nil ) + f = @header['sender'] or return default + f.addr or return default + end + + def sender_addr=( addr ) + if addr + h = HeaderField.internal_new('sender', @config) + h.addr = addr + @header['sender'] = h + else + @header.delete 'sender' + end + addr + end + + def sender( default ) + f = @header['sender'] or return default + a = f.addr or return default + a.spec + end + + def sender=( str ) + set_string_attr 'Sender', str + end + + + # + # subject + # + + def subject( default = nil ) + if h = @header['subject'] + h.body + else + default + end + end + alias quoted_subject subject + + def subject=( str ) + set_string_attr 'Subject', str + end + + # + # identity & threading + # + + def message_id( default = nil ) + if h = @header['message-id'] + h.id || default + else + default + end + end + + def message_id=( str ) + set_string_attr 'Message-Id', str + end + + def in_reply_to( default = nil ) + if h = @header['in-reply-to'] + h.ids + else + default + end + end + + def in_reply_to=( *idstrs ) + set_string_array_attr 'In-Reply-To', idstrs + end + + def references( default = nil ) + if h = @header['references'] + h.refs + else + default + end + end + + def references=( *strs ) + set_string_array_attr 'References', strs + end + + # + # MIME headers + # + + def mime_version( default = nil ) + if h = @header['mime-version'] + h.version || default + else + default + end + end + + def mime_version=( m, opt = nil ) + if opt + if h = @header['mime-version'] + h.major = m + h.minor = opt + else + store 'Mime-Version', "#{m}.#{opt}" + end + else + store 'Mime-Version', m + end + m + end + + def content_type( default = nil ) + if h = @header['content-type'] + h.content_type || default + else + default + end + end + + def main_type( default = nil ) + if h = @header['content-type'] + h.main_type || default + else + default + end + end + + def sub_type( default = nil ) + if h = @header['content-type'] + h.sub_type || default + else + default + end + end + + def set_content_type( str, sub = nil, param = nil ) + if sub + main, sub = str, sub + else + main, sub = str.split(%r, 2) + raise ArgumentError, "sub type missing: #{str.inspect}" unless sub + end + if h = @header['content-type'] + h.main_type = main + h.sub_type = sub + h.params.clear + else + store 'Content-Type', "#{main}/#{sub}" + end + @header['content-type'].params.replace param if param + str + end + + alias content_type= set_content_type + + def type_param( name, default = nil ) + if h = @header['content-type'] + h[name] || default + else + default + end + end + + def charset( default = nil ) + if h = @header['content-type'] + h['charset'] or default + else + default + end + end + + def charset=( str ) + if str + if h = @header[ 'content-type' ] + h['charset'] = str + else + store 'Content-Type', "text/plain; charset=#{str}" + end + end + str + end + + def transfer_encoding( default = nil ) + if h = @header['content-transfer-encoding'] + h.encoding || default + else + default + end + end + + def transfer_encoding=( str ) + set_string_attr 'Content-Transfer-Encoding', str + end + + alias encoding transfer_encoding + alias encoding= transfer_encoding= + alias content_transfer_encoding transfer_encoding + alias content_transfer_encoding= transfer_encoding= + + def disposition( default = nil ) + if h = @header['content-disposition'] + h.disposition || default + else + default + end + end + + alias content_disposition disposition + + def set_disposition( str, params = nil ) + if h = @header['content-disposition'] + h.disposition = str + h.params.clear + else + store('Content-Disposition', str) + h = @header['content-disposition'] + end + h.params.replace params if params + end + + alias disposition= set_disposition + alias set_content_disposition set_disposition + alias content_disposition= set_disposition + + def disposition_param( name, default = nil ) + if h = @header['content-disposition'] + h[name] || default + else + default + end + end + + ### + ### utils + ### + + def create_reply + mail = TMail::Mail.parse('') + mail.subject = 'Re: ' + subject('').sub(/\A(?:\[[^\]]+\])?(?:\s*Re:)*\s*/i, '') + mail.to_addrs = reply_addresses([]) + mail.in_reply_to = [message_id(nil)].compact + mail.references = references([]) + [message_id(nil)].compact + mail.mime_version = '1.0' + mail + end + + def base64_encode + store 'Content-Transfer-Encoding', 'Base64' + self.body = Base64.folding_encode(self.body) + end + + def base64_decode + if /base64/i === self.transfer_encoding('') + store 'Content-Transfer-Encoding', '8bit' + self.body = Base64.decode(self.body, @config.strict_base64decode?) + end + end + + def destinations( default = nil ) + ret = [] + %w( to cc bcc ).each do |nm| + if h = @header[nm] + h.addrs.each {|i| ret.push i.address } + end + end + ret.empty? ? default : ret + end + + def each_destination( &block ) + destinations([]).each do |i| + if Address === i + yield i + else + i.each(&block) + end + end + end + + alias each_dest each_destination + + def reply_addresses( default = nil ) + reply_to_addrs(nil) or from_addrs(nil) or default + end + + def error_reply_addresses( default = nil ) + if s = sender(nil) + [s] + else + from_addrs(default) + end + end + + def multipart? + main_type('').downcase == 'multipart' + end + + end # class Mail + +end # module TMail diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/loader.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/loader.rb similarity index 100% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/loader.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/loader.rb diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mail.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mail.rb similarity index 94% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mail.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mail.rb index e11fa0f0..d10275b7 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mail.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mail.rb @@ -1,6 +1,8 @@ -# -# mail.rb -# +=begin rdoc + += Mail class + +=end #-- # Copyright (c) 1998-2003 Minero Aoki # @@ -27,7 +29,7 @@ # with permission of Minero Aoki. #++ -require 'tmail/facade' +require 'tmail/interface' require 'tmail/encode' require 'tmail/header' require 'tmail/port' @@ -37,7 +39,6 @@ require 'tmail/attachments' require 'tmail/quoting' require 'socket' - module TMail class Mail @@ -53,6 +54,7 @@ module TMail def parse( str ) new(StringPort.new(str)) end + end def initialize( port = nil, conf = DEFAULT_CONFIG ) @@ -355,6 +357,19 @@ module TMail end def body=( str ) + # Sets the body of the email to a new (encoded) string. + # + # We also reparses the email if the body is ever reassigned, this is a performance hit, however when + # you assign the body, you usually want to be able to make sure that you can access the attachments etc. + # + # Usage: + # + # mail.body = "Hello, this is\nthe body text" + # # => "Hello, this is\nthe body" + # mail.body + # # => "Hello, this is\nthe body" + @body_parsed = false + parse_body(StringInput.new(str)) parse_body @body_port.wopen {|f| f.write str } str diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mailbox.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mailbox.rb similarity index 99% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mailbox.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mailbox.rb index d85915ed..bb7a460e 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mailbox.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mailbox.rb @@ -1,6 +1,8 @@ -# -# mailbox.rb -# +=begin rdoc + += Mailbox and Mbox interaction class + +=end #-- # Copyright (c) 1998-2003 Minero Aoki # diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mbox.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mbox.rb similarity index 100% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/mbox.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/mbox.rb diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/net.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/net.rb similarity index 99% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/net.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/net.rb index f96cf64c..50b1dd95 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/net.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/net.rb @@ -1,6 +1,8 @@ -# -# net.rb -# +=begin rdoc + += Net provides SMTP wrapping + +=end #-- # Copyright (c) 1998-2003 Minero Aoki # diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/obsolete.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/obsolete.rb similarity index 98% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/obsolete.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/obsolete.rb index f98be747..b871510b 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/obsolete.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/obsolete.rb @@ -1,6 +1,8 @@ -# -# obsolete.rb -# +=begin rdoc + += Obsolete methods that are depriciated + +=end #-- # Copyright (c) 1998-2003 Minero Aoki # diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/parser.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.rb similarity index 70% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/parser.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.rb index 825eca92..5deb0ff6 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/parser.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.rb @@ -1,38 +1,32 @@ -# # DO NOT MODIFY!!!! -# This file is automatically generated by racc 1.4.3 +# This file is automatically generated by racc 1.4.5 # from racc grammer file "parser.y". # # # parser.rb: generated by racc (runtime embedded) # - -###### racc/parser.rb - +###### racc/parser.rb begin unless $".index 'racc/parser.rb' $".push 'racc/parser.rb' -self.class.module_eval <<'..end /home/aamine/lib/ruby/racc/parser.rb modeval..idb76f2e220d', '/home/aamine/lib/ruby/racc/parser.rb', 1 +self.class.module_eval <<'..end racc/parser.rb modeval..id8076474214', 'racc/parser.rb', 1 # -# parser.rb +# $Id: parser.rb,v 1.7 2005/11/20 17:31:32 aamine Exp $ # -# Copyright (c) 1999-2003 Minero Aoki +# Copyright (c) 1999-2005 Minero Aoki # -# This program is free software. -# You can distribute/modify this program under the same terms of ruby. +# This program is free software. +# You can distribute/modify this program under the same terms of ruby. # -# As a special exception, when this code is copied by Racc -# into a Racc output file, you may use that output file -# without restriction. -# -# $Id: parser.rb,v 1.1.1.1 2004/10/14 11:59:58 webster132 Exp $ +# As a special exception, when this code is copied by Racc +# into a Racc output file, you may use that output file +# without restriction. # -unless defined? NotImplementedError +unless defined?(NotImplementedError) NotImplementedError = NotImplementError end - module Racc class ParseError < StandardError; end end @@ -40,24 +34,23 @@ unless defined?(::ParseError) ParseError = Racc::ParseError end - module Racc - unless defined? Racc_No_Extentions + unless defined?(Racc_No_Extentions) Racc_No_Extentions = false end class Parser - Racc_Runtime_Version = '1.4.3' - Racc_Runtime_Revision = '$Revision: 1.1.1.1 $'.split(/\s+/)[1] + Racc_Runtime_Version = '1.4.5' + Racc_Runtime_Revision = '$Revision: 1.7 $'.split[1] - Racc_Runtime_Core_Version_R = '1.4.3' - Racc_Runtime_Core_Revision_R = '$Revision: 1.1.1.1 $'.split(/\s+/)[1] + Racc_Runtime_Core_Version_R = '1.4.5' + Racc_Runtime_Core_Revision_R = '$Revision: 1.7 $'.split[1] begin require 'racc/cparse' # Racc_Runtime_Core_Version_C = (defined in extention) - Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split(/\s+/)[2] + Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split[2] unless new.respond_to?(:_racc_do_parse_c, true) raise LoadError, 'old cparse.so' end @@ -78,7 +71,7 @@ module Racc Racc_Runtime_Type = 'ruby' end - def self.racc_runtime_type + def Parser.racc_runtime_type Racc_Runtime_Type end @@ -86,9 +79,9 @@ module Racc def _racc_setup @yydebug = false unless self.class::Racc_debug_parser - @yydebug = false unless defined? @yydebug + @yydebug = false unless defined?(@yydebug) if @yydebug - @racc_debug_out = $stderr unless defined? @racc_debug_out + @racc_debug_out = $stderr unless defined?(@racc_debug_out) @racc_debug_out ||= $stderr end arg = self.class::Racc_arg @@ -110,20 +103,19 @@ module Racc @racc_error_status = 0 end - ### ### do_parse ### def do_parse - __send__ Racc_Main_Parsing_Routine, _racc_setup(), false + __send__(Racc_Main_Parsing_Routine, _racc_setup(), false) end def next_token raise NotImplementedError, "#{self.class}\#next_token is not defined" end - def _racc_do_parse_rb( arg, in_debug ) + def _racc_do_parse_rb(arg, in_debug) action_table, action_check, action_default, action_pointer, goto_table, goto_check, goto_default, goto_pointer, nt_base, reduce_table, token_table, shift_n, @@ -134,47 +126,45 @@ module Racc nerr = 0 catch(:racc_end_parse) { - while true - if i = action_pointer[@racc_state[-1]] - if @racc_read_next - if @racc_t != 0 # not EOF - tok, @racc_val = next_token() - unless tok # EOF - @racc_t = 0 - else - @racc_t = (token_table[tok] or 1) # error token - end - racc_read_token(@racc_t, tok, @racc_val) if @yydebug - @racc_read_next = false + while true + if i = action_pointer[@racc_state[-1]] + if @racc_read_next + if @racc_t != 0 # not EOF + tok, @racc_val = next_token() + unless tok # EOF + @racc_t = 0 + else + @racc_t = (token_table[tok] or 1) # error token end + racc_read_token(@racc_t, tok, @racc_val) if @yydebug + @racc_read_next = false end - i += @racc_t - if i >= 0 and - act = action_table[i] and - action_check[i] == @racc_state[-1] - ; - else - act = action_default[@racc_state[-1]] - end - else + end + i += @racc_t + unless i >= 0 and + act = action_table[i] and + action_check[i] == @racc_state[-1] act = action_default[@racc_state[-1]] end - while act = _racc_evalact(act, arg) - end + else + act = action_default[@racc_state[-1]] end + while act = _racc_evalact(act, arg) + ; + end + end } end - ### ### yyparse ### - def yyparse( recv, mid ) - __send__ Racc_YY_Parse_Method, recv, mid, _racc_setup(), true + def yyparse(recv, mid) + __send__(Racc_YY_Parse_Method, recv, mid, _racc_setup(), true) end - def _racc_yyparse_rb( recv, mid, arg, c_debug ) + def _racc_yyparse_rb(recv, mid, arg, c_debug) action_table, action_check, action_default, action_pointer, goto_table, goto_check, goto_default, goto_pointer, nt_base, reduce_table, token_table, shift_n, @@ -186,15 +176,13 @@ module Racc i = nil nerr = 0 - catch(:racc_end_parse) { until i = action_pointer[@racc_state[-1]] while act = _racc_evalact(action_default[@racc_state[-1]], arg) + ; end end - recv.__send__(mid) do |tok, val| -# $stderr.puts "rd: tok=#{tok}, val=#{val}" unless tok @racc_t = 0 else @@ -204,67 +192,53 @@ module Racc @racc_read_next = false i += @racc_t - if i >= 0 and - act = action_table[i] and - action_check[i] == @racc_state[-1] - ; -# $stderr.puts "01: act=#{act}" - else + unless i >= 0 and + act = action_table[i] and + action_check[i] == @racc_state[-1] act = action_default[@racc_state[-1]] -# $stderr.puts "02: act=#{act}" -# $stderr.puts "curstate=#{@racc_state[-1]}" end - while act = _racc_evalact(act, arg) + ; end while not (i = action_pointer[@racc_state[-1]]) or not @racc_read_next or @racc_t == 0 # $ - if i and i += @racc_t and - i >= 0 and - act = action_table[i] and - action_check[i] == @racc_state[-1] - ; -# $stderr.puts "03: act=#{act}" - else -# $stderr.puts "04: act=#{act}" + unless i and i += @racc_t and + i >= 0 and + act = action_table[i] and + action_check[i] == @racc_state[-1] act = action_default[@racc_state[-1]] end - while act = _racc_evalact(act, arg) + ; end end end } end - ### ### common ### - def _racc_evalact( act, arg ) -# $stderr.puts "ea: act=#{act}" + def _racc_evalact(act, arg) action_table, action_check, action_default, action_pointer, goto_table, goto_check, goto_default, goto_pointer, nt_base, reduce_table, token_table, shift_n, reduce_n, use_result, * = arg -nerr = 0 # tmp + nerr = 0 # tmp if act > 0 and act < shift_n # # shift # - if @racc_error_status > 0 @racc_error_status -= 1 unless @racc_t == 1 # error token end - @racc_vstack.push @racc_val @racc_state.push act @racc_read_next = true - if @yydebug @racc_tstack.push @racc_t racc_shift @racc_t, @racc_tstack, @racc_vstack @@ -274,10 +248,9 @@ nerr = 0 # tmp # # reduce # - code = catch(:racc_jump) { - @racc_state.push _racc_do_reduce(arg, act) - false + @racc_state.push _racc_do_reduce(arg, act) + false } if code case code @@ -287,7 +260,7 @@ nerr = 0 # tmp when 2 # yyaccept return shift_n else - raise RuntimeError, '[Racc Bug] unknown jump code' + raise '[Racc Bug] unknown jump code' end end @@ -295,7 +268,6 @@ nerr = 0 # tmp # # accept # - racc_accept if @yydebug throw :racc_end_parse, @racc_vstack[0] @@ -303,7 +275,6 @@ nerr = 0 # tmp # # error # - case @racc_error_status when 0 unless arg[21] # user_yyerror @@ -318,7 +289,6 @@ nerr = 0 # tmp end @racc_user_yyerror = false @racc_error_status = 3 - while true if i = action_pointer[@racc_state[-1]] i += 1 # error token @@ -328,8 +298,7 @@ nerr = 0 # tmp break end end - - throw :racc_end_parse, nil if @racc_state.size < 2 + throw :racc_end_parse, nil if @racc_state.size <= 1 @racc_state.pop @racc_vstack.pop if @yydebug @@ -337,11 +306,10 @@ nerr = 0 # tmp racc_e_pop @racc_state, @racc_tstack, @racc_vstack end end - return act else - raise RuntimeError, "[Racc Bug] unknown action #{act.inspect}" + raise "[Racc Bug] unknown action #{act.inspect}" end racc_next_state(@racc_state[-1], @racc_state) if @yydebug @@ -349,7 +317,7 @@ nerr = 0 # tmp nil end - def _racc_do_reduce( arg, act ) + def _racc_do_reduce(arg, act) action_table, action_check, action_default, action_pointer, goto_table, goto_check, goto_default, goto_pointer, nt_base, reduce_table, token_table, shift_n, @@ -390,7 +358,7 @@ nerr = 0 # tmp goto_default[k1] end - def on_error( t, val, vstack ) + def on_error(t, val, vstack) raise ParseError, sprintf("\nparse error on value %s (%s)", val.inspect, token_to_str(t) || '?') end @@ -407,23 +375,24 @@ nerr = 0 # tmp @racc_error_status = 0 end - + # # for debugging output + # - def racc_read_token( t, tok, val ) + def racc_read_token(t, tok, val) @racc_debug_out.print 'read ' @racc_debug_out.print tok.inspect, '(', racc_token2str(t), ') ' @racc_debug_out.puts val.inspect @racc_debug_out.puts end - def racc_shift( tok, tstack, vstack ) + def racc_shift(tok, tstack, vstack) @racc_debug_out.puts "shift #{racc_token2str tok}" racc_print_stacks tstack, vstack @racc_debug_out.puts end - def racc_reduce( toks, sim, tstack, vstack ) + def racc_reduce(toks, sim, tstack, vstack) out = @racc_debug_out out.print 'reduce ' if toks.empty? @@ -442,20 +411,20 @@ nerr = 0 # tmp @racc_debug_out.puts end - def racc_e_pop( state, tstack, vstack ) + def racc_e_pop(state, tstack, vstack) @racc_debug_out.puts 'error recovering mode: pop token' racc_print_states state racc_print_stacks tstack, vstack @racc_debug_out.puts end - def racc_next_state( curstate, state ) + def racc_next_state(curstate, state) @racc_debug_out.puts "goto #{curstate}" racc_print_states state @racc_debug_out.puts end - def racc_print_stacks( t, v ) + def racc_print_stacks(t, v) out = @racc_debug_out out.print ' [' t.each_index do |i| @@ -464,57 +433,39 @@ nerr = 0 # tmp out.puts ' ]' end - def racc_print_states( s ) + def racc_print_states(s) out = @racc_debug_out out.print ' [' s.each {|st| out.print ' ', st } out.puts ' ]' end - def racc_token2str( tok ) + def racc_token2str(tok) self.class::Racc_token_to_s_table[tok] or - raise RuntimeError, "[Racc Bug] can't convert token #{tok} to string" + raise "[Racc Bug] can't convert token #{tok} to string" end - def token_to_str( t ) + def token_to_str(t) self.class::Racc_token_to_s_table[t] end end end -..end /home/aamine/lib/ruby/racc/parser.rb modeval..idb76f2e220d -end # end of racc/parser.rb +..end racc/parser.rb modeval..id8076474214 +end +###### racc/parser.rb end # # parser.rb # -#-- -# Copyright (c) 1998-2003 Minero Aoki +# Copyright (c) 1998-2007 Minero Aoki # -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: +# This program is free software. +# You can distribute/modify this program under the terms of +# the GNU Lesser General Public License version 2.1. # -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Note: Originally licensed under LGPL v2+. Using MIT license for Rails -# with permission of Minero Aoki. -#++ require 'tmail/scanner' require 'tmail/utils' @@ -524,7 +475,7 @@ module TMail class Parser < Racc::Parser -module_eval <<'..end parser.y modeval..id43721faf1c', 'parser.y', 331 +module_eval <<'..end parser.y modeval..id7b0b3dccb7', 'parser.y', 340 include TextUtils @@ -567,9 +518,9 @@ module_eval <<'..end parser.y modeval..id43721faf1c', 'parser.y', 331 raise SyntaxError, "parse error on token #{racc_token2str t}" end -..end parser.y modeval..id43721faf1c +..end parser.y modeval..id7b0b3dccb7 -##### racc 1.4.3 generates ### +##### racc 1.4.5 generates ### racc_reduce_table = [ 0, 0, :racc_error, @@ -669,10 +620,9 @@ racc_reduce_table = [ 3, 43, :_reduce_94, 0, 80, :_reduce_95, 5, 80, :_reduce_96, - 1, 82, :_reduce_none, - 1, 82, :_reduce_none, - 1, 44, :_reduce_99, - 3, 45, :_reduce_100, + 5, 80, :_reduce_97, + 1, 44, :_reduce_98, + 3, 45, :_reduce_99, 0, 81, :_reduce_none, 1, 81, :_reduce_none, 1, 78, :_reduce_none, @@ -683,15 +633,15 @@ racc_reduce_table = [ 1, 78, :_reduce_none, 1, 78, :_reduce_none ] -racc_reduce_n = 110 +racc_reduce_n = 109 -racc_shift_n = 168 +racc_shift_n = 167 racc_action_table = [ - -70, -69, 23, 25, 146, 147, 29, 31, 105, 106, + -70, -69, 23, 25, 145, 146, 29, 31, 105, 106, 16, 17, 20, 22, 136, 27, -70, -69, 32, 101, - -70, -69, 154, 100, 113, 115, -70, -69, -70, 109, - 75, 23, 25, 101, 155, 29, 31, 142, 143, 16, + -70, -69, 153, 100, 113, 115, -70, -69, -70, 109, + 75, 23, 25, 101, 154, 29, 31, 142, 143, 16, 17, 20, 22, 107, 27, 23, 25, 32, 98, 29, 31, 96, 94, 16, 17, 20, 22, 78, 27, 23, 25, 32, 112, 29, 31, 74, 91, 16, 17, 20, @@ -703,11 +653,11 @@ racc_action_table = [ 78, 29, 31, 133, 78, 16, 17, 20, 22, 77, 23, 25, 75, 32, 29, 31, 65, 62, 16, 17, 20, 22, 139, 23, 25, 101, 32, 29, 31, 60, - 100, 16, 17, 20, 22, 44, 27, 101, 148, 32, - 23, 25, 120, 149, 29, 31, 152, 153, 16, 17, - 20, 22, 42, 27, 157, 159, 32, 23, 25, 120, - 40, 29, 31, 15, 164, 16, 17, 20, 22, 40, - 27, 23, 25, 32, 68, 29, 31, 166, 167, 16, + 100, 16, 17, 20, 22, 44, 27, 101, 147, 32, + 23, 25, 120, 148, 29, 31, 151, 152, 16, 17, + 20, 22, 42, 27, 156, 158, 32, 23, 25, 120, + 40, 29, 31, 15, 163, 16, 17, 20, 22, 40, + 27, 23, 25, 32, 68, 29, 31, 165, 166, 16, 17, 20, 22, nil, 27, 23, 25, 32, nil, 29, 31, 74, nil, 16, 17, 20, 22, nil, 23, 25, nil, 32, 29, 31, nil, nil, 16, 17, 20, 22, @@ -735,9 +685,9 @@ racc_action_check = [ 68, 68, 68, 68, 126, 68, 75, 28, 68, 67, 75, 28, 143, 66, 86, 86, 75, 28, 75, 75, 28, 3, 3, 86, 143, 3, 3, 134, 134, 3, - 3, 3, 3, 73, 3, 152, 152, 3, 62, 152, - 152, 60, 56, 152, 152, 152, 152, 51, 152, 52, - 52, 152, 80, 52, 52, 52, 50, 52, 52, 52, + 3, 3, 3, 73, 3, 151, 151, 3, 62, 151, + 151, 60, 56, 151, 151, 151, 151, 51, 151, 52, + 52, 151, 80, 52, 52, 52, 50, 52, 52, 52, 52, 45, 89, 52, 42, 52, 71, 71, 41, 96, 71, 71, 97, 98, 71, 71, 71, 71, 100, 7, 7, 101, 71, 7, 7, 102, 104, 7, 7, 7, @@ -748,13 +698,13 @@ racc_action_check = [ 10, 10, 130, 2, 2, 131, 10, 2, 2, 11, 135, 2, 2, 2, 2, 6, 2, 138, 139, 2, 90, 90, 90, 140, 90, 90, 141, 142, 90, 90, - 90, 90, 5, 90, 148, 151, 90, 127, 127, 127, - 4, 127, 127, 1, 157, 127, 127, 127, 127, 159, - 127, 26, 26, 127, 26, 26, 26, 163, 164, 26, + 90, 90, 5, 90, 147, 150, 90, 127, 127, 127, + 4, 127, 127, 1, 156, 127, 127, 127, 127, 158, + 127, 26, 26, 127, 26, 26, 26, 162, 163, 26, 26, 26, 26, nil, 26, 27, 27, 26, nil, 27, - 27, 27, nil, 27, 27, 27, 27, nil, 155, 155, - nil, 27, 155, 155, nil, nil, 155, 155, 155, 155, - nil, 122, 122, nil, 155, 122, 122, nil, nil, 122, + 27, 27, nil, 27, 27, 27, 27, nil, 154, 154, + nil, 27, 154, 154, nil, nil, 154, 154, 154, 154, + nil, 122, 122, nil, 154, 122, 122, nil, nil, 122, 122, 122, 122, nil, 76, 76, nil, 122, 76, 76, nil, nil, 76, 76, 76, 76, nil, 38, 38, nil, 76, 38, 38, nil, nil, 38, 38, 38, 38, nil, @@ -788,78 +738,78 @@ racc_action_pointer = [ nil, 80, 96, 344, 296, nil, nil, 108, nil, nil, nil, 98, 217, nil, nil, nil, -19, 163, nil, 380, 128, 116, nil, nil, 14, 124, -26, nil, 128, 141, - 148, 141, 152, 7, nil, nil, nil, nil, 160, nil, - nil, 149, 31, nil, nil, 204, nil, 167, nil, 174, - nil, nil, nil, 169, 184, nil, nil, nil ] + 148, 141, 152, 7, nil, nil, nil, 160, nil, nil, + 149, 31, nil, nil, 204, nil, 167, nil, 174, nil, + nil, nil, 169, 184, nil, nil, nil ] racc_action_default = [ - -110, -110, -110, -110, -14, -110, -20, -110, -110, -110, - -110, -110, -110, -110, -10, -95, -106, -107, -77, -44, - -108, -11, -109, -79, -43, -103, -110, -110, -60, -104, - -55, -105, -78, -68, -54, -71, -45, -12, -110, -1, - -110, -110, -110, -2, -110, -22, -51, -48, -50, -3, - -40, -41, -110, -46, -4, -86, -5, -88, -6, -90, - -110, -7, -95, -8, -9, -99, -101, -61, -59, -56, - -69, -110, -110, -110, -110, -75, -110, -110, -57, -15, - -110, 168, -73, -80, -82, -21, -24, -81, -110, -27, - -110, -83, -47, -89, -110, -91, -110, -101, -110, -100, - -102, -75, -58, -52, -110, -110, -64, -63, -65, -76, - -72, -67, -110, -110, -110, -26, -23, -110, -29, -49, - -84, -42, -87, -92, -94, -95, -110, -110, -62, -110, - -110, -25, -74, -28, -31, -101, -110, -53, -66, -110, - -110, -34, -110, -110, -93, -96, -98, -97, -110, -18, - -13, -38, -110, -30, -33, -110, -32, -16, -19, -14, - -35, -36, -37, -110, -110, -39, -85, -17 ] + -109, -109, -109, -109, -14, -109, -20, -109, -109, -109, + -109, -109, -109, -109, -10, -95, -105, -106, -77, -44, + -107, -11, -108, -79, -43, -102, -109, -109, -60, -103, + -55, -104, -78, -68, -54, -71, -45, -12, -109, -1, + -109, -109, -109, -2, -109, -22, -51, -48, -50, -3, + -40, -41, -109, -46, -4, -86, -5, -88, -6, -90, + -109, -7, -95, -8, -9, -98, -100, -61, -59, -56, + -69, -109, -109, -109, -109, -75, -109, -109, -57, -15, + -109, 167, -73, -80, -82, -21, -24, -81, -109, -27, + -109, -83, -47, -89, -109, -91, -109, -100, -109, -99, + -101, -75, -58, -52, -109, -109, -64, -63, -65, -76, + -72, -67, -109, -109, -109, -26, -23, -109, -29, -49, + -84, -42, -87, -92, -94, -95, -109, -109, -62, -109, + -109, -25, -74, -28, -31, -100, -109, -53, -66, -109, + -109, -34, -109, -109, -93, -96, -97, -109, -18, -13, + -38, -109, -30, -33, -109, -32, -16, -19, -14, -35, + -36, -37, -109, -109, -39, -85, -17 ] racc_goto_table = [ - 39, 67, 70, 73, 24, 37, 69, 66, 36, 38, - 57, 59, 55, 67, 108, 83, 90, 111, 69, 99, - 85, 49, 53, 76, 158, 134, 141, 70, 73, 151, - 118, 89, 45, 156, 160, 150, 140, 21, 14, 19, - 119, 102, 64, 63, 61, 83, 70, 104, 83, 58, - 124, 132, 56, 131, 97, 54, 93, 43, 5, 83, - 95, 145, 76, nil, 116, 76, nil, nil, 127, 138, - 103, nil, nil, nil, 38, nil, nil, 110, nil, nil, - nil, nil, nil, nil, 83, 83, nil, nil, 144, nil, - nil, nil, nil, nil, nil, 57, 121, 122, nil, nil, - 83, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, 135, nil, nil, - nil, nil, nil, 93, nil, nil, nil, 70, 162, 137, - 70, 163, 161, 38, nil, nil, nil, nil, nil, nil, + 39, 67, 70, 73, 38, 66, 69, 24, 37, 57, + 59, 36, 55, 67, 99, 90, 85, 157, 69, 108, + 83, 134, 111, 76, 49, 53, 141, 70, 73, 150, + 118, 89, 45, 155, 159, 149, 140, 21, 14, 19, + 119, 102, 64, 63, 61, 124, 70, 104, 58, 132, + 83, 56, 97, 83, 54, 93, 43, 5, 131, 95, + 116, nil, 76, nil, 83, 76, nil, 127, nil, 38, + nil, nil, nil, 103, 138, nil, 110, nil, nil, nil, + nil, nil, nil, 144, nil, nil, nil, nil, nil, 83, + 83, nil, nil, nil, 57, nil, nil, 122, nil, 121, + nil, nil, nil, nil, nil, 83, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 135, nil, nil, nil, nil, + nil, nil, 93, nil, nil, nil, 70, 161, 38, 70, + 162, 160, 137, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 165 ] + nil, nil, nil, nil, 164 ] racc_goto_check = [ - 2, 37, 37, 29, 13, 13, 28, 46, 31, 36, - 41, 41, 45, 37, 25, 44, 32, 25, 28, 47, - 24, 4, 4, 42, 23, 20, 21, 37, 29, 22, + 2, 37, 37, 29, 36, 46, 28, 13, 13, 41, + 41, 31, 45, 37, 47, 32, 24, 23, 28, 25, + 44, 20, 25, 42, 4, 4, 21, 37, 29, 22, 19, 18, 17, 26, 27, 16, 15, 12, 11, 33, - 34, 35, 10, 9, 8, 44, 37, 29, 44, 7, - 47, 43, 6, 25, 46, 5, 41, 3, 1, 44, - 41, 48, 42, nil, 24, 42, nil, nil, 32, 25, - 13, nil, nil, nil, 36, nil, nil, 41, nil, nil, - nil, nil, nil, nil, 44, 44, nil, nil, 47, nil, - nil, nil, nil, nil, nil, 41, 31, 45, nil, nil, - 44, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, 46, nil, nil, - nil, nil, nil, 41, nil, nil, nil, 37, 29, 13, - 37, 29, 28, 36, nil, nil, nil, nil, nil, nil, + 34, 35, 10, 9, 8, 47, 37, 29, 7, 43, + 44, 6, 46, 44, 5, 41, 3, 1, 25, 41, + 24, nil, 42, nil, 44, 42, nil, 32, nil, 36, + nil, nil, nil, 13, 25, nil, 41, nil, nil, nil, + nil, nil, nil, 47, nil, nil, nil, nil, nil, 44, + 44, nil, nil, nil, 41, nil, nil, 45, nil, 31, + nil, nil, nil, nil, nil, 44, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 46, nil, nil, nil, nil, + nil, nil, 41, nil, nil, nil, 37, 29, 36, 37, + 29, 28, 13, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, 2 ] + nil, nil, nil, nil, 2 ] racc_goto_pointer = [ - nil, 58, -4, 51, 14, 47, 43, 39, 33, 31, - 29, 37, 35, 2, nil, -94, -105, 26, -14, -59, - -93, -108, -112, -127, -24, -60, -110, -118, -20, -24, - nil, 6, -34, 37, -50, -27, 6, -25, nil, nil, - nil, 1, -5, -63, -29, 3, -8, -47, -75 ] + nil, 57, -4, 50, 17, 46, 42, 38, 33, 31, + 29, 37, 35, 5, nil, -94, -105, 26, -14, -59, + -97, -108, -112, -133, -28, -55, -110, -117, -20, -24, + nil, 9, -35, 37, -50, -27, 1, -25, nil, nil, + nil, 0, -5, -65, -24, 3, -10, -52 ] racc_goto_default = [ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 48, 41, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 86, nil, nil, 30, 34, 50, 51, nil, 46, 47, nil, 26, 28, 71, 72, - 33, 35, 114, 82, 18, nil, nil, nil, nil ] + 33, 35, 114, 82, 18, nil, nil, nil ] racc_token_table = { false => 0, @@ -999,8 +949,7 @@ Racc_token_to_s_table = [ 'atom', 'phrase', 'params', -'opt_semicolon', -'value'] +'opt_semicolon'] Racc_debug_parser = false @@ -1080,7 +1029,7 @@ module_eval <<'.,.,', 'parser.y', 27 end .,., -module_eval <<'.,.,', 'parser.y', 33 +module_eval <<'.,.,', 'parser.y', 36 def _reduce_13( val, _values) t = Time.gm(val[3].to_i, val[2], val[1].to_i, 0, 0, 0) (t + val[4] - val[5]).localtime @@ -1091,14 +1040,14 @@ module_eval <<'.,.,', 'parser.y', 33 # reduce 15 omitted -module_eval <<'.,.,', 'parser.y', 42 +module_eval <<'.,.,', 'parser.y', 45 def _reduce_16( val, _values) (val[0].to_i * 60 * 60) + (val[2].to_i * 60) end .,., -module_eval <<'.,.,', 'parser.y', 47 +module_eval <<'.,.,', 'parser.y', 51 def _reduce_17( val, _values) (val[0].to_i * 60 * 60) + (val[2].to_i * 60) + @@ -1106,13 +1055,13 @@ module_eval <<'.,.,', 'parser.y', 47 end .,., -module_eval <<'.,.,', 'parser.y', 54 +module_eval <<'.,.,', 'parser.y', 56 def _reduce_18( val, _values) timezone_string_to_unixtime(val[0]) end .,., -module_eval <<'.,.,', 'parser.y', 59 +module_eval <<'.,.,', 'parser.y', 61 def _reduce_19( val, _values) val end @@ -1120,7 +1069,7 @@ module_eval <<'.,.,', 'parser.y', 59 # reduce 20 omitted -module_eval <<'.,.,', 'parser.y', 65 +module_eval <<'.,.,', 'parser.y', 67 def _reduce_21( val, _values) val[1] end @@ -1128,25 +1077,25 @@ module_eval <<'.,.,', 'parser.y', 65 # reduce 22 omitted -module_eval <<'.,.,', 'parser.y', 71 +module_eval <<'.,.,', 'parser.y', 73 def _reduce_23( val, _values) val[1] end .,., -module_eval <<'.,.,', 'parser.y', 77 +module_eval <<'.,.,', 'parser.y', 79 def _reduce_24( val, _values) join_domain(val[0]) end .,., -module_eval <<'.,.,', 'parser.y', 81 +module_eval <<'.,.,', 'parser.y', 83 def _reduce_25( val, _values) join_domain(val[2]) end .,., -module_eval <<'.,.,', 'parser.y', 85 +module_eval <<'.,.,', 'parser.y', 87 def _reduce_26( val, _values) join_domain(val[0]) end @@ -1154,19 +1103,19 @@ module_eval <<'.,.,', 'parser.y', 85 # reduce 27 omitted -module_eval <<'.,.,', 'parser.y', 91 +module_eval <<'.,.,', 'parser.y', 93 def _reduce_28( val, _values) val[1] end .,., -module_eval <<'.,.,', 'parser.y', 96 +module_eval <<'.,.,', 'parser.y', 98 def _reduce_29( val, _values) [] end .,., -module_eval <<'.,.,', 'parser.y', 100 +module_eval <<'.,.,', 'parser.y', 103 def _reduce_30( val, _values) val[0].push val[2] val[0] @@ -1175,13 +1124,13 @@ module_eval <<'.,.,', 'parser.y', 100 # reduce 31 omitted -module_eval <<'.,.,', 'parser.y', 107 +module_eval <<'.,.,', 'parser.y', 109 def _reduce_32( val, _values) val[1] end .,., -module_eval <<'.,.,', 'parser.y', 111 +module_eval <<'.,.,', 'parser.y', 113 def _reduce_33( val, _values) val[1] end @@ -1189,19 +1138,19 @@ module_eval <<'.,.,', 'parser.y', 111 # reduce 34 omitted -module_eval <<'.,.,', 'parser.y', 117 +module_eval <<'.,.,', 'parser.y', 119 def _reduce_35( val, _values) val[1] end .,., -module_eval <<'.,.,', 'parser.y', 123 +module_eval <<'.,.,', 'parser.y', 125 def _reduce_36( val, _values) val[0].spec end .,., -module_eval <<'.,.,', 'parser.y', 127 +module_eval <<'.,.,', 'parser.y', 129 def _reduce_37( val, _values) val[0].spec end @@ -1209,7 +1158,7 @@ module_eval <<'.,.,', 'parser.y', 127 # reduce 38 omitted -module_eval <<'.,.,', 'parser.y', 134 +module_eval <<'.,.,', 'parser.y', 136 def _reduce_39( val, _values) val[1] end @@ -1235,15 +1184,16 @@ module_eval <<'.,.,', 'parser.y', 146 end .,., -module_eval <<'.,.,', 'parser.y', 148 +module_eval <<'.,.,', 'parser.y', 152 def _reduce_48( val, _values) - val + val end .,., -module_eval <<'.,.,', 'parser.y', 149 +module_eval <<'.,.,', 'parser.y', 157 def _reduce_49( val, _values) - val[0].push val[2]; val[0] + val[0].push val[2] + val[0] end .,., @@ -1251,13 +1201,13 @@ module_eval <<'.,.,', 'parser.y', 149 # reduce 51 omitted -module_eval <<'.,.,', 'parser.y', 156 +module_eval <<'.,.,', 'parser.y', 165 def _reduce_52( val, _values) val end .,., -module_eval <<'.,.,', 'parser.y', 160 +module_eval <<'.,.,', 'parser.y', 170 def _reduce_53( val, _values) val[0].push val[2] val[0] @@ -1268,7 +1218,7 @@ module_eval <<'.,.,', 'parser.y', 160 # reduce 55 omitted -module_eval <<'.,.,', 'parser.y', 168 +module_eval <<'.,.,', 'parser.y', 178 def _reduce_56( val, _values) val[1].phrase = Decoder.decode(val[0]) val[1] @@ -1277,38 +1227,38 @@ module_eval <<'.,.,', 'parser.y', 168 # reduce 57 omitted -module_eval <<'.,.,', 'parser.y', 176 +module_eval <<'.,.,', 'parser.y', 185 def _reduce_58( val, _values) AddressGroup.new(val[0], val[2]) end .,., -module_eval <<'.,.,', 'parser.y', 178 +module_eval <<'.,.,', 'parser.y', 185 def _reduce_59( val, _values) AddressGroup.new(val[0], []) end .,., -module_eval <<'.,.,', 'parser.y', 181 +module_eval <<'.,.,', 'parser.y', 188 def _reduce_60( val, _values) val[0].join('.') end .,., -module_eval <<'.,.,', 'parser.y', 182 +module_eval <<'.,.,', 'parser.y', 189 def _reduce_61( val, _values) val[0] << ' ' << val[1].join('.') end .,., -module_eval <<'.,.,', 'parser.y', 186 +module_eval <<'.,.,', 'parser.y', 196 def _reduce_62( val, _values) val[2].routes.replace val[1] val[2] end .,., -module_eval <<'.,.,', 'parser.y', 191 +module_eval <<'.,.,', 'parser.y', 200 def _reduce_63( val, _values) val[1] end @@ -1316,25 +1266,25 @@ module_eval <<'.,.,', 'parser.y', 191 # reduce 64 omitted -module_eval <<'.,.,', 'parser.y', 196 +module_eval <<'.,.,', 'parser.y', 203 def _reduce_65( val, _values) [ val[1].join('.') ] end .,., -module_eval <<'.,.,', 'parser.y', 197 +module_eval <<'.,.,', 'parser.y', 204 def _reduce_66( val, _values) val[0].push val[3].join('.'); val[0] end .,., -module_eval <<'.,.,', 'parser.y', 199 +module_eval <<'.,.,', 'parser.y', 206 def _reduce_67( val, _values) Address.new( val[0], val[2] ) end .,., -module_eval <<'.,.,', 'parser.y', 200 +module_eval <<'.,.,', 'parser.y', 207 def _reduce_68( val, _values) Address.new( val[0], nil ) end @@ -1342,19 +1292,19 @@ module_eval <<'.,.,', 'parser.y', 200 # reduce 69 omitted -module_eval <<'.,.,', 'parser.y', 203 +module_eval <<'.,.,', 'parser.y', 210 def _reduce_70( val, _values) val[0].push ''; val[0] end .,., -module_eval <<'.,.,', 'parser.y', 206 +module_eval <<'.,.,', 'parser.y', 213 def _reduce_71( val, _values) val end .,., -module_eval <<'.,.,', 'parser.y', 209 +module_eval <<'.,.,', 'parser.y', 222 def _reduce_72( val, _values) val[1].times do val[0].push '' @@ -1364,13 +1314,13 @@ module_eval <<'.,.,', 'parser.y', 209 end .,., -module_eval <<'.,.,', 'parser.y', 217 +module_eval <<'.,.,', 'parser.y', 224 def _reduce_73( val, _values) val end .,., -module_eval <<'.,.,', 'parser.y', 220 +module_eval <<'.,.,', 'parser.y', 233 def _reduce_74( val, _values) val[1].times do val[0].push '' @@ -1380,13 +1330,13 @@ module_eval <<'.,.,', 'parser.y', 220 end .,., -module_eval <<'.,.,', 'parser.y', 227 +module_eval <<'.,.,', 'parser.y', 234 def _reduce_75( val, _values) 0 end .,., -module_eval <<'.,.,', 'parser.y', 228 +module_eval <<'.,.,', 'parser.y', 235 def _reduce_76( val, _values) 1 end @@ -1408,20 +1358,20 @@ module_eval <<'.,.,', 'parser.y', 228 # reduce 84 omitted -module_eval <<'.,.,', 'parser.y', 243 +module_eval <<'.,.,', 'parser.y', 253 def _reduce_85( val, _values) val[1] = val[1].spec val.join('') end .,., -module_eval <<'.,.,', 'parser.y', 247 +module_eval <<'.,.,', 'parser.y', 254 def _reduce_86( val, _values) val end .,., -module_eval <<'.,.,', 'parser.y', 248 +module_eval <<'.,.,', 'parser.y', 255 def _reduce_87( val, _values) val[0].push val[2]; val[0] end @@ -1429,72 +1379,77 @@ module_eval <<'.,.,', 'parser.y', 248 # reduce 88 omitted -module_eval <<'.,.,', 'parser.y', 251 +module_eval <<'.,.,', 'parser.y', 258 def _reduce_89( val, _values) val[0] << ' ' << val[1] end .,., -module_eval <<'.,.,', 'parser.y', 255 +module_eval <<'.,.,', 'parser.y', 265 def _reduce_90( val, _values) val.push nil val end .,., -module_eval <<'.,.,', 'parser.y', 260 +module_eval <<'.,.,', 'parser.y', 269 def _reduce_91( val, _values) val end .,., -module_eval <<'.,.,', 'parser.y', 265 +module_eval <<'.,.,', 'parser.y', 274 def _reduce_92( val, _values) [ val[0].to_i, val[2].to_i ] end .,., -module_eval <<'.,.,', 'parser.y', 270 +module_eval <<'.,.,', 'parser.y', 279 def _reduce_93( val, _values) [ val[0].downcase, val[2].downcase, decode_params(val[3]) ] end .,., -module_eval <<'.,.,', 'parser.y', 274 +module_eval <<'.,.,', 'parser.y', 283 def _reduce_94( val, _values) [ val[0].downcase, nil, decode_params(val[1]) ] end .,., -module_eval <<'.,.,', 'parser.y', 279 +module_eval <<'.,.,', 'parser.y', 288 def _reduce_95( val, _values) {} end .,., -module_eval <<'.,.,', 'parser.y', 283 +module_eval <<'.,.,', 'parser.y', 293 def _reduce_96( val, _values) + val[0][ val[2].downcase ] = ('"' + val[4].to_s + '"') + val[0] + end +.,., + +module_eval <<'.,.,', 'parser.y', 298 + def _reduce_97( val, _values) val[0][ val[2].downcase ] = val[4] val[0] end .,., - # reduce 97 omitted - - # reduce 98 omitted - -module_eval <<'.,.,', 'parser.y', 292 - def _reduce_99( val, _values) +module_eval <<'.,.,', 'parser.y', 303 + def _reduce_98( val, _values) val[0].downcase end .,., -module_eval <<'.,.,', 'parser.y', 297 - def _reduce_100( val, _values) +module_eval <<'.,.,', 'parser.y', 308 + def _reduce_99( val, _values) [ val[0].downcase, decode_params(val[1]) ] end .,., + # reduce 100 omitted + # reduce 101 omitted # reduce 102 omitted @@ -1511,8 +1466,6 @@ module_eval <<'.,.,', 'parser.y', 297 # reduce 108 omitted - # reduce 109 omitted - def _reduce_none( val, _values) val[0] end diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.y b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.y new file mode 100644 index 00000000..77a14577 --- /dev/null +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/parser.y @@ -0,0 +1,381 @@ +# +# parser.y +# +# Copyright (c) 1998-2007 Minero Aoki +# +# This program is free software. +# You can distribute/modify this program under the terms of +# the GNU Lesser General Public License version 2.1. +# + +class TMail::Parser + + options no_result_var + +rule + + content : DATETIME datetime { val[1] } + | RECEIVED received { val[1] } + | MADDRESS addrs_TOP { val[1] } + | RETPATH retpath { val[1] } + | KEYWORDS keys { val[1] } + | ENCRYPTED enc { val[1] } + | MIMEVERSION version { val[1] } + | CTYPE ctype { val[1] } + | CENCODING cencode { val[1] } + | CDISPOSITION cdisp { val[1] } + | ADDRESS addr_TOP { val[1] } + | MAILBOX mbox { val[1] } + + datetime : day DIGIT ATOM DIGIT hour zone + # 0 1 2 3 4 5 + # date month year + { + t = Time.gm(val[3].to_i, val[2], val[1].to_i, 0, 0, 0) + (t + val[4] - val[5]).localtime + } + + day : /* none */ + | ATOM ',' + + hour : DIGIT ':' DIGIT + { + (val[0].to_i * 60 * 60) + + (val[2].to_i * 60) + } + | DIGIT ':' DIGIT ':' DIGIT + { + (val[0].to_i * 60 * 60) + + (val[2].to_i * 60) + + (val[4].to_i) + } + + zone : ATOM + { + timezone_string_to_unixtime(val[0]) + } + + received : from by via with id for received_datetime + { + val + } + + from : /* none */ + | FROM received_domain + { + val[1] + } + + by : /* none */ + | BY received_domain + { + val[1] + } + + received_domain + : domain + { + join_domain(val[0]) + } + | domain '@' domain + { + join_domain(val[2]) + } + | domain DOMLIT + { + join_domain(val[0]) + } + + via : /* none */ + | VIA ATOM + { + val[1] + } + + with : /* none */ + { + [] + } + | with WITH ATOM + { + val[0].push val[2] + val[0] + } + + id : /* none */ + | ID msgid + { + val[1] + } + | ID ATOM + { + val[1] + } + + for : /* none */ + | FOR received_addrspec + { + val[1] + } + + received_addrspec + : routeaddr + { + val[0].spec + } + | spec + { + val[0].spec + } + + received_datetime + : /* none */ + | ';' datetime + { + val[1] + } + + addrs_TOP : addrs + | group_bare + | addrs commas group_bare + + addr_TOP : mbox + | group + | group_bare + + retpath : addrs_TOP + | '<' '>' { [ Address.new(nil, nil) ] } + + addrs : addr + { + val + } + | addrs commas addr + { + val[0].push val[2] + val[0] + } + + addr : mbox + | group + + mboxes : mbox + { + val + } + | mboxes commas mbox + { + val[0].push val[2] + val[0] + } + + mbox : spec + | routeaddr + | addr_phrase routeaddr + { + val[1].phrase = Decoder.decode(val[0]) + val[1] + } + + group : group_bare ';' + + group_bare: addr_phrase ':' mboxes + { + AddressGroup.new(val[0], val[2]) + } + | addr_phrase ':' { AddressGroup.new(val[0], []) } + + addr_phrase + : local_head { val[0].join('.') } + | addr_phrase local_head { val[0] << ' ' << val[1].join('.') } + + routeaddr : '<' routes spec '>' + { + val[2].routes.replace val[1] + val[2] + } + | '<' spec '>' + { + val[1] + } + + routes : at_domains ':' + + at_domains: '@' domain { [ val[1].join('.') ] } + | at_domains ',' '@' domain { val[0].push val[3].join('.'); val[0] } + + spec : local '@' domain { Address.new( val[0], val[2] ) } + | local { Address.new( val[0], nil ) } + + local: local_head + | local_head '.' { val[0].push ''; val[0] } + + local_head: word + { val } + | local_head dots word + { + val[1].times do + val[0].push '' + end + val[0].push val[2] + val[0] + } + + domain : domword + { val } + | domain dots domword + { + val[1].times do + val[0].push '' + end + val[0].push val[2] + val[0] + } + + dots : '.' { 0 } + | '.' '.' { 1 } + + word : atom + | QUOTED + | DIGIT + + domword : atom + | DOMLIT + | DIGIT + + commas : ',' + | commas ',' + + msgid : '<' spec '>' + { + val[1] = val[1].spec + val.join('') + } + + keys : phrase { val } + | keys ',' phrase { val[0].push val[2]; val[0] } + + phrase : word + | phrase word { val[0] << ' ' << val[1] } + + enc : word + { + val.push nil + val + } + | word word + { + val + } + + version : DIGIT '.' DIGIT + { + [ val[0].to_i, val[2].to_i ] + } + + ctype : TOKEN '/' TOKEN params opt_semicolon + { + [ val[0].downcase, val[2].downcase, decode_params(val[3]) ] + } + | TOKEN params opt_semicolon + { + [ val[0].downcase, nil, decode_params(val[1]) ] + } + + params : /* none */ + { + {} + } + | params ';' TOKEN '=' QUOTED + { + val[0][ val[2].downcase ] = ('"' + val[4].to_s + '"') + val[0] + } + | params ';' TOKEN '=' TOKEN + { + val[0][ val[2].downcase ] = val[4] + val[0] + } + + cencode : TOKEN + { + val[0].downcase + } + + cdisp : TOKEN params opt_semicolon + { + [ val[0].downcase, decode_params(val[1]) ] + } + + opt_semicolon + : + | ';' + + atom : ATOM + | FROM + | BY + | VIA + | WITH + | ID + | FOR + +end + + +---- header +# +# parser.rb +# +# Copyright (c) 1998-2007 Minero Aoki +# +# This program is free software. +# You can distribute/modify this program under the terms of +# the GNU Lesser General Public License version 2.1. +# + +require 'tmail/scanner' +require 'tmail/utils' + +---- inner + + include TextUtils + + def self.parse( ident, str, cmt = nil ) + new.parse(ident, str, cmt) + end + + MAILP_DEBUG = false + + def initialize + self.debug = MAILP_DEBUG + end + + def debug=( flag ) + @yydebug = flag && Racc_debug_parser + @scanner_debug = flag + end + + def debug + @yydebug + end + + def parse( ident, str, comments = nil ) + @scanner = Scanner.new(str, ident, comments) + @scanner.debug = @scanner_debug + @first = [ident, ident] + result = yyparse(self, :parse_in) + comments.map! {|c| to_kcode(c) } if comments + result + end + + private + + def parse_in( &block ) + yield @first + @scanner.scan(&block) + end + + def on_error( t, val, vstack ) + raise SyntaxError, "parse error on token #{racc_token2str t}" + end + diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/port.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/port.rb similarity index 99% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/port.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/port.rb index f973c05b..445f0e63 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/port.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/port.rb @@ -1,6 +1,8 @@ -# -# port.rb -# +=begin rdoc + += Port class + +=end #-- # Copyright (c) 1998-2003 Minero Aoki # diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/quoting.rb similarity index 91% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/quoting.rb index 69424234..0b2d11c3 100644 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/quoting.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/quoting.rb @@ -1,3 +1,8 @@ +=begin rdoc + += Quoting methods + +=end module TMail class Mail def subject(to_charset = 'utf-8') @@ -8,6 +13,12 @@ module TMail from_charset = sub_header("content-type", "charset") case (content_transfer_encoding || "7bit").downcase when "quoted-printable" + # the default charset is set to iso-8859-1 instead of 'us-ascii'. + # This is needed as many mailer do not set the charset but send in ISO. This is only used if no charset is set. + if !from_charset.blank? && from_charset.downcase == 'us-ascii' + from_charset = 'iso-8859-1' + end + Unquoter.unquote_quoted_printable_and_convert_to(quoted_body, to_charset, from_charset, true) when "base64" @@ -78,7 +89,7 @@ module TMail end def unquote_base64_and_convert_to(text, to, from) - convert_to(Base64.decode(text).first, to, from) + convert_to(Base64.decode(text), to, from) end begin diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/scanner.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner.rb similarity index 97% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/scanner.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner.rb index 839dd793..9216b430 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/scanner.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner.rb @@ -1,6 +1,8 @@ -# -# scanner.rb -# +=begin rdoc + += Scanner for TMail + +=end #-- # Copyright (c) 1998-2003 Minero Aoki # diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/scanner_r.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner_r.rb similarity index 99% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/scanner_r.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner_r.rb index ccf576c2..d9169c53 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/scanner_r.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/scanner_r.rb @@ -44,7 +44,7 @@ module TMail } alnum = 'a-zA-Z0-9' - atomsyms = %q[ _#!$%&`'*+-{|}~^@/=? ].strip + atomsyms = %q[ _#!$%&`'*+-{|}~^/=? ].strip tokensyms = %q[ _#!$%&`'*+-{|}~^@. ].strip atomchars = alnum + Regexp.quote(atomsyms) diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/stringio.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/stringio.rb similarity index 97% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/stringio.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/stringio.rb index 532be3db..3817850f 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/stringio.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/stringio.rb @@ -1,6 +1,8 @@ -# -# stringio.rb -# +=begin rdoc + += String handling class + +=end #-- # Copyright (c) 1998-2003 Minero Aoki # @@ -218,7 +220,7 @@ class StringOutput#:nodoc: alias pos size def inspect - "#<#{self.class}:#{@dest ? 'open' : 'closed'},#{id}>" + "#<#{self.class}:#{@dest ? 'open' : 'closed'},#{object_id}>" end def print( *args ) diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/tmail.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/tmail.rb similarity index 100% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/tmail.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/tmail.rb diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/utils.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/utils.rb similarity index 74% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/utils.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/utils.rb index 852acd75..016330ff 100755 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/utils.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/utils.rb @@ -1,6 +1,8 @@ -# -# utils.rb -# +=begin rdoc + += General Purpose TMail Utilities + +=end #-- # Copyright (c) 1998-2003 Minero Aoki # @@ -52,9 +54,9 @@ module TMail @uniq = 0 - module TextUtils - + # Defines characters per RFC that are OK for TOKENs, ATOMs, PHRASEs and CONTROL characters. + aspecial = '()<>[]:;.\\,"' tspecial = '()<>[];:\\,"/?=' lwsp = " \t\r\n" @@ -66,31 +68,50 @@ module TMail CONTROL_CHAR = /[#{control}]/n def atom_safe?( str ) + # Returns true if the string supplied is free from characters not allowed as an ATOM not ATOM_UNSAFE === str end def quote_atom( str ) + # If the string supplied has ATOM unsafe characters in it, will return the string quoted + # in double quotes, otherwise returns the string unmodified (ATOM_UNSAFE === str) ? dquote(str) : str end def quote_phrase( str ) + # If the string supplied has PHRASE unsafe characters in it, will return the string quoted + # in double quotes, otherwise returns the string unmodified (PHRASE_UNSAFE === str) ? dquote(str) : str end def token_safe?( str ) + # Returns true if the string supplied is free from characters not allowed as a TOKEN not TOKEN_UNSAFE === str end def quote_token( str ) + # If the string supplied has TOKEN unsafe characters in it, will return the string quoted + # in double quotes, otherwise returns the string unmodified (TOKEN_UNSAFE === str) ? dquote(str) : str end def dquote( str ) - '"' + str.gsub(/["\\]/n) {|s| '\\' + s } + '"' + # Wraps supplied string in double quotes unless it is already wrapped + # Returns double quoted string + unless str =~ /^".*?"$/ + '"' + str.gsub(/["\\]/n) {|s| '\\' + s } + '"' + else + str + end end private :dquote - + def unquote( str ) + # Unwraps supplied string from inside double quotes + # Returns unquoted string + str =~ /^"(.*?)"$/ ? $1 : str + end + def join_domain( arr ) arr.map {|i| if /\A\[.*\]\z/ === i @@ -149,6 +170,7 @@ module TMail } def timezone_string_to_unixtime( str ) + # Takes a time zone string from an EMail and converts it to Unix Time (seconds) if m = /([\+\-])(\d\d?)(\d\d)/.match(str) sec = (m[2].to_i * 60 + m[3].to_i) * 60 m[1] == '-' ? -sec : sec @@ -233,6 +255,27 @@ module TMail end end + def quote_boundary + # Make sure the Content-Type boundary= parameter is quoted if it contains illegal characters + # (to ensure any special characters in the boundary text are escaped from the parser + # (such as = in MS Outlook's boundary text)) + if @body =~ /^(.*)boundary=(.*)$/m + preamble = $1 + remainder = $2 + if remainder =~ /;/ + remainder =~ /^(.*)(;.*)$/m + boundary_text = $1 + post = $2.chomp + else + boundary_text = remainder.chomp + end + if boundary_text =~ /[\/\?\=]/ + boundary_text = "\"#{boundary_text}\"" unless boundary_text =~ /^".*?"$/ + @body = "#{preamble}boundary=#{boundary_text}#{post}" + end + end + end + end end diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/base64.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/version.rb old mode 100755 new mode 100644 similarity index 57% rename from vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/base64.rb rename to vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/version.rb index 8f89a489..14df4b06 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail/base64.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail-1.1.0/tmail/version.rb @@ -1,5 +1,5 @@ # -# base64.rb +# version.rb # #-- # Copyright (c) 1998-2003 Minero Aoki @@ -27,45 +27,12 @@ # with permission of Minero Aoki. #++ -module TMail - - module Base64 - - module_function - - def rb_folding_encode( str, eol = "\n", limit = 60 ) - [str].pack('m') - end - - def rb_encode( str ) - [str].pack('m').tr( "\r\n", '' ) - end - - def rb_decode( str, strict = false ) - str.unpack('m') - end - - begin - require 'tmail/base64.so' - alias folding_encode c_folding_encode - alias encode c_encode - alias decode c_decode - class << self - alias folding_encode c_folding_encode - alias encode c_encode - alias decode c_decode - end - rescue LoadError - alias folding_encode rb_folding_encode - alias encode rb_encode - alias decode rb_decode - class << self - alias folding_encode rb_folding_encode - alias encode rb_encode - alias decode rb_decode - end - end +module TMail #:nodoc: + module VERSION #:nodoc: + MAJOR = 1 + MINOR = 1 + TINY = 1 + STRING = [MAJOR, MINOR, TINY].join('.') end - end diff --git a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail.rb b/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail.rb deleted file mode 100755 index 8cea88d3..00000000 --- a/vendor/rails/actionmailer/lib/action_mailer/vendor/tmail.rb +++ /dev/null @@ -1,3 +0,0 @@ -require 'tmail/info' -require 'tmail/mail' -require 'tmail/mailbox' diff --git a/vendor/rails/actionmailer/lib/action_mailer/version.rb b/vendor/rails/actionmailer/lib/action_mailer/version.rb index 498af239..954a4727 100644 --- a/vendor/rails/actionmailer/lib/action_mailer/version.rb +++ b/vendor/rails/actionmailer/lib/action_mailer/version.rb @@ -1,8 +1,8 @@ module ActionMailer module VERSION #:nodoc: - MAJOR = 1 - MINOR = 3 - TINY = 5 + MAJOR = 2 + MINOR = 0 + TINY = 2 STRING = [MAJOR, MINOR, TINY].join('.') end diff --git a/vendor/rails/actionmailer/lib/actionmailer.rb b/vendor/rails/actionmailer/lib/actionmailer.rb new file mode 100644 index 00000000..50641629 --- /dev/null +++ b/vendor/rails/actionmailer/lib/actionmailer.rb @@ -0,0 +1 @@ +require 'action_mailer' diff --git a/vendor/rails/actionmailer/test/abstract_unit.rb b/vendor/rails/actionmailer/test/abstract_unit.rb index 8a30e39a..9b7a4661 100644 --- a/vendor/rails/actionmailer/test/abstract_unit.rb +++ b/vendor/rails/actionmailer/test/abstract_unit.rb @@ -2,6 +2,7 @@ require 'test/unit' $:.unshift "#{File.dirname(__FILE__)}/../lib" require 'action_mailer' +require 'action_mailer/test_case' # Show backtraces for deprecated behavior for quicker cleanup. ActiveSupport::Deprecation.debug = true @@ -28,3 +29,21 @@ class Net::SMTP yield MockSMTP.new end end + +# Wrap tests that use Mocha and skip if unavailable. +def uses_mocha(test_name) + gem 'mocha', ">=0.5" + require 'stubba' + yield +rescue Gem::LoadError + $stderr.puts "Skipping #{test_name} tests (Mocha >= 0.5 is required). `gem install mocha` and try again." +end + +def set_delivery_method(delivery_method) + @old_delivery_method = ActionMailer::Base.delivery_method + ActionMailer::Base.delivery_method = delivery_method +end + +def restore_delivery_method + ActionMailer::Base.delivery_method = @old_delivery_method +end diff --git a/vendor/rails/actionmailer/test/delivery_method_test.rb b/vendor/rails/actionmailer/test/delivery_method_test.rb new file mode 100644 index 00000000..ebee2356 --- /dev/null +++ b/vendor/rails/actionmailer/test/delivery_method_test.rb @@ -0,0 +1,51 @@ +require "#{File.dirname(__FILE__)}/abstract_unit" + +class DefaultDeliveryMethodMailer < ActionMailer::Base +end + +class NonDefaultDeliveryMethodMailer < ActionMailer::Base + self.delivery_method = :sendmail +end + +class ActionMailerBase_delivery_method_Test < Test::Unit::TestCase + def setup + set_delivery_method :smtp + end + + def teardown + restore_delivery_method + end + + def test_should_be_the_default_smtp + assert_equal :smtp, ActionMailer::Base.delivery_method + end +end + +class DefaultDeliveryMethodMailer_delivery_method_Test < Test::Unit::TestCase + def setup + set_delivery_method :smtp + end + + def teardown + restore_delivery_method + end + + def test_should_be_the_default_smtp + assert_equal :smtp, DefaultDeliveryMethodMailer.delivery_method + end +end + +class NonDefaultDeliveryMethodMailer_delivery_method_Test < Test::Unit::TestCase + def setup + set_delivery_method :smtp + end + + def teardown + restore_delivery_method + end + + def test_should_be_the_set_delivery_method + assert_equal :sendmail, NonDefaultDeliveryMethodMailer.delivery_method + end +end + diff --git a/vendor/rails/actionmailer/test/fixtures/first_mailer/share.erb b/vendor/rails/actionmailer/test/fixtures/first_mailer/share.erb new file mode 100644 index 00000000..da43638c --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/first_mailer/share.erb @@ -0,0 +1 @@ +first mail diff --git a/vendor/rails/actionmailer/test/fixtures/first_mailer/share.rhtml b/vendor/rails/actionmailer/test/fixtures/first_mailer/share.rhtml index da43638c..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/first_mailer/share.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/first_mailer/share.rhtml @@ -1 +0,0 @@ -first mail diff --git a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb new file mode 100644 index 00000000..fcff3bb1 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.erb @@ -0,0 +1 @@ +So, <%= example_format(@text) %> diff --git a/vendor/rails/railties/test/generators/missing_class/missing_class_generator.rb b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml similarity index 100% rename from vendor/rails/railties/test/generators/missing_class/missing_class_generator.rb rename to vendor/rails/actionmailer/test/fixtures/helper_mailer/use_example_helper.rhtml diff --git a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.erb b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.erb new file mode 100644 index 00000000..378777f8 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.erb @@ -0,0 +1 @@ +Hello, <%= person_name %>. Thanks for registering! diff --git a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml index 378777f8..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper.rhtml @@ -1 +0,0 @@ -Hello, <%= person_name %>. Thanks for registering! diff --git a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb new file mode 100644 index 00000000..d5b8b285 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.erb @@ -0,0 +1 @@ +This message brought to you by <%= name_of_the_mailer_class %>. diff --git a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml index d5b8b285..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_helper_method.rhtml @@ -1 +0,0 @@ -This message brought to you by <%= name_of_the_mailer_class %>. diff --git a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb new file mode 100644 index 00000000..96ec49d1 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.erb @@ -0,0 +1,5 @@ +From "Romeo and Juliet": + +<%= block_format @text %> + +Good ol' Shakespeare. diff --git a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml index 96ec49d1..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_mail_helper.rhtml @@ -1,5 +0,0 @@ -From "Romeo and Juliet": - -<%= block_format @text %> - -Good ol' Shakespeare. diff --git a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_test_helper.rhtml b/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_test_helper.rhtml deleted file mode 100644 index 52ea9aa4..00000000 --- a/vendor/rails/actionmailer/test/fixtures/helper_mailer/use_test_helper.rhtml +++ /dev/null @@ -1 +0,0 @@ -So, <%= test_format(@text) %> diff --git a/vendor/rails/actionmailer/test/fixtures/helpers/test_helper.rb b/vendor/rails/actionmailer/test/fixtures/helpers/example_helper.rb similarity index 57% rename from vendor/rails/actionmailer/test/fixtures/helpers/test_helper.rb rename to vendor/rails/actionmailer/test/fixtures/helpers/example_helper.rb index f479820c..d66927aa 100644 --- a/vendor/rails/actionmailer/test/fixtures/helpers/test_helper.rb +++ b/vendor/rails/actionmailer/test/fixtures/helpers/example_helper.rb @@ -1,5 +1,5 @@ -module TestHelper - def test_format(text) +module ExampleHelper + def example_format(text) "#{text}" end end diff --git a/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb b/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb new file mode 100644 index 00000000..897a5065 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.erb @@ -0,0 +1 @@ +Have a lovely picture, from me. Enjoy! \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml b/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml index 897a5065..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/path.with.dots/funky_path_mailer/multipart_with_template_path_with_dots.rhtml @@ -1 +0,0 @@ -Have a lovely picture, from me. Enjoy! \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/raw_base64_decoded_string b/vendor/rails/actionmailer/test/fixtures/raw_base64_decoded_string new file mode 100644 index 0000000000000000000000000000000000000000..99b00ea162eef0f50ed252afba0c7a768ad1b561 GIT binary patch literal 8576 zcmY+IcRbaP_s8FNxqBGd=~8Ak8FkaOMd~Wqag~*oS!8t0Y*J)LvZZS#k!zE6Wi{+F z(nqdjM0J0C|NNc*&Uw5Z=Z`b~c)kqJ8)#@cnt<*AdjP=x7khjAyF2X7?|YlyH#axg zE6absEbT2Xv*+ga=I4JbF0wzq-}&@@etv#$YKlEM!I~KVIX=2KI>H_r+8i0)8tmKa z>t*+Ju{+zpcXw}gGlqtS_S@TbS{t@nTQ^!?vR^i?wzcgw*0CBJ+uPe$8yi{mFW5Cz zYxUKeH8ra>HSE&T`I_geRVCj`O4dqB*x5rX&+=zWp1pYSf}NecnV-LspSO^ox0;j5 zevmw$lew9Zv6Asw><`W`E zlM`6c(b?JAd-v{+CEQ<$ieiU^%tb}bM&I2GySow^IvH_~?e9Mu613;cg53v&E09%!)4yxeZtH6KPP9V*Y#<4 z_j~v5b$WZRU3Zvsa-4E<9CC4)ceJVW^qjM^p0l~KY)P50wr-_T7cQF&SY4dBa+zUm z*=K%!*2JvD#%9J?cf`cR#l>aPP;XxMOq;Rs2c6SQ^4T|fdfhrY@6V_#tC9xJo}JLt z%rG>ZS5kVfr1VKartb9VAr+O^YKos^WG-F0)O6}(rMmj8q{x)CC{tRxK|x{qgzTKC z=#b>`dO5KQ1?L=bdG5&Ms&UFh3 zCCbQDiwO+zn__dX#Gc1#}bOt(=@mM+FP{ z2r4QnZ*a(Z0$~IROu>NXcziDsSO9=-IQ$ubP>Kg$BRE^(@Vf#6xdc=z0>~i{8WD&Z zB(ezsG{Eth1mq9^WZ>~B1VS|eC_y4S!Qf0BPznd$06;DR5k?^7!GR_Kh{E9>A`p)d zpc(*3LIOz$L@5CH;&9OjL=+Op27pim;@Gic{s=_UKk>g500IEO1px4PJn;WR^cNJy z11JHq|11CRCjbN+xPcHhq8D~VA-HAi`sqbo_X)?1^Nebr_9XJFxX<+07WbtRbrXco z*F76}D0QXMZlJDY@Uh~Jw|VF5ONVnc{MTm&>dQu-kfTsXjT_3xij5x1TzlJ4Fv)Co&D zdd7RmZH!3!)MWuPN;A_l$vYECxF&d2=ITk?AsR?!THc;ye%FUczF<=U!1zc(%`|`! zDMS(0bqPS4FIzl*eqL97q~6t(jCm}AusxLT`CG zAoQgpNn^<_2ouZi(!8h~f*=DJ*Po8YYV$|dOcP)=`#AN@1xP%gY+-#F;;dMlqPZlc zlC1pJt^RY$57FX9<+kX5>yqd1GF35=mmW@+u8A8tv)Uh(%4xCt>j9wI{B9(3oabP; z$k9g1CHChBx&)vyq+_Zwpn9W1)u;38aQf|~_)BtV)gEo6X|rRc5S^hD^+em0asPBw zCEGt)b2?51`!s&tZ6(y4gradgx?potIm0EVBH_+TJf2|MQ8!x8)cVFzrG=zJ6gIjm zQ>v#Y?tXjxDj{Ap%w>N)MNg`4+u+SV{yGRD#NG3=*A>y)kFW6Gq+!}9xq6=+z3?ws1f$^&1|MF z?l@Ugx`aQZUPxWUcH?4ysMZ$%8yzsLk9>6HJBQNm^>IC8mtwDnsDbWr(-G1p>D$-2 z+tzzAAOE`!0#nS*VtA>c5eC8+vT75?@3-sjOnzzR?$uLe9oA{9u61p$NCtlYbwN2m zt>u&VcmnHd!_5=)M%na972y2$(f#|cO1i+7#JgI|HJS8 zG_yxSET_UeUj$}Q%BO3AUilIiiWea4)T@dwiYL^QZ2~WDtliu7d!FGovh*jzw z$<2bEY>h|>Dl8V+^m%ahi*IVk+G6BI*O5*x|H}V$BKK7XJdq z|F)va)2;MIV=JK^Gbo6pBUIuRBje*QV7t)C+r)$^QjkfvF+Vc)oBM?52st^y6E2Oa z@oeGX^fmp<>CV-Q0^@PL-jl|BC;}+ds>0aTt(3n9;84vr!?-u;Ce*gVwZ8a5ZL|h6 zVI9lrfgghJM0>an+R`}xR~|ID za#fHTe^=vk@x+ZX#g{EA55240X@=sWfUTg7;W9wOe@g| zBtBMgZ%F(2LSk*wBa2#2ZZ0$mABJ$>INrakY=~%pk?~tTu}%@1XY+k`>OQ#}ireVM zYUfWJJesYC_TP5Xxvseo+s*|EzUSqs zlfGBYxa$osknX#huXOrd+eY1n?E9w6006b>tS|Z_YyEQYT8?}_ckzd>*U((HrN-u> z(M%7!8^numzUwx_7Rf%?%W7`VDWW5hJ==nW7QgOd;YF&vfBtK^2PhTSSvNx=C_pPe5~zM$Tl#0zc>T#1C`=P!++EZwuA zUx+tg+IgElR6n&L*fgDDbD#ZR~s-pbi%eMiBpJFyICt%>fAidos+ADiqUm&0R~pznYU&f>+eHqmvkS7Z!ya5w8!9o@%xzV zLE>j>$C@I&yN@5`>kWOgWtM(|3gyRbrJ;q0fI1cKM&)?P4PS=9YZN^eSMS_24Edmp zKH?Jsf8hC+H!z{hYKISEVMu@#-a>15x=UDuTr zF}+n}kys2Q;`%=PmL)sRQamUUVrDOzMM!^qGtN-%2nAWafOtcdKP zCGwRezPN)BERB1_CpVaRt2dKCOUPH+7eo}W8&MRsQ`DJ;K7N5K)dnn=3btiDBoN$~s z8C9D^WkaGYmcU_5coaPi8yuxH?fUmBevSYID4=v2=3IA*u(e@DAu71rutm{(xrrFF ze>cX0^MG6K@G+sY8Gk^q)c6(PylcrJP5AvIW6Rn6fD!`-#oDfFN)&SVrNL1HX|DiD zb&cDGu1G-uIOc3 z&!ZCuj7Or;fA4sNNvH49abJnPy3@F?9Gs>;*$%~cIwO7ePQHQwgqWq7`#C_K9Un=J zGRg8G;h46gI+%}|euvC_Rc??T4Q55mJ$Ey?iXy%2lj~mU^oR`h@Pk~hGb}OBt9~Z1 z3&p%Nic9?}Hu4I$06(ck;9UB3%J*tfp9TTO%6H7Ns*TC7h(vk=fjfbo;*`uW9p}@U zX+3)+C=<}tfnEkUycQm2Fp;%sPljm;M(UVLRKVjYl%=cH6jpJd;_y;DCn#bTu=U~4B2l2kzD*$&yvd*i>_z2CDq4FM$R%md*9f&3qLZYM6Uqy$$6nBoP&+EwJ4QWcP zY|<0LM6sN1Zu!~~G;bjd6ez|_8Vcju$W;gmKLjffnk)FuxG6fSqC@zMZp7JI6qn#u zdTUZq)%@t9NfxH%B-}$gP5NU2`yIr{UCe|C@B&~P+m^EwXszxU!agh>xbR}Sh0nlX ziDkW`Xml>I=~FK5l@O+bP2up|%CG!tL?M{=reQuUAcGxSD$8IF^e|sy#FuTc><0!qTOQ$My- zy*$ygvD0IvekQSr_cd
iy%BDlzLGa)kD27Dvvh%kWWY}J={>GS_efKkAk2DaT4 z%?JKP{WhG^?B+i1B90YB*$XGIVLlu-zZ2@DkR7ykF5a+TXL{w8jrP;<(FP?mC%YQZ z_z?oSg@BexM(>0$w-hQLtY6<9S=39Pkge;=$2?>+c^tr?ophvW7%Otn^xNSq41& zUEh9CK2q_oA@UfF(RHMS1osA!AIugjKNTJ8v>Vm|nDL4U9ZBQ%!U0 zX8XKSB0~;!G!K>K+Dh3x5mn)@Y=Z%Y!&buin^cMl+F#WsA^Wo4lROYbfm9rw$7Wq?H+{h1WYcd#=Ym&hM2VB*s3 zh%*HA0}At!HL8ck+|TWlNy6i=xwC9=_`9zg&y;*CM3+&J+%(RJt7_VIq`yzk6}-Z~ z3hdA5CGm+9e)N!D+bQoD+m0_;a%Dsw9O>VDB_k`PR{bYiBFh#=uw4~^yp|<=u~Y7* z+Lc|Kh^9V0r1#wyhKK`bmGMt4Z8}}aGd<5UwOc<4({)N`E&qUXV)|ycWH_~YQHNBBL)fD;dHl7dYbZfp3K*WrVT zE41O&hV+%5Tb>Q*@#-^IBOKCoh}iK%3pK7&c-Hb%;E}r8t6;k?H*GD|hPqB+GTaFA zcFx6S4~`SUuP*Ju(8Bh?7v(GxrMOp{FfYE#R2liYh2W|58?iSK3P z{F^4?))~%2iI>u@GA%nJ1-pyucPI@#*Bw;|_X_Uymz^8pwv8`Ye8-mi=rXW?$&h&< zY1a@)im)ear`e(&4Emo5<{w$Iw)jeMU4w58K8Z&bsC{icJDOYY+1g;uVAy#sKD4Wv z6Y8V#XGrg)A8wd}>XOduDMU8`*r-3t;VT0kSMib;&Q6gVMhTcHI*vsggA5^Qunbh{eAkDM`s}siyJRD<}^o@2y3-9>#O3E1T8tMWSI?F!jj1P z+xkgKwa3m~ux%WACuQbWxc%1{!j9*}YTzcaQHL$UTKm4Hl(vp}!cY6u3xJBb`rguuZ2<7!hFjE%j?brXp7d zH`ZH@x}YvCwQg+R7bi$xoQu3bICGESn6Tlzo00Wr@O)}yc;iipzY)$}n`RbCe!#Prdm?#8%w@XO@In>WiPNS4mc* z=jw-kJsAM0GC&?;2ND{yS`OP#&Tpj-02geFEWgV+8ZN{M-6&LgAGfti!;MWmTfB?) zJGM7P3Xe8eiIc0)J8Wwu{NX){o-15w3PD|^aEg<6?bzI37OxTR{r(blYEH)id_YK! z(;{T~xHKGb$z$)o4_-2G2$Dstk@4so5C59={8efHTuZV7YEvmm{0CId0AR2~>pB3a zcJLH;YpFx!xMb;@3;L1tINyN!7f|ge#F1WtQCgx=WR@D&(|)s+3pr4^r0q=48I6Fm z^KHjhvHT4ldM_$G9;@CYm2717MhU){GY`4?P01_AJiqbzWGgS4S1qf?s>LebxCv+9 z68QBZvO-`QbRjGn+AT$Po6`zYl^vNy4{qw?4s(1wpN?XS9tQ0UcXc}#TuX-_za8hO z8nD;FS)5*LR^q4)%QEKC5w6ULn{rk^5I}TG9~x#Q=0BZ&iQX&xusrT zA1}@BN>n!XKGi30$IA16@T+COUhJ$os9EkGJezvdC;|){B8-0F?@9aO5dulT#P@F z8Tg-dUj}DVx5}l+gd}Z+vuvm;MH?=zstaXH#orga{r=Z^k-`~ALt+2cAwOx8d>dmE zpfMUXUqB*PDyJMWWl=i%}JeRmmGm!fz`nG0}?_G z-qt1QhR|Sbr{YwD(>F<78mk2%{l2T`@3LpMN}VH=oGn~(UutRO7leqoWIc(n@8K#! zcR*53b@zjl^%Tudd%s$}XcJ9lb>xb)%?9@g|NR}6AotwEVD+14=kD_ARlR`|+$KC` zUsBKQ7wT>(^)`!bOQ}thQZzZ@uLCWHl5IcjVQ!)r>!)M3w<3!L`&jf_Mb~(Gg&dqX z2YxN+;?!2CQCQ^(qDZpJR5K}fSz+{df)oR=Pf?OmY`gpIMc+dJO=IeEJANrzt#t9z z?%^>M7I>Db^@DyKclrxaD}3qxlXF38Ovb(B&yQV2{D*Sqh52LETa^ld5V#%{EcZ0x zcxy+56QYZ|nizZPnJCtUP8D3DcCc04m{GoNkl$a*IDRjVVkCKVQT1s$O|^1pYi8bx z+I^S;%@O6y(BX9_0I*%=eSb6qvqI)jAT1(I6rUcMitWJIq{Z`jK81Z^#ws^-L^}|= z_=Z?8dB0k;!!sSeJTgr3krL9(2h8;}En3>j5p}D(llNT~?by^<3K0$9R;V$@e~!f& zPDJv*LBy(t7Ny;XcJXm#_p8#1Fe$RSC&Vja6eyR`kE?a~D#@^me#*#;MmkatXwfI6 z7Lmr}60Xw1=wo`KkUP=NvLViqno^E%y|o+isVsfDfC!Wg5G8)ndcefyN4gcz#k^-8f33u$x%<1;PJD8N&lQE zI~x|s^S3-&6r+vMKca&VqMM6M5aAkW+Bhd4h=6%xoHwPI^RgMiZg3g~hj)Lk!X7#MT$$-r*i}hrhco zIgE!vcrb=qD&N>h%l{8cB|?@)01g#55XMGv@kk!Ijjxx*L8eFGoC+aQ@7F{1XS(3! zjBbh8h#*@QxV!0nPh7rd5<46w$ zVW@>&Bw^o2_&C}z%U@7Qs|X~8?ks;Nd+=2FbF8Q5jl+cL?voVl%z96-T1eqPqnw6N zEp!sMWsDr50|ncj|MZMe0se|duxo8VC=D9B%SavjW^bV0GIm^QJ8UrYI=92Gw^}YL zx%V-y8sh?^N6KkXJ-G-(TFwMM4S<~hK&b9J%oifFFmrkYe&X)9X>VXn;Mqv-G{!qi zk%$*n7a~RP5!=LwKXMhA5opyzFi*cq`EkV!IH?dc-K*9lz@kA(0GQ6PH^aq>#91wX z_2vMW)rRZsm#=4IwSE?PoZYk;Kjj63&zvBfKUwT;4TC> zSZXtPbsNAyF%oUQ05*1EfVk2Cj)0lZ$6U!^DTbrVoqv|7;*TB$>S|d1>-o7%a^o?& zSEM=>gt8)!aMJw?HfI2Y1_Q*i;1kF9=LQd18!kbNK#{1xC3OaXQ4FjUBCc6J0iIZD zff8NY<~QschXk0kT9tnXbtz~xL<;~DX&W3wV5V5at#~@$9=--}NKw5Y8c+ZPkQSb3 z1$F)-aBlL>qVspJ-qifht_u5;;-lM5$7#UhJ`(8to8Xc9+3!ytPXiyH1MQFJewM*$ zpvwG> -Message-Id: <416eaebec6d333ec6939eaf8a7d80724@xxxxx> -Content-Type: multipart/alternative; - boundary=Apple-Mail-5-1037861608 -From: xxxxx@xxxxx -Subject: worse when you use them. -Date: Wed, 27 Apr 2005 14:15:31 -0700 - - - - ---Apple-Mail-5-1037861608 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; - charset=US-ASCII; - format=flowed - - -XXXXX Xxxxx - ---Apple-Mail-5-1037861608 -Content-Transfer-Encoding: 7bit -Content-Type: text/enriched; - charset=US-ASCII - - - -XXXXX Xxxxx - - ---Apple-Mail-5-1037861608-- - diff --git a/vendor/rails/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type b/vendor/rails/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type new file mode 100644 index 00000000..a8ff7ed4 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/raw_email_with_invalid_characters_in_content_type @@ -0,0 +1,104 @@ +Return-Path: +Received: from some.isp.com by baci with ESMTP id 632BD5758 for ; Sun, 21 Oct 2007 19:38:21 +1000 +Date: Sun, 21 Oct 2007 19:38:13 +1000 +From: Mikel Lindsaar +Reply-To: Mikel Lindsaar +To: mikel.lindsaar@baci +Message-Id: <009601c813c6$19df3510$0437d30a@mikel091a> +Subject: Testing outlook +Mime-Version: 1.0 +Content-Type: multipart/alternative; boundary=----=_NextPart_000_0093_01C81419.EB75E850 +Delivered-To: mikel.lindsaar@baci +X-Mimeole: Produced By Microsoft MimeOLE V6.00.2900.3138 +X-Msmail-Priority: Normal + +This is a multi-part message in MIME format. + + +------=_NextPart_000_0093_01C81419.EB75E850 +Content-Type: text/plain; charset=iso-8859-1 +Content-Transfer-Encoding: Quoted-printable + +Hello +This is an outlook test + +So there. + +Me. + +------=_NextPart_000_0093_01C81419.EB75E850 +Content-Type: text/html; charset=iso-8859-1 +Content-Transfer-Encoding: Quoted-printable + + + + + + + + +
Hello
+
This is an outlook=20 +test
+
 
+
So there.
+
 
+
Me.
+ + +------=_NextPart_000_0093_01C81419.EB75E850-- + + +Return-Path: +Received: from some.isp.com by baci with ESMTP id 632BD5758 for ; Sun, 21 Oct 2007 19:38:21 +1000 +Date: Sun, 21 Oct 2007 19:38:13 +1000 +From: Mikel Lindsaar +Reply-To: Mikel Lindsaar +To: mikel.lindsaar@baci +Message-Id: <009601c813c6$19df3510$0437d30a@mikel091a> +Subject: Testing outlook +Mime-Version: 1.0 +Content-Type: multipart/alternative; boundary=----=_NextPart_000_0093_01C81419.EB75E850 +Delivered-To: mikel.lindsaar@baci +X-Mimeole: Produced By Microsoft MimeOLE V6.00.2900.3138 +X-Msmail-Priority: Normal + +This is a multi-part message in MIME format. + + +------=_NextPart_000_0093_01C81419.EB75E850 +Content-Type: text/plain; charset=iso-8859-1 +Content-Transfer-Encoding: Quoted-printable + +Hello +This is an outlook test + +So there. + +Me. + +------=_NextPart_000_0093_01C81419.EB75E850 +Content-Type: text/html; charset=iso-8859-1 +Content-Transfer-Encoding: Quoted-printable + + + + + + + + +
Hello
+
This is an outlook=20 +test
+
 
+
So there.
+
 
+
Me.
+ + +------=_NextPart_000_0093_01C81419.EB75E850-- + + diff --git a/vendor/rails/actionmailer/test/fixtures/raw_email_with_nested_attachment b/vendor/rails/actionmailer/test/fixtures/raw_email_with_nested_attachment new file mode 100644 index 00000000..429c408c --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/raw_email_with_nested_attachment @@ -0,0 +1,100 @@ +From jamis@37signals.com Thu Feb 22 11:20:31 2007 +Mime-Version: 1.0 (Apple Message framework v752.3) +Message-Id: <2CCE0408-10C7-4045-9B16-A1C11C31469B@37signals.com> +Content-Type: multipart/signed; + micalg=sha1; + boundary=Apple-Mail-42-587703407; + protocol="application/pkcs7-signature" +To: Jamis Buck +Subject: Testing attachments +From: Jamis Buck +Date: Thu, 22 Feb 2007 11:20:31 -0700 + + +--Apple-Mail-42-587703407 +Content-Type: multipart/mixed; + boundary=Apple-Mail-41-587703287 + + +--Apple-Mail-41-587703287 +Content-Transfer-Encoding: 7bit +Content-Type: text/plain; + charset=US-ASCII; + format=flowed + +Here is a test of an attachment via email. + +- Jamis + + +--Apple-Mail-41-587703287 +Content-Transfer-Encoding: base64 +Content-Type: image/png; + x-unix-mode=0644; + name=byo-ror-cover.png +Content-Disposition: inline; + filename=truncated.png + +iVBORw0KGgoAAAANSUhEUgAAAKUAAADXCAYAAAB7wZEQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz +AAALEgAACxIB0t1+/AAAABd0RVh0Q3JlYXRpb24gVGltZQAxLzI1LzIwMDeD9CJVAAAAGHRFWHRT +b2Z0d2FyZQBBZG9iZSBGaXJld29ya3NPsx9OAAAyBWlUWHRYTUw6Y29tLmFkb2JlLnhtcDw/eHBh +Y2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1l +dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMS1j +MDIwIDEuMjU1NzE2LCBUdWUgT2N0IDEwIDIwMDYgMjM6MTY6MzQiPgogICA8cmRmOlJERiB4bWxu +czpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAg +ICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4YXA9Imh0 +dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iPgogICAgICAgICA8eGFwOkNyZWF0b3JUb29sPkFk +b2JlIEZpcmV3b3JrcyBDUzM8L3hhcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhhcDpDcmVhdGVE +YXRlPjIwMDctMDEtMjVUMDU6Mjg6MjFaPC94YXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhhcDpN +b2RpZnlEYXRlPjIwMDctMDEtMjVUMDU6Mjg6MjFaPC94YXA6TW9kaWZ5RGF0ZT4KICAgICAgPC9y +ZGY6RGVzY3JpcHRpb24+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAg +ICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgICAg +ICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgIDwvcmRmOkRlc2NyaXB0 +hhojpmnJMfaYFmSkXWg5PGCmHXVj/c9At0hSK2xGdd8F3muk0VFjb4f5Ue0ksQ8qAcq0delaXhdb +DjKNnF+3B3t9kObZYmk7AZgWYqO9anpR3wpM9sQ5XslB9a+kWyTtNb0fOmudzGHfPFBQDKesyycm +DBL7Cw5bXjIEuci+SSOm/LYnXDZu6iuPEj8lYBb+OU8xx1f9m+e5rhJiYKqjo5vHfiZp+VUkW9xc +Ufd6JHNWc47PkQqb9ie3SLEZB/ZqyAssiqURY+G35iOMZUrHbasHnb80QAPv9FHtAbJIyro7bi5b +ai2TEAKen5+LJNWrglZjm3UbZvt7KryA2J5b5J1jZF8kL6GzvG1Zqx54Y1y7J7n20wMOt9frG2sW +uwGP07kNz3732vf6bfvAvLldfS+9fts2euXY37D+R29FGZdlnhzV4TTFmPJduBP2RbNNua4rTqcT +Qt7Xy1KUB0AHSdP5AZQYvHZg7WD1XvYeMO1A9HhZPqMX5KXbMBrn2efxns/ee21674efxz4Tp/fq +2HZ648dgYaC1i3Vq1IbNPq3PvDTPezY9FaRISjvnzWqdgcWN8EJgjnNq+Z7ktOm9l2Nfth28EZi4 +bG/we5JwxM+Tql47/D/X6b38I8/RyxvxPJrX6zvQbo3h9jyJx+C0ALX327QETHl5eYlaYCT5rPTb ++5/rAq26t3lKIxV/p88hq6ptngdgCzoPjJqndiLfc/6y5A14WeDFGNPct4iUsJBV2bYzLEV7m83s +6Rp63VPhHKC/g/LzaU9qexJRr56043JWinqAtfZqsSm1sjoznthl54dtCqv+uL4nIY+oYWuc3+nH +kGfn8b0HQpvOYLQAZUDanbJs3jQhITZEgdarZK+cO6ySlL13rut5nFaN23s7u3Snz6eRPTkCoc2/ +Vp1zHfZVFpZ87FiMVLV1iqyK5rlzfji2GzjfDsodlD+Weo5UD4h6PwKqzQMqID0tq2VjjFVSMpis +ZLRAs7sePZBZAHI+gIanB8I7MD+femAceeUe2Kxa5jS950kZ1p5eNEdeX1+jFmSpZ+1EdWCsDcne +NPNgUHNw3aYpnzv9PGTX0uo94EtN9qq1rOdxe3kc79T8ukeHJJ8Fnxej6qlylbLLsjQLOy6Xy2a1 +kefs/N+nM7+S7IG5/E5Yc7F003pWErLjbH0O5cGadiMptSB/DZ5U5DI9yeg5MFYyMj8lC/Y7/Xjq +OZlWcnpg9aQfXz2HRq+Wn5xOp6gN8tWq8R44e2pfyzLYemEgprst+XXk2Zj2nXlbsG05BprndTMv +C3QRaXczshhVsHnMgfYn80Y2g5JureA6wBasPeP7LkE/jvZMJAaf/g/U2RelHsisvan5FqweIAHg +Pwc7L68GxvVDAAAAAElFTkSuQmCC + +--Apple-Mail-41-587703287-- + +--Apple-Mail-42-587703407 +Content-Transfer-Encoding: base64 +Content-Type: application/pkcs7-signature; + name=smime.p7s +Content-Disposition: attachment; + filename=smime.p7s + +MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGJzCCAuAw +ggJJoAMCAQICEFjnFNYXwDEZRWY5EkfzopUwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkEx +JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ +ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA2MDkxMjE3MDExMloXDTA3MDkxMjE3MDEx +MlowRTEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEiMCAGCSqGSIb3DQEJARYTamFt +aXNAMzdzaWduYWxzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO2A9JeOFIFJ +G6z8pTcAldrZ2nMe+Xb1tNrbHgoVzN/QhHXM4qst2Ml93cmFLjMmwG7P9RJeU4oNx+jTqVoBB7NV +Ne1/o56Do0KhfMZ9iUDQdPLbkZMq4EEpFMdm6PyM3muRKwPhj66iAWe/osCb8DowUK2f66vaRx0Z +Y0MQHIIrXE02Ta4IfAhIfPqBLkZ4WgTYBHN9vMdYea1jF0GO4gqGk1wqwb3yxv2QMYMbwJ6SI+k/ +ZjkSR/OilTCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3 +dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1h +aWwgSXNzdWluZyBDQQIQWOcU1hfAMRlFZjkSR/OilTANBgkqhkiG9w0BAQEFAASCAQCfwQiC3v6/ +yleRDGv3bJ4nQYQ+c3mz3+mn3Xi6uU35n3piwxZZaWRdmLyiXPvU+QReHpSf3l2qsEZM3sdE0XF9 +eRul/+QTFJcDNXOEAxG1zC2Gpz+6c6RrX4Ou12Pwkp+pNrZWTSY/mZgdqcArupOBcZi7qBjoWcy5 +wb54dfvSSjrjmqLbkH/E8ww/6gGQuU/xXpAUZgUrTmQHrNKeIdSh5oDkOxFaFWvnmb8Z/2ixKqW/ +Ux6WqamyvBtTs/5YBEtnpZOk+uVoscYEUBhU+DVJ2OSvTdXSivMtBdXmGTsG22k+P1NGUHi/A7ev +xPaO0uk4V8xyjNlN4HPuGpkrlXwPAAAAAAAA + +--Apple-Mail-42-587703407-- diff --git a/vendor/rails/actionmailer/test/fixtures/second_mailer/share.erb b/vendor/rails/actionmailer/test/fixtures/second_mailer/share.erb new file mode 100644 index 00000000..9a540106 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/second_mailer/share.erb @@ -0,0 +1 @@ +second mail diff --git a/vendor/rails/actionmailer/test/fixtures/second_mailer/share.rhtml b/vendor/rails/actionmailer/test/fixtures/second_mailer/share.rhtml index 9a540106..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/second_mailer/share.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/second_mailer/share.rhtml @@ -1 +0,0 @@ -second mail diff --git a/vendor/rails/actionmailer/test/fixtures/templates/signed_up.erb b/vendor/rails/actionmailer/test/fixtures/templates/signed_up.erb new file mode 100644 index 00000000..a85d5fa4 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/templates/signed_up.erb @@ -0,0 +1,3 @@ +Hello there, + +Mr. <%= @recipient %> \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/templates/signed_up.rhtml b/vendor/rails/actionmailer/test/fixtures/templates/signed_up.rhtml index a85d5fa4..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/templates/signed_up.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/templates/signed_up.rhtml @@ -1,3 +0,0 @@ -Hello there, - -Mr. <%= @recipient %> \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb b/vendor/rails/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb new file mode 100644 index 00000000..3b4ba35f --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/_subtemplate.text.plain.erb @@ -0,0 +1 @@ +let's go! \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml b/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml new file mode 100644 index 00000000..847d065c --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.html.haml @@ -0,0 +1,6 @@ +%p Hello there, + +%p + Mr. + = @recipient + from haml \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml b/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml new file mode 100644 index 00000000..847d065c --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/custom_templating_extension.text.plain.haml @@ -0,0 +1,6 @@ +%p Hello there, + +%p + Mr. + = @recipient + from haml \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb new file mode 100644 index 00000000..6940419d --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.erb @@ -0,0 +1 @@ +Ignored when searching for implicitly multipart parts. diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml index 6940419d..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.ignored.rhtml @@ -1 +0,0 @@ -Ignored when searching for implicitly multipart parts. diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb new file mode 100644 index 00000000..946d99ed --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.erb @@ -0,0 +1,10 @@ + + + HTML formatted message to <%= @recipient %>. + + + + + HTML formatted message to <%= @recipient %>. + + diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml index 946d99ed..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.html.rhtml @@ -1,10 +0,0 @@ - - - HTML formatted message to <%= @recipient %>. - - - - - HTML formatted message to <%= @recipient %>. - - diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb new file mode 100644 index 00000000..a6c8d54c --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.erb @@ -0,0 +1,2 @@ +Plain text to <%= @recipient %>. +Plain text to <%= @recipient %>. diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml index a6c8d54c..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.plain.rhtml @@ -1,2 +0,0 @@ -Plain text to <%= @recipient %>. -Plain text to <%= @recipient %>. diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb new file mode 100644 index 00000000..c14348c7 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.erb @@ -0,0 +1 @@ +yaml to: <%= @recipient %> \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml index c14348c7..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/implicitly_multipart_example.text.yaml.rhtml @@ -1 +0,0 @@ -yaml to: <%= @recipient %> \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb b/vendor/rails/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb new file mode 100644 index 00000000..a93c30ea --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/included_subtemplate.text.plain.erb @@ -0,0 +1 @@ +Hey Ho, <%= render :partial => "subtemplate" %> \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.builder b/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.builder new file mode 100644 index 00000000..d566bd8d --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.builder @@ -0,0 +1,2 @@ +xml.instruct! +xml.test \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.rxml b/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.rxml new file mode 100644 index 00000000..d566bd8d --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/rxml_template.rxml @@ -0,0 +1,2 @@ +xml.instruct! +xml.test \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.erb b/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.erb new file mode 100644 index 00000000..a85d5fa4 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.erb @@ -0,0 +1,3 @@ +Hello there, + +Mr. <%= @recipient %> \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.rhtml b/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.rhtml index a85d5fa4..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up.rhtml @@ -1,3 +0,0 @@ -Hello there, - -Mr. <%= @recipient %> \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb b/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb new file mode 100644 index 00000000..4c5806d3 --- /dev/null +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.erb @@ -0,0 +1,5 @@ +Hello there, + +Mr. <%= @recipient %>. Please see our greeting at <%= @welcome_url %> <%= welcome_url %> + +<%= image_tag "somelogo.png" %> \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml b/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml index e8fb65d4..e69de29b 100644 --- a/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml +++ b/vendor/rails/actionmailer/test/fixtures/test_mailer/signed_up_with_url.rhtml @@ -1,3 +0,0 @@ -Hello there, - -Mr. <%= @recipient %>. Please see our greeting at <%= @welcome_url %> \ No newline at end of file diff --git a/vendor/rails/actionmailer/test/mail_helper_test.rb b/vendor/rails/actionmailer/test/mail_helper_test.rb index 19f3707d..70e5cb81 100644 --- a/vendor/rails/actionmailer/test/mail_helper_test.rb +++ b/vendor/rails/actionmailer/test/mail_helper_test.rb @@ -8,7 +8,7 @@ end class HelperMailer < ActionMailer::Base helper MailerHelper - helper :test + helper :example def use_helper(recipient) recipients recipient @@ -16,7 +16,7 @@ class HelperMailer < ActionMailer::Base from "tester@example.com" end - def use_test_helper(recipient) + def use_example_helper(recipient) recipients recipient subject "using helpers" from "tester@example.com" @@ -60,20 +60,24 @@ class MailerHelperTest < Test::Unit::TestCase end def setup - ActionMailer::Base.delivery_method = :test + set_delivery_method :test ActionMailer::Base.perform_deliveries = true ActionMailer::Base.deliveries = [] @recipient = 'test@localhost' end - + + def teardown + restore_delivery_method + end + def test_use_helper mail = HelperMailer.create_use_helper(@recipient) assert_match %r{Mr. Joe Person}, mail.encoded end - def test_use_test_helper - mail = HelperMailer.create_use_test_helper(@recipient) + def test_use_example_helper + mail = HelperMailer.create_use_example_helper(@recipient) assert_match %r{emphasize me!}, mail.encoded end diff --git a/vendor/rails/actionmailer/test/mail_render_test.rb b/vendor/rails/actionmailer/test/mail_render_test.rb index 42454fef..475735e7 100644 --- a/vendor/rails/actionmailer/test/mail_render_test.rb +++ b/vendor/rails/actionmailer/test/mail_render_test.rb @@ -15,6 +15,25 @@ class RenderMailer < ActionMailer::Base body render(:file => "signed_up", :body => { :recipient => recipient }) end + def rxml_template(recipient) + recipients recipient + subject "rendering rxml template" + from "tester@example.com" + end + + def included_subtemplate(recipient) + recipients recipient + subject "Including another template in the one being rendered" + from "tester@example.com" + end + + def included_old_subtemplate(recipient) + recipients recipient + subject "Including another template in the one being rendered" + from "tester@example.com" + body render(:inline => "Hello, <%= render \"subtemplate\" %>", :body => { :world => "Earth" }) + end + def initialize_defaults(method_name) super mailer_name "test_mailer" @@ -39,13 +58,17 @@ end class RenderHelperTest < Test::Unit::TestCase def setup - ActionMailer::Base.delivery_method = :test + set_delivery_method :test ActionMailer::Base.perform_deliveries = true ActionMailer::Base.deliveries = [] @recipient = 'test@localhost' end + def teardown + restore_delivery_method + end + def test_inline_template mail = RenderMailer.create_inline_template(@recipient) assert_equal "Hello, Earth", mail.body.strip @@ -55,17 +78,37 @@ class RenderHelperTest < Test::Unit::TestCase mail = RenderMailer.create_file_template(@recipient) assert_equal "Hello there, \n\nMr. test@localhost", mail.body.strip end + + def test_rxml_template + mail = RenderMailer.deliver_rxml_template(@recipient) + assert_equal "\n", mail.body.strip + end + + def test_included_subtemplate + mail = RenderMailer.deliver_included_subtemplate(@recipient) + assert_equal "Hey Ho, let's go!", mail.body.strip + end + + def test_deprecated_old_subtemplate + assert_raises ActionView::ActionViewError do + RenderMailer.deliver_included_old_subtemplate(@recipient) + end + end end class FirstSecondHelperTest < Test::Unit::TestCase def setup - ActionMailer::Base.delivery_method = :test + set_delivery_method :test ActionMailer::Base.perform_deliveries = true ActionMailer::Base.deliveries = [] @recipient = 'test@localhost' end + def teardown + restore_delivery_method + end + def test_ordering mail = FirstMailer.create_share(@recipient) assert_equal "first mail", mail.body.strip diff --git a/vendor/rails/actionmailer/test/mail_service_test.rb b/vendor/rails/actionmailer/test/mail_service_test.rb index 31a871a0..eb408f96 100755 --- a/vendor/rails/actionmailer/test/mail_service_test.rb +++ b/vendor/rails/actionmailer/test/mail_service_test.rb @@ -172,6 +172,15 @@ class TestMailer < ActionMailer::Base body["recipient"] = recipient end + def custom_templating_extension(recipient) + recipients recipient + subject "[Signed up] Welcome #{recipient}" + from "system@loudthinking.com" + sent_on Time.local(2004, 12, 12) + + body["recipient"] = recipient + end + def various_newlines(recipient) recipients recipient subject "various newlines" @@ -201,6 +210,16 @@ class TestMailer < ActionMailer::Base attachment :content_type => "application/octet-stream",:filename => "test.txt", :body => "test abcdefghijklmnopqstuvwxyz" end + def nested_multipart_with_body(recipient) + recipients recipient + subject "nested multipart with body" + from "test@example.com" + content_type "multipart/mixed" + part :content_type => "multipart/alternative", :content_disposition => "inline", :body => "Nothing to see here." do |p| + p.part :content_type => "text/html", :body => "test HTML
" + end + end + def attachment_with_custom_header(recipient) recipients recipient subject "custom header in attachment" @@ -236,6 +255,14 @@ class TestMailer < ActionMailer::Base body "testing" end + def return_path + recipients "no.one@nowhere.test" + subject "return path test" + from "some.one@somewhere.test" + body "testing" + headers "return-path" => "another@somewhere.test" + end + class <", mail['return-path'].to_s + end + + def test_return_path_with_deliver + ActionMailer::Base.delivery_method = :smtp + TestMailer.deliver_return_path + assert_match %r{^Return-Path: }, MockSMTP.deliveries[0][0] end end +end # uses_mocha + class InheritableTemplateRootTest < Test::Unit::TestCase def test_attr expected = "#{File.dirname(__FILE__)}/fixtures/path.with.dots" @@ -814,3 +911,29 @@ class InheritableTemplateRootTest < Test::Unit::TestCase assert_equal expected, FunkyPathMailer.template_root end end + +class MethodNamingTest < Test::Unit::TestCase + class TestMailer < ActionMailer::Base + def send + body 'foo' + end + end + + def setup + set_delivery_method :test + ActionMailer::Base.perform_deliveries = true + ActionMailer::Base.deliveries = [] + end + + def teardown + restore_delivery_method + end + + def test_send_method + assert_nothing_raised do + assert_emails 1 do + TestMailer.deliver_send + end + end + end +end diff --git a/vendor/rails/actionmailer/test/quoting_test.rb b/vendor/rails/actionmailer/test/quoting_test.rb index 77bd769b..14981571 100644 --- a/vendor/rails/actionmailer/test/quoting_test.rb +++ b/vendor/rails/actionmailer/test/quoting_test.rb @@ -3,6 +3,44 @@ require 'tmail' require 'tempfile' class QuotingTest < Test::Unit::TestCase + + # Move some tests from TMAIL here + def test_unquote_quoted_printable + a ="=?ISO-8859-1?Q?[166417]_Bekr=E6ftelse_fra_Rejsefeber?=" + b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8') + assert_equal "[166417] Bekr\303\246ftelse fra Rejsefeber", b + end + + def test_unquote_base64 + a ="=?ISO-8859-1?B?WzE2NjQxN10gQmVrcuZmdGVsc2UgZnJhIFJlanNlZmViZXI=?=" + b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8') + assert_equal "[166417] Bekr\303\246ftelse fra Rejsefeber", b + end + + def test_unquote_without_charset + a ="[166417]_Bekr=E6ftelse_fra_Rejsefeber" + b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8') + assert_equal "[166417]_Bekr=E6ftelse_fra_Rejsefeber", b + end + + def test_unqoute_multiple + a ="=?utf-8?q?Re=3A_=5B12=5D_=23137=3A_Inkonsistente_verwendung_von_=22Hin?==?utf-8?b?enVmw7xnZW4i?=" + b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8') + assert_equal "Re: [12] #137: Inkonsistente verwendung von \"Hinzuf\303\274gen\"", b + end + + def test_unqoute_in_the_middle + a ="Re: Photos =?ISO-8859-1?Q?Brosch=FCre_Rand?=" + b = TMail::Unquoter.unquote_and_convert_to(a, 'utf-8') + assert_equal "Re: Photos Brosch\303\274re Rand", b + end + + def test_unqoute_iso + a ="=?ISO-8859-1?Q?Brosch=FCre_Rand?=" + b = TMail::Unquoter.unquote_and_convert_to(a, 'iso-8859-1') + assert_equal "Brosch\374re Rand", b + end + def test_quote_multibyte_chars original = "\303\246 \303\270 and \303\245" @@ -18,7 +56,8 @@ class QuotingTest < Test::Unit::TestCase unquoted = TMail::Unquoter.unquote_and_convert_to(result, nil) assert_equal unquoted, original end - + + # test an email that has been created using \r\n newlines, instead of # \n newlines. def test_email_quoted_with_0d0a @@ -30,9 +69,19 @@ class QuotingTest < Test::Unit::TestCase mail = TMail::Mail.parse(IO.read("#{File.dirname(__FILE__)}/fixtures/raw_email_with_partially_quoted_subject")) assert_equal "Re: Test: \"\346\274\242\345\255\227\" mid \"\346\274\242\345\255\227\" tail", mail.subject end - + + def test_decode + encoded, decoded = expected_base64_strings + assert_equal decoded, TMail::Base64.decode(encoded) + end + + def test_encode + encoded, decoded = expected_base64_strings + assert_equal encoded.length, TMail::Base64.encode(decoded).length + end + private - + # This whole thing *could* be much simpler, but I don't think Tempfile, # popen and others exist on all platforms (like Windows). def execute_in_sandbox(code) @@ -54,4 +103,9 @@ class QuotingTest < Test::Unit::TestCase File.delete(test_name) rescue nil File.delete(res_name) rescue nil end + + def expected_base64_strings + [ File.read("#{File.dirname(__FILE__)}/fixtures/raw_base64_encoded_string"), File.read("#{File.dirname(__FILE__)}/fixtures/raw_base64_decoded_string") ] + end end + diff --git a/vendor/rails/actionmailer/test/test_helper_test.rb b/vendor/rails/actionmailer/test/test_helper_test.rb new file mode 100644 index 00000000..eb17e3e8 --- /dev/null +++ b/vendor/rails/actionmailer/test/test_helper_test.rb @@ -0,0 +1,117 @@ +require File.dirname(__FILE__) + '/abstract_unit' + +class TestHelperMailer < ActionMailer::Base + def test + recipients "test@example.com" + from "tester@example.com" + body render(:inline => "Hello, <%= @world %>", :body => { :world => "Earth" }) + end +end + +class TestHelperMailerTest < ActionMailer::TestCase + + def test_setup_sets_right_action_mailer_options + assert_equal :test, ActionMailer::Base.delivery_method + assert ActionMailer::Base.perform_deliveries + assert_equal [], ActionMailer::Base.deliveries + end + + def test_setup_creates_the_expected_mailer + assert @expected.is_a?(TMail::Mail) + assert_equal "1.0", @expected.mime_version + assert_equal "text/plain", @expected.content_type + end + + def test_mailer_class_is_correctly_inferred + assert_equal TestHelperMailer, self.class.mailer_class + end + + def test_determine_default_mailer_raises_correct_error + assert_raises(ActionMailer::NonInferrableMailerError) do + self.class.determine_default_mailer("NotAMailerTest") + end + end + + def test_charset_is_utf_8 + assert_equal "utf-8", charset + end + + def test_encode + assert_equal "=?utf-8?Q?=0aasdf=0a?=", encode("\nasdf\n") + end + + def test_assert_emails + assert_nothing_raised do + assert_emails 1 do + TestHelperMailer.deliver_test + end + end + end + + def test_repeated_assert_emails_calls + assert_nothing_raised do + assert_emails 1 do + TestHelperMailer.deliver_test + end + end + + assert_nothing_raised do + assert_emails 2 do + TestHelperMailer.deliver_test + TestHelperMailer.deliver_test + end + end + end + + def test_assert_emails_with_no_block + assert_nothing_raised do + TestHelperMailer.deliver_test + assert_emails 1 + end + + assert_nothing_raised do + TestHelperMailer.deliver_test + TestHelperMailer.deliver_test + assert_emails 3 + end + end + + def test_assert_no_emails + assert_nothing_raised do + assert_no_emails do + TestHelperMailer.create_test + end + end + end + + def test_assert_emails_too_few_sent + error = assert_raises Test::Unit::AssertionFailedError do + assert_emails 2 do + TestHelperMailer.deliver_test + end + end + + assert_match /2 .* but 1/, error.message + end + + def test_assert_emails_too_many_sent + error = assert_raises Test::Unit::AssertionFailedError do + assert_emails 1 do + TestHelperMailer.deliver_test + TestHelperMailer.deliver_test + end + end + + assert_match /1 .* but 2/, error.message + end + + def test_assert_no_emails_failure + error = assert_raises Test::Unit::AssertionFailedError do + assert_no_emails do + TestHelperMailer.deliver_test + end + end + + assert_match /0 .* but 1/, error.message + end +end diff --git a/vendor/rails/actionmailer/test/tmail_test.rb b/vendor/rails/actionmailer/test/tmail_test.rb index 7d83a68a..b40d8945 100644 --- a/vendor/rails/actionmailer/test/tmail_test.rb +++ b/vendor/rails/actionmailer/test/tmail_test.rb @@ -10,4 +10,13 @@ class TMailMailTest < Test::Unit::TestCase assert_equal "something_with_underscores=\n", m.quoted_body assert_equal expected, m.body end + + def test_nested_attachments_are_recognized_correctly + fixture = File.read("#{File.dirname(__FILE__)}/fixtures/raw_email_with_nested_attachment") + mail = TMail::Mail.parse(fixture) + assert_equal 2, mail.attachments.length + assert_equal "image/png", mail.attachments.first.content_type + assert_equal 1902, mail.attachments.first.length + assert_equal "application/pkcs7-signature", mail.attachments.last.content_type + end end diff --git a/vendor/rails/actionmailer/test/url_test.rb b/vendor/rails/actionmailer/test/url_test.rb index ded343cf..56478696 100644 --- a/vendor/rails/actionmailer/test/url_test.rb +++ b/vendor/rails/actionmailer/test/url_test.rb @@ -1,6 +1,9 @@ require "#{File.dirname(__FILE__)}/abstract_unit" class TestMailer < ActionMailer::Base + + default_url_options[:host] = 'www.basecamphq.com' + def signed_up_with_url(recipient) @recipients = recipient @subject = "[Signed up] Welcome #{recipient}" @@ -37,22 +40,27 @@ class ActionMailerUrlTest < Test::Unit::TestCase end def setup - ActionMailer::Base.delivery_method = :test + set_delivery_method :test ActionMailer::Base.perform_deliveries = true ActionMailer::Base.deliveries = [] @recipient = 'test@localhost' end + def teardown + restore_delivery_method + end + def test_signed_up_with_url ActionController::Routing::Routes.draw do |map| map.connect ':controller/:action/:id' + map.welcome 'welcome', :controller=>"foo", :action=>"bar" end expected = new_mail expected.to = @recipient expected.subject = "[Signed up] Welcome #{@recipient}" - expected.body = "Hello there, \n\nMr. #{@recipient}. Please see our greeting at http://example.com/welcome/greeting" + expected.body = "Hello there, \n\nMr. #{@recipient}. Please see our greeting at http://example.com/welcome/greeting http://www.basecamphq.com/welcome\n\n\"Somelogo\"" expected.from = "system@loudthinking.com" expected.date = Time.local(2004, 12, 12) diff --git a/vendor/rails/actionpack/CHANGELOG b/vendor/rails/actionpack/CHANGELOG index 082d6bae..d8a1cc75 100644 --- a/vendor/rails/actionpack/CHANGELOG +++ b/vendor/rails/actionpack/CHANGELOG @@ -1,28 +1,422 @@ -*1.13.5* (October 12th, 2007) +*2.0.2* (December 16th, 2007) -* Backport: allow array and hash query parameters. Array route parameters are converted/to/a/path as before. #6765, #7047, #7462 [bgipsy, Jeremy McAnally, Dan Kubb, brendan, Diego Algorta Casamayou] +* Added delete_via_redirect and put_via_redirect to integration testing #10497 [philodespotos] -* Fix in place editor's setter action with non-string fields. #7418 [Andreas] +* Allow headers['Accept'] to be set by hand when calling xml_http_request #10461 [BMorearty] + +* Added OPTIONS to list of default accepted HTTP methods #10449 [holoway] + +* Added option to pass proc to ActionController::Base.asset_host for maximum configurability #10521 [chuyeow]. Example: + + ActionController::Base.asset_host = Proc.new { |source| + if source.starts_with?('/images') + "http://images.example.com" + else + "http://assets.example.com" + end + } + +* Fixed that ActionView#file_exists? would be incorrect if @first_render is set #10569 [dbussink] + +* Added that Array#to_param calls to_param on all it's elements #10473 [brandon] + +* Ensure asset cache directories are automatically created. #10337 [Josh Peek, Cheah Chu Yeow] + +* render :xml and :json preserve custom content types. #10388 [jmettraux, Cheah Chu Yeow] + +* Refactor Action View template handlers. #10437, #10455 [Josh Peek] + +* Fix DoubleRenderError message and leave out mention of returning false from filters. Closes #10380 [Frederick Cheung] + +* Clean up some cruft around ActionController::Base#head. Closes #10417 [ssoroka] -*1.13.4* (October 4th, 2007) +*2.0.1* (December 7th, 2007) -* Only accept session ids from cookies, prevents session fixation attacks. [bradediger] +* Fixed send_file/binary_content for testing #8044 [tolsen] -* Change the resource seperator from ; to / change the generated routes to use the new-style named routes. e.g. new_group_user_path(@group) instead of group_new_user_path(@group). [pixeltrix] +* When a NonInferrableControllerError is raised, make the proposed fix clearer in the error message. Closes #10199 [danger] -* Integration tests: introduce methods for other HTTP methods. #6353 [caboose] +* Update Prototype to 1.6.0.1. [sam] -* Improve performance of action caching. Closes #8231 [skaes] +* Update script.aculo.us to 1.8.0.1. [madrobby] + +* Add 'disabled' attribute to