From b95d6e84b00bd926b1118f6a820eca7a870b8c35 Mon Sep 17 00:00:00 2001
From: Santiago Pastorino
Date: Sat, 14 Aug 2010 02:13:00 -0300
Subject: Deletes trailing whitespaces (over text files only find * -type f
-exec sed 's/[ \t]*$//' -i {} \;)
---
README.rdoc | 4 +-
actionmailer/CHANGELOG | 8 +-
actionmailer/README.rdoc | 22 +-
actionmailer/lib/action_mailer/base.rb | 22 +-
actionmailer/lib/action_mailer/delivery_methods.rb | 4 +-
actionmailer/lib/action_mailer/mail_helper.rb | 4 +-
actionmailer/lib/action_mailer/old_api.rb | 32 +-
actionmailer/lib/action_mailer/tmail_compat.rb | 6 +-
actionmailer/test/base_test.rb | 16 +-
actionmailer/test/delivery_methods_test.rb | 6 +-
actionmailer/test/fixtures/raw_email10 | 2 +-
actionmailer/test/fixtures/raw_email2 | 2 +-
actionmailer/test/fixtures/raw_email3 | 2 +-
actionmailer/test/fixtures/raw_email5 | 2 +-
actionmailer/test/fixtures/raw_email6 | 2 +-
actionmailer/test/fixtures/raw_email8 | 2 +-
actionmailer/test/fixtures/raw_email9 | 10 +-
actionmailer/test/fixtures/templates/signed_up.erb | 2 +-
.../custom_templating_extension.html.haml | 4 +-
.../custom_templating_extension.text.haml | 4 +-
.../test/fixtures/test_mailer/signed_up.html.erb | 2 +-
.../url_test_mailer/signed_up_with_url.erb | 2 +-
actionmailer/test/mailers/proc_mailer.rb | 6 +-
actionmailer/test/old_base/mail_service_test.rb | 30 +-
actionmailer/test/old_base/tmail_compat_test.rb | 2 +-
actionmailer/test/old_base/url_test.rb | 2 +-
actionmailer/test/test_helper_test.rb | 24 +-
actionpack/CHANGELOG | 4 +-
actionpack/README.rdoc | 4 +-
actionpack/RUNNING_UNIT_TESTS | 4 +-
actionpack/lib/abstract_controller/base.rb | 2 +-
.../action_controller/metal/http_authentication.rb | 4 +-
actionpack/lib/action_controller/middleware.rb | 2 +-
actionpack/lib/action_controller/test_case.rb | 2 +-
.../vendor/html-scanner/html/document.rb | 4 +-
.../vendor/html-scanner/html/node.rb | 58 ++--
.../vendor/html-scanner/html/sanitizer.rb | 50 +--
.../vendor/html-scanner/html/selector.rb | 2 +-
.../vendor/html-scanner/html/tokenizer.rb | 16 +-
actionpack/lib/action_dispatch/http/mime_type.rb | 20 +-
actionpack/lib/action_dispatch/middleware/stack.rb | 2 +-
actionpack/lib/action_dispatch/routing.rb | 8 +-
actionpack/lib/action_view/helpers/debug_helper.rb | 2 +-
.../lib/action_view/helpers/form_options_helper.rb | 16 +-
.../lib/action_view/helpers/form_tag_helper.rb | 16 +-
.../lib/action_view/helpers/number_helper.rb | 2 +-
.../lib/action_view/helpers/raw_output_helper.rb | 2 +-
.../lib/action_view/helpers/sanitize_helper.rb | 4 +-
actionpack/lib/action_view/helpers/text_helper.rb | 4 +-
.../lib/action_view/helpers/translation_helper.rb | 18 +-
actionpack/lib/action_view/log_subscriber.rb | 2 +-
actionpack/lib/action_view/template/handler.rb | 2 +-
actionpack/lib/action_view/template/handlers.rb | 2 +-
actionpack/lib/action_view/test_case.rb | 2 +-
actionpack/lib/action_view/testing/resolvers.rb | 2 +-
actionpack/test/abstract/callbacks_test.rb | 92 +++---
actionpack/test/abstract/helper_test.rb | 8 +-
actionpack/test/abstract/translation_test.rb | 8 +-
actionpack/test/abstract_unit.rb | 2 +-
actionpack/test/controller/assert_select_test.rb | 2 +-
actionpack/test/controller/base_test.rb | 12 +-
actionpack/test/controller/dispatcher_test.rb | 2 +-
actionpack/test/controller/filters_test.rb | 2 +-
actionpack/test/controller/helper_test.rb | 14 +-
.../controller/http_basic_authentication_test.rb | 6 +-
.../controller/http_token_authentication_test.rb | 6 +-
actionpack/test/controller/layout_test.rb | 4 +-
actionpack/test/controller/mime_responds_test.rb | 10 +-
actionpack/test/controller/new_base/etag_test.rb | 2 +-
.../new_base/render_implicit_action_test.rb | 4 +-
.../test/controller/new_base/render_layout_test.rb | 2 +-
.../controller/new_base/render_partial_test.rb | 14 +-
actionpack/test/controller/new_base/render_test.rb | 2 +-
.../test/controller/new_base/render_text_test.rb | 24 +-
.../test/controller/new_base/render_xml_test.rb | 2 +-
actionpack/test/controller/render_test.rb | 4 +-
actionpack/test/controller/rescue_test.rb | 2 +-
actionpack/test/controller/selector_test.rb | 8 +-
actionpack/test/controller/test_test.rb | 2 +-
actionpack/test/controller/view_paths_test.rb | 4 +-
actionpack/test/dispatch/callbacks_test.rb | 2 +-
actionpack/test/dispatch/mount_test.rb | 2 +-
actionpack/test/dispatch/request_test.rb | 2 +-
.../test/dispatch/session/cookie_store_test.rb | 8 +-
.../test/dispatch/session/mem_cache_store_test.rb | 2 +-
actionpack/test/fixtures/companies.yml | 2 +-
actionpack/test/fixtures/company.rb | 2 +-
actionpack/test/fixtures/db_definitions/sqlite.sql | 20 +-
actionpack/test/fixtures/replies.yml | 2 +-
.../test/fixtures/test/hello_xml_world.builder | 2 +-
actionpack/test/fixtures/topics.yml | 2 +-
.../test/template/compiled_templates_test.rb | 2 +-
actionpack/test/template/date_helper_i18n_test.rb | 2 +-
actionpack/test/template/date_helper_test.rb | 28 +-
actionpack/test/template/erb_util_test.rb | 2 +-
.../test/template/form_options_helper_test.rb | 12 +-
.../test/template/html-scanner/document_test.rb | 2 +-
actionpack/test/template/html-scanner/node_test.rb | 18 +-
.../test/template/html-scanner/sanitizer_test.rb | 34 +-
.../test/template/html-scanner/tag_node_test.rb | 46 +--
.../test/template/html-scanner/text_node_test.rb | 10 +-
.../test/template/html-scanner/tokenizer_test.rb | 20 +-
actionpack/test/template/number_helper_test.rb | 2 +-
actionpack/test/template/tag_helper_test.rb | 6 +-
actionpack/test/template/text_helper_test.rb | 12 +-
.../test/template/translation_helper_test.rb | 8 +-
actionpack/test/template/url_helper_test.rb | 4 +-
activemodel/CHANGELOG | 2 +-
activemodel/README.rdoc | 54 ++--
activemodel/lib/active_model/attribute_methods.rb | 84 ++---
activemodel/lib/active_model/callbacks.rb | 58 ++--
activemodel/lib/active_model/conversion.rb | 12 +-
activemodel/lib/active_model/dirty.rb | 36 +--
activemodel/lib/active_model/errors.rb | 60 ++--
activemodel/lib/active_model/lint.rb | 2 +-
activemodel/lib/active_model/naming.rb | 10 +-
activemodel/lib/active_model/observing.rb | 14 +-
activemodel/lib/active_model/serialization.rb | 44 +--
activemodel/lib/active_model/serializers/xml.rb | 2 +-
activemodel/lib/active_model/translation.rb | 14 +-
activemodel/lib/active_model/validations.rb | 32 +-
.../lib/active_model/validations/acceptance.rb | 22 +-
.../lib/active_model/validations/confirmation.rb | 20 +-
activemodel/lib/active_model/validations/length.rb | 2 +-
.../lib/active_model/validations/validates.rb | 10 +-
activemodel/lib/active_model/validator.rb | 22 +-
activemodel/test/cases/attribute_methods_test.rb | 4 +-
.../serializeration/json_serialization_test.rb | 10 +-
activemodel/test/cases/translation_test.rb | 4 +-
.../test/cases/validations/validates_test.rb | 8 +-
activemodel/test/cases/validations_test.rb | 2 +-
activemodel/test/models/custom_reader.rb | 4 +-
activemodel/test/models/person_with_validator.rb | 2 +-
activemodel/test/models/sheep.rb | 1 -
activerecord/README.rdoc | 18 +-
activerecord/RUNNING_UNIT_TESTS | 16 +-
activerecord/lib/active_record/aggregations.rb | 96 +++---
.../lib/active_record/association_preload.rb | 8 +-
activerecord/lib/active_record/associations.rb | 344 ++++++++++-----------
.../has_and_belongs_to_many_association.rb | 6 +-
.../associations/has_many_association.rb | 8 +-
.../associations/has_many_through_association.rb | 6 +-
.../attribute_methods/time_zone_conversion.rb | 2 +-
.../lib/active_record/attribute_methods/write.rb | 2 +-
.../lib/active_record/autosave_association.rb | 10 +-
activerecord/lib/active_record/base.rb | 174 +++++------
activerecord/lib/active_record/callbacks.rb | 48 +--
.../abstract/connection_pool.rb | 2 +-
.../abstract/schema_definitions.rb | 6 +-
.../abstract/schema_statements.rb | 4 +-
.../connection_adapters/mysql2_adapter.rb | 4 +-
.../connection_adapters/mysql_adapter.rb | 2 +-
.../connection_adapters/postgresql_adapter.rb | 8 +-
.../connection_adapters/sqlite_adapter.rb | 2 +-
.../lib/active_record/dynamic_finder_match.rb | 2 +-
.../lib/active_record/dynamic_scope_match.rb | 2 +-
activerecord/lib/active_record/errors.rb | 8 +-
activerecord/lib/active_record/fixtures.rb | 36 +--
activerecord/lib/active_record/locale/en.yml | 4 +-
activerecord/lib/active_record/migration.rb | 66 ++--
activerecord/lib/active_record/named_scope.rb | 24 +-
.../lib/active_record/nested_attributes.rb | 2 +-
activerecord/lib/active_record/observer.rb | 2 +-
activerecord/lib/active_record/reflection.rb | 26 +-
activerecord/lib/active_record/relation.rb | 8 +-
.../lib/active_record/relation/calculations.rb | 52 ++--
.../lib/active_record/relation/finder_methods.rb | 14 +-
.../lib/active_record/relation/spawn_methods.rb | 2 +-
activerecord/lib/active_record/schema_dumper.rb | 4 +-
activerecord/lib/active_record/serialization.rb | 2 +-
.../active_record/serializers/xml_serializer.rb | 2 +-
activerecord/lib/active_record/session_store.rb | 2 +-
activerecord/lib/active_record/test_case.rb | 2 +-
.../lib/active_record/validations/associated.rb | 4 +-
.../lib/active_record/validations/uniqueness.rb | 20 +-
.../has_many_through_associations_test.rb | 4 +-
.../has_one_through_associations_test.rb | 14 +-
.../test/cases/associations/join_model_test.rb | 10 +-
activerecord/test/cases/associations_test.rb | 6 +-
activerecord/test/cases/attribute_methods_test.rb | 8 +-
.../test/cases/autosave_association_test.rb | 2 +-
activerecord/test/cases/counter_cache_test.rb | 2 +-
activerecord/test/cases/defaults_test.rb | 6 +-
activerecord/test/cases/dirty_test.rb | 14 +-
activerecord/test/cases/fixtures_test.rb | 16 +-
activerecord/test/cases/i18n_test.rb | 4 +-
activerecord/test/cases/json_serialization_test.rb | 2 +-
activerecord/test/cases/migration_test.rb | 4 +-
activerecord/test/cases/modules_test.rb | 4 +-
activerecord/test/cases/nested_attributes_test.rb | 20 +-
activerecord/test/cases/persistence_test.rb | 4 +-
activerecord/test/cases/reflection_test.rb | 2 +-
activerecord/test/cases/relation_scoping_test.rb | 4 +-
activerecord/test/cases/relations_test.rb | 4 +-
activerecord/test/cases/serialization_test.rb | 2 +-
activerecord/test/cases/timestamp_test.rb | 28 +-
activerecord/test/fixtures/comments.yml | 4 +-
activerecord/test/fixtures/companies.yml | 10 +-
activerecord/test/fixtures/items.yml | 1 -
activerecord/test/fixtures/memberships.yml | 2 +-
activerecord/test/fixtures/mixins.yml | 2 +-
activerecord/test/fixtures/taggings.yml | 2 +-
activerecord/test/fixtures/tags.yml | 2 +-
activerecord/test/models/developer.rb | 2 +-
activerecord/test/models/minivan.rb | 4 +-
activerecord/test/models/post.rb | 2 +-
activerecord/test/models/shop.rb | 2 +-
activerecord/test/models/topic.rb | 2 +-
.../test/schema/postgresql_specific_schema.rb | 2 +-
activerecord/test/schema/schema.rb | 6 +-
activeresource/CHANGELOG | 22 +-
activeresource/README.rdoc | 8 +-
activeresource/lib/active_resource/http_mock.rb | 8 +-
activeresource/lib/active_resource/validations.rb | 16 +-
.../test/cases/base/custom_methods_test.rb | 10 +-
activeresource/test/cases/validations_test.rb | 2 +-
activeresource/test/connection_test.rb | 4 +-
activesupport/CHANGELOG | 68 ++--
activesupport/lib/active_support/base64.rb | 6 +-
activesupport/lib/active_support/benchmarkable.rb | 6 +-
activesupport/lib/active_support/cache.rb | 22 +-
.../active_support/cache/strategy/local_cache.rb | 2 +-
activesupport/lib/active_support/callbacks.rb | 2 +-
.../active_support/core_ext/array/random_access.rb | 8 +-
.../lib/active_support/core_ext/array/wrap.rb | 2 +-
.../active_support/core_ext/date/calculations.rb | 4 +-
.../core_ext/date_time/conversions.rb | 12 +-
.../lib/active_support/core_ext/date_time/zones.rb | 2 +-
.../lib/active_support/core_ext/enumerable.rb | 8 +-
.../active_support/core_ext/hash/conversions.rb | 22 +-
.../lib/active_support/core_ext/integer/time.rb | 4 +-
.../active_support/core_ext/module/anonymous.rb | 2 +-
.../core_ext/module/attr_accessor_with_default.rb | 4 +-
.../core_ext/module/attribute_accessors.rb | 2 +-
.../core_ext/module/remove_method.rb | 2 +-
.../core_ext/module/synchronization.rb | 4 +-
.../lib/active_support/core_ext/numeric/time.rb | 18 +-
.../lib/active_support/core_ext/object/blank.rb | 2 +-
.../core_ext/object/instance_variables.rb | 10 +-
.../active_support/core_ext/object/returning.rb | 4 +-
.../active_support/core_ext/range/conversions.rb | 2 +-
.../lib/active_support/core_ext/string/access.rb | 14 +-
.../active_support/core_ext/string/inflections.rb | 12 +-
.../active_support/core_ext/time/calculations.rb | 4 +-
.../active_support/core_ext/time/conversions.rb | 2 +-
.../lib/active_support/core_ext/time/zones.rb | 6 +-
activesupport/lib/active_support/duration.rb | 2 +-
activesupport/lib/active_support/i18n_railtie.rb | 2 +-
.../lib/active_support/lazy_load_hooks.rb | 4 +-
activesupport/lib/active_support/locale/en.yml | 6 +-
activesupport/lib/active_support/log_subscriber.rb | 2 +-
.../active_support/log_subscriber/test_helper.rb | 2 +-
.../lib/active_support/message_encryptor.rb | 34 +-
.../lib/active_support/message_verifier.rb | 14 +-
activesupport/lib/active_support/multibyte.rb | 2 +-
activesupport/lib/active_support/ordered_hash.rb | 4 +-
.../lib/active_support/ordered_options.rb | 6 +-
.../lib/active_support/testing/assertions.rb | 4 +-
.../lib/active_support/testing/declarative.rb | 8 +-
.../lib/active_support/testing/pending.rb | 6 +-
activesupport/lib/active_support/time_with_zone.rb | 4 +-
activesupport/lib/active_support/xml_mini/rexml.rb | 2 +-
.../class_folder/nested_class.rb | 2 +-
activesupport/test/clean_backtrace_test.rb | 14 +-
activesupport/test/clean_logger_test.rb | 4 +-
activesupport/test/core_ext/array_ext_test.rb | 12 +-
.../test/core_ext/class/attribute_accessor_test.rb | 10 +-
.../class/class_inheritable_attributes_test.rb | 22 +-
activesupport/test/core_ext/date_ext_test.rb | 16 +-
activesupport/test/core_ext/date_time_ext_test.rb | 2 +-
activesupport/test/core_ext/duration_test.rb | 4 +-
activesupport/test/core_ext/enumerable_test.rb | 2 +-
activesupport/test/core_ext/hash_ext_test.rb | 42 +--
activesupport/test/core_ext/kernel_test.rb | 2 +-
.../test/core_ext/module/anonymous_test.rb | 2 +-
.../module/attr_accessor_with_default_test.rb | 8 +-
.../core_ext/module/attribute_accessor_test.rb | 2 +-
.../core_ext/module/attribute_aliasing_test.rb | 6 +-
.../test/core_ext/module/reachable_test.rb | 16 +-
activesupport/test/core_ext/numeric_ext_test.rb | 24 +-
.../test/core_ext/object_and_class_ext_test.rb | 2 +-
activesupport/test/core_ext/string_ext_test.rb | 2 +-
activesupport/test/core_ext/time_ext_test.rb | 20 +-
activesupport/test/core_ext/time_with_zone_test.rb | 6 +-
activesupport/test/i18n_test.rb | 34 +-
activesupport/test/message_encryptor_test.rb | 14 +-
activesupport/test/multibyte_conformance.rb | 30 +-
activesupport/test/option_merger_test.rb | 2 +-
activesupport/test/rescuable_test.rb | 8 +-
activesupport/test/test_test.rb | 20 +-
activesupport/test/time_zone_test.rb | 2 +-
ci/ci_setup_notes.txt | 6 +-
ci/site_config.rb | 12 +-
railties/CHANGELOG | 150 ++++-----
railties/README.rdoc | 2 +-
railties/guides/assets/stylesheets/main.css | 28 +-
railties/guides/rails_guides/generator.rb | 14 +-
railties/guides/source/2_3_release_notes.textile | 10 +-
.../source/action_controller_overview.textile | 14 +-
.../guides/source/action_view_overview.textile | 88 +++---
.../guides/source/active_record_basics.textile | 4 +-
.../guides/source/active_record_querying.textile | 12 +-
.../active_record_validations_callbacks.textile | 40 +--
.../source/active_support_core_extensions.textile | 16 +-
railties/guides/source/ajax_on_rails.textile | 34 +-
.../source/api_documentation_guidelines.textile | 4 +-
railties/guides/source/association_basics.textile | 4 +-
railties/guides/source/caching_with_rails.textile | 10 +-
railties/guides/source/command_line.textile | 4 +-
railties/guides/source/configuring.textile | 10 +-
railties/guides/source/getting_started.textile | 22 +-
railties/guides/source/i18n.textile | 2 +-
railties/guides/source/initialization.textile | 110 +++----
.../guides/source/layouts_and_rendering.textile | 18 +-
railties/guides/source/nested_model_forms.textile | 14 +-
railties/guides/source/plugins.textile | 2 +-
.../source/rails_application_templates.textile | 4 +-
railties/guides/source/routing.textile | 4 +-
railties/guides/source/security.textile | 2 +-
railties/guides/w3c_validator.rb | 18 +-
railties/lib/rails/code_statistics.rb | 8 +-
railties/lib/rails/generators/base.rb | 2 +-
.../app/templates/public/javascripts/effects.js | 2 +-
.../lib/rails/generators/rails/generator/USAGE | 2 +-
.../lib/rails/generators/rails/migration/USAGE | 8 +-
railties/lib/rails/generators/rails/plugin/USAGE | 2 +-
.../rails/resource/resource_generator.rb | 4 +-
railties/lib/rails/plugin.rb | 2 +-
railties/lib/rails/railtie.rb | 4 +-
railties/lib/rails/script_rails_loader.rb | 4 +-
railties/lib/rails/tasks/documentation.rake | 8 +-
railties/test/application/loading_test.rb | 6 +-
railties/test/application/rake_test.rb | 2 +-
railties/test/generators/actions_test.rb | 4 +-
railties/test/generators/app_generator_test.rb | 2 +-
railties/test/railties/railtie_test.rb | 2 +-
railties/test/script_rails_loader_test.rb | 8 +-
337 files changed, 2122 insertions(+), 2124 deletions(-)
diff --git a/README.rdoc b/README.rdoc
index 090a6bb68c..2e5e72c0e4 100644
--- a/README.rdoc
+++ b/README.rdoc
@@ -34,7 +34,7 @@ link:files/vendor/rails/actionpack/README.html.
2. At the command prompt, create a new Rails application:
- rails new myapp
+ rails new myapp
where "myapp" is the application name.
@@ -48,7 +48,7 @@ link:files/vendor/rails/actionpack/README.html.
"Welcome aboard: You're riding Ruby on Rails!"
-5. Follow the guidelines to start developing your application. You can find
+5. Follow the guidelines to start developing your application. You can find
the following resources handy:
* The README file created within your application.
diff --git a/actionmailer/CHANGELOG b/actionmailer/CHANGELOG
index 76eab935e5..d2cc70fc85 100644
--- a/actionmailer/CHANGELOG
+++ b/actionmailer/CHANGELOG
@@ -181,7 +181,7 @@
* ActionMailer::Base documentation rewrite. Closes #4991 [Kevin Clark, Marcel Molina Jr.]
-* Replace alias method chaining with Module#alias_method_chain. [Marcel Molina Jr.]
+* Replace alias method chaining with Module#alias_method_chain. [Marcel Molina Jr.]
* Replace Ruby's deprecated append_features in favor of included. [Marcel Molina Jr.]
@@ -327,7 +327,7 @@
* Added that deliver_* will now return the email that was sent
-* Added that quoting to UTF-8 only happens if the characters used are in that range #955 [Jamis Buck]
+* Added that quoting to UTF-8 only happens if the characters used are in that range #955 [Jamis Buck]
* Fixed quoting for all address headers, not just to #955 [Jamis Buck]
@@ -366,7 +366,7 @@
@body = "Nothing to see here."
@charset = "iso-8859-1"
end
-
+
def unencoded_subject(recipient)
@recipients = recipient
@subject = "testing unencoded subject"
@@ -375,7 +375,7 @@
@encode_subject = false
@charset = "iso-8859-1"
end
-
+
*0.6.1* (January 18th, 2005)
diff --git a/actionmailer/README.rdoc b/actionmailer/README.rdoc
index 602326eef7..dfb696eb55 100644
--- a/actionmailer/README.rdoc
+++ b/actionmailer/README.rdoc
@@ -5,7 +5,7 @@ are used to consolidate code for sending out forgotten passwords, welcome
wishes on signup, invoices for billing, and any other use case that requires
a written notification to either a person or another system.
-Action Mailer is in essence a wrapper around Action Controller and the
+Action Mailer is in essence a wrapper around Action Controller and the
Mail gem. It provides a way to make emails using templates in the same
way that Action Controller renders views using templates.
@@ -23,7 +23,7 @@ This can be as simple as:
class Notifier < ActionMailer::Base
delivers_from 'system@loudthinking.com'
-
+
def welcome(recipient)
@recipient = recipient
mail(:to => recipient,
@@ -36,13 +36,13 @@ ERb) that has the instance variables that are declared in the mailer action.
So the corresponding body template for the method above could look like this:
- Hello there,
+ Hello there,
Mr. <%= @recipient %>
Thank you for signing up!
-
-And if the recipient was given as "david@loudthinking.com", the email
+
+And if the recipient was given as "david@loudthinking.com", the email
generated would look like this:
Date: Mon, 25 Jan 2010 22:48:09 +1100
@@ -55,7 +55,7 @@ generated would look like this:
charset="US-ASCII";
Content-Transfer-Encoding: 7bit
- Hello there,
+ Hello there,
Mr. david@loudthinking.com
@@ -75,7 +75,7 @@ Or you can just chain the methods together like:
== Receiving emails
To receive emails, you need to implement a public instance method called receive that takes a
-tmail object as its single parameter. The Action Mailer framework has a corresponding class method,
+tmail object as its single parameter. The Action Mailer framework has a corresponding class method,
which is also called receive, that accepts a raw, unprocessed email as a string, which it then turns
into the tmail object and calls the receive instance method.
@@ -90,7 +90,7 @@ Example:
if email.has_attachments?
for attachment in email.attachments
- page.attachments.create({
+ page.attachments.create({
:file => attachment, :description => email.subject
})
end
@@ -98,13 +98,13 @@ Example:
end
end
-This Mailman can be the target for Postfix or other MTAs. In Rails, you would use the runner in the
+This Mailman can be the target for Postfix or other MTAs. In Rails, you would use the runner in the
trivial case like this:
rails runner 'Mailman.receive(STDIN.read)'
-However, invoking Rails in the runner for each mail to be received is very resource intensive. A single
-instance of Rails should be run within a daemon if it is going to be utilized to process more than just
+However, invoking Rails in the runner for each mail to be received is very resource intensive. A single
+instance of Rails should be run within a daemon if it is going to be utilized to process more than just
a limited number of email.
== Configuration
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb
index f742f982f2..8fe5868d52 100644
--- a/actionmailer/lib/action_mailer/base.rb
+++ b/actionmailer/lib/action_mailer/base.rb
@@ -187,31 +187,31 @@ module ActionMailer #:nodoc:
# with the filename +free_book.pdf+.
#
# = Inline Attachments
- #
- # You can also specify that a file should be displayed inline with other HTML. This is useful
+ #
+ # You can also specify that a file should be displayed inline with other HTML. This is useful
# if you want to display a corporate logo or a photo.
- #
+ #
# class ApplicationMailer < ActionMailer::Base
# def welcome(recipient)
# attachments.inline['photo.png'] = File.read('path/to/photo.png')
# mail(:to => recipient, :subject => "Here is what we look like")
# end
# end
- #
+ #
# And then to reference the image in the view, you create a welcome.html.erb file and
- # make a call to +image_tag+ passing in the attachment you want to display and then call
+ # make a call to +image_tag+ passing in the attachment you want to display and then call
# +url+ on the attachment to get the relative content id path for the image source:
- #
+ #
#
Please Don't Cringe
- #
+ #
# <%= image_tag attachments['photo.png'].url -%>
- #
+ #
# As we are using Action View's +image_tag+ method, you can pass in any other options you want:
- #
+ #
#
@@ -1213,15 +1213,15 @@ Rails provides a very simple HTTP authentication system that will work nicely in
class ApplicationController < ActionController::Base
protect_from_forgery
-
+
private
-
+
def authenticate
authenticate_or_request_with_http_basic do |user_name, password|
user_name == 'admin' && password == 'password'
end
end
-
+
end
@@ -1381,7 +1381,7 @@ Finally, we will edit the app/views/posts/show.html.erb template to sho
@@ -1405,7 +1405,7 @@ Open up app/helpers/posts_helper.rb and add the following:
module PostsHelper
def join_tags(post)
- post.tags.map { |t| t.name }.join(", ")
+ post.tags.map { |t| t.name }.join(", ")
end
end
@@ -1436,7 +1436,7 @@ Now you can edit the view in app/views/posts/show.html.erb to look like
diff --git a/railties/guides/source/i18n.textile b/railties/guides/source/i18n.textile
index 63d22db485..1af51af80e 100644
--- a/railties/guides/source/i18n.textile
+++ b/railties/guides/source/i18n.textile
@@ -518,7 +518,7 @@ es:
title: "Título"
-you can look up the +books.index.title+ value *inside* +app/views/books/index.html.erb+ template like this (note the dot):
+you can look up the +books.index.title+ value *inside* +app/views/books/index.html.erb+ template like this (note the dot):
<%= t '.title' %>
diff --git a/railties/guides/source/initialization.textile b/railties/guides/source/initialization.textile
index f80c00b280..4e257d2e00 100644
--- a/railties/guides/source/initialization.textile
+++ b/railties/guides/source/initialization.textile
@@ -229,7 +229,7 @@ This file goes on to define some classes that will be automatically loaded using
require "active_support/inflector/methods"
require "active_support/lazy_load_hooks"
-
+
module ActiveSupport
module Autoload
def self.extended(base)
@@ -250,7 +250,7 @@ This file goes on to define some classes that will be automatically loaded using
end
super const_name, location
end
-
+
...
end
end
@@ -337,7 +337,7 @@ As you can see for the duration of the +eager_autoload+ block the class variable
autoload :I18n, "active_support/i18n"
-So we know the ones in +eager_autoload+ are eagerly loaded and it does this by storing them in an +@@autoloads+ hash object and then loading them via +eager_autoload!+ which is called via the +preload_frameworks+ initializer defined in _railties/lib/rails/application/bootstrap.rb_.
+So we know the ones in +eager_autoload+ are eagerly loaded and it does this by storing them in an +@@autoloads+ hash object and then loading them via +eager_autoload!+ which is called via the +preload_frameworks+ initializer defined in _railties/lib/rails/application/bootstrap.rb_.
The classes and modules that are not +eager_autoload+'d are automatically loaded as they are references
@@ -423,16 +423,16 @@ Now that Rails has required Action Dispatch and it has required Rack, Rails can
module Rails
class Server < ::Rack::Server
-
+
...
-
+
def initialize(*)
super
set_environment
end
-
+
...
-
+
def set_environment
ENV["RAILS_ENV"] ||= options[:environment]
end
@@ -486,7 +486,7 @@ And +default_options+ like this:
:AccessLog => [],
:config => "config.ru"
}
- end
+ end
Here it is important to note that the default environment is _development_. After +Rack::Server#initialize+ has done its thing it returns to +Rails::Server#initialize+ which calls +set_environment+:
@@ -752,7 +752,7 @@ If you wish to know more about how they're deprecated see the +require 'active_s
h4. +require 'rails/log_subscriber'+
-The +Rails::LogSubscriber+ provides a central location for logging in Rails 3 so as to not slow down the main thread. When you call one of the logging methods (+info+, +debug+, +warn+, +error+, +fatal+ or +unknown+) from the +Rails::LogSubscriber+ class or one of its subclasses this will notify the Rails logger to log this call in the fashion you specify, but will not write it to the file. The file writing is done at the end of the request, courtesy of the +Rails::Rack::Logger+ middleware.
+The +Rails::LogSubscriber+ provides a central location for logging in Rails 3 so as to not slow down the main thread. When you call one of the logging methods (+info+, +debug+, +warn+, +error+, +fatal+ or +unknown+) from the +Rails::LogSubscriber+ class or one of its subclasses this will notify the Rails logger to log this call in the fashion you specify, but will not write it to the file. The file writing is done at the end of the request, courtesy of the +Rails::Rack::Logger+ middleware.
Each Railtie defines its own class that descends from +Rails::LogSubscriber+ with each defining its own methods for logging individual tasks.
@@ -821,7 +821,7 @@ TODO: Quotify.
Active Record connects business objects and database tables to create a persistable domain model where logic and data are presented in one wrapping. It's an implementation of the object-relational mapping (ORM) pattern by the same name as described by Martin Fowler:
- "An object that wraps a row in a database table or view, encapsulates
+ "An object that wraps a row in a database table or view, encapsulates
the database access, and adds domain logic on that data."
Active Record's main contribution to the pattern is to relieve the original of two stunting problems:
@@ -910,7 +910,7 @@ h5. +require 'active_record'+
Back the initial require from the _railtie.rb_.
-The _active_support_ and _active_model_ requires are again just an insurance for if we're loading Active Record outside of the scope of Rails. In _active_record.rb_ the ActiveRecord +Module+ is initialized and in it there is defined a couple of +autoloads+ and +eager_autoloads+.
+The _active_support_ and _active_model_ requires are again just an insurance for if we're loading Active Record outside of the scope of Rails. In _active_record.rb_ the ActiveRecord +Module+ is initialized and in it there is defined a couple of +autoloads+ and +eager_autoloads+.
There's a new method here called +autoload_under+ which is defined in +ActiveSupport::Autoload+. This sets the autoload path to temporarily be the specified path, in this case +relation+ for the +autoload+'d classes inside the block.
@@ -935,7 +935,7 @@ Inside the Active Record Railtie the +ActiveRecord::Railtie+ class is defined:
module ActiveRecord
class Railtie < Rails::Railtie
-
+
...
end
end
@@ -964,8 +964,8 @@ This Railtie is +require+'d by Active Record's Railtie.
From the Active Model readme:
- Prior to Rails 3.0, if a plugin or gem developer wanted to be able to have an object interact with Action Pack helpers, it was required to either copy chunks of code from Rails, or monkey patch entire helpers to make them handle objects that did not look like Active Record. This generated code duplication and fragile applications that broke on upgrades.
-
+ Prior to Rails 3.0, if a plugin or gem developer wanted to be able to have an object interact with Action Pack helpers, it was required to either copy chunks of code from Rails, or monkey patch entire helpers to make them handle objects that did not look like Active Record. This generated code duplication and fragile applications that broke on upgrades.
+
Active Model is a solution for this problem.
Active Model provides a known set of interfaces that your objects can implement to then present a common interface to the Action Pack helpers.
@@ -999,7 +999,7 @@ This first makes a couple of requires:
require "action_view/railtie"
-The _action_controller_ file is explained in the very next section. The require to _rails_ is requiring the already-required _railties/lib/rails.rb_. If you wish to know about the require to _action_view/railtie_ this is explained in the Action View Railtie section.
+The _action_controller_ file is explained in the very next section. The require to _rails_ is requiring the already-required _railties/lib/rails.rb_. If you wish to know about the require to _action_view/railtie_ this is explained in the Action View Railtie section.
h5. +require 'action_controller+
@@ -1009,7 +1009,7 @@ h5. +require 'abstract_controller'+
+AbstractController+ provides the functionality of TODO.
-This file is in _actionpack/lib/abstract_controller.rb_ and begins by attempting to add the path to Active Support to the load path, which it would succeed in if it wasn't already set by anything loaded before it. In this case, it's not going to be set due to Arel already loading it in (TODO: right?).
+This file is in _actionpack/lib/abstract_controller.rb_ and begins by attempting to add the path to Active Support to the load path, which it would succeed in if it wasn't already set by anything loaded before it. In this case, it's not going to be set due to Arel already loading it in (TODO: right?).
The next thing in this file four +require+ calls:
@@ -1146,9 +1146,9 @@ For an explanation of this file _activesupport/lib/active_support/core_ext/class
h5. +require 'active_support/deprecation/proxy_wrappers'+
-This file, _activesupport/lib/active_support/deprecation/proxy_wrappers.rb_, defines a couple of deprecation classes, which are +DeprecationProxy+, +DeprecationObjectProxy+, +DeprecationInstanceVariableProxy+, +DeprecationConstantProxy+ which are all namespaced into +ActiveSupport::Deprecation+. These last three are all subclasses of +DeprecationProxy+.
+This file, _activesupport/lib/active_support/deprecation/proxy_wrappers.rb_, defines a couple of deprecation classes, which are +DeprecationProxy+, +DeprecationObjectProxy+, +DeprecationInstanceVariableProxy+, +DeprecationConstantProxy+ which are all namespaced into +ActiveSupport::Deprecation+. These last three are all subclasses of +DeprecationProxy+.
-Why do we mention them here? Beside the obvious-by-now fact that we're covering just about everything about the initialization process in this guide, if you're deprecating something in your library and you use Active Support, you too can use the +DeprecationProxy+ class (and it's subclasses) too.
+Why do we mention them here? Beside the obvious-by-now fact that we're covering just about everything about the initialization process in this guide, if you're deprecating something in your library and you use Active Support, you too can use the +DeprecationProxy+ class (and it's subclasses) too.
h6. +DeprecationProxy+
@@ -1177,7 +1177,7 @@ This class is used only in _railties/lib/rails/deprecation.rb_, loaded further o
end).new
-There is similar definitions for the other constants of +RAILS_ENV+ and +RAILS_DEFAULT_LOGGER+. All three of these constants are in the midst of being deprecated (most likely in Rails 3.1) so Rails will tell you if you reference them that they're deprecated using the +DeprecationProxy+ class. Whenever you call +RAILS_ROOT+ this will raise a warning, telling you: "RAILS_ROOT is deprecated! Use Rails.root instead".... TODO: investigate if simply calling it does raise this warning. This same rule applies to +RAILS_ENV+ and +RAILS_DEFAULT_LOGGER+, their new alternatives are +Rails.env+ and +Rails.logger+ respectively.
+There is similar definitions for the other constants of +RAILS_ENV+ and +RAILS_DEFAULT_LOGGER+. All three of these constants are in the midst of being deprecated (most likely in Rails 3.1) so Rails will tell you if you reference them that they're deprecated using the +DeprecationProxy+ class. Whenever you call +RAILS_ROOT+ this will raise a warning, telling you: "RAILS_ROOT is deprecated! Use Rails.root instead".... TODO: investigate if simply calling it does raise this warning. This same rule applies to +RAILS_ENV+ and +RAILS_DEFAULT_LOGGER+, their new alternatives are +Rails.env+ and +Rails.logger+ respectively.
h6. +DeprecatedObjectProxy+
@@ -1203,7 +1203,7 @@ This makes more sense in the wider scope of the initializer:
end
-+ActionController::Routing::Routes+ was the previous constant used in defining routes in Rails 2 applications, now it's simply a method on +Rails.application+ rather than it's own individual class: +Rails.application.routes+. Both of these still call the +draw+ method on the returned object to end up defining the routes.
++ActionController::Routing::Routes+ was the previous constant used in defining routes in Rails 2 applications, now it's simply a method on +Rails.application+ rather than it's own individual class: +Rails.application.routes+. Both of these still call the +draw+ method on the returned object to end up defining the routes.
h6. +DeprecatedInstanceVariableProxy+
@@ -1362,7 +1362,7 @@ Here again we have the addition of the path to Active Support to the load path a
And these have already been required. If you wish to know what these files do go to the explanation of each in the "Common Includes" section. TODO: link to them!
-This file goes on to +require 'action_pack'+ which consists of all this code (comments stripped):
+This file goes on to +require 'action_pack'+ which consists of all this code (comments stripped):
require 'action_pack/version'
@@ -1445,11 +1445,11 @@ After including +ActiveSupport::Benchmarkable+, the helpers which we have declar
h5. +ActionView::Rendering+
-This module, from _actionpack/lib/action_view/render/rendering.rb_ defines a method you may be a little too familiar with: +render+. This is the +render+ use for rendering all kinds of things, such as partials, templates and text.
+This module, from _actionpack/lib/action_view/render/rendering.rb_ defines a method you may be a little too familiar with: +render+. This is the +render+ use for rendering all kinds of things, such as partials, templates and text.
h5. +ActionView::Partials+
-This module, from _actionpack/lib/action_view/render/partials.rb_, defines +ActionView::Partials::PartialRenderer+ which you can probably guess is used for rendering partials.
+This module, from _actionpack/lib/action_view/render/partials.rb_, defines +ActionView::Partials::PartialRenderer+ which you can probably guess is used for rendering partials.
h5. +ActionView::Layouts+
@@ -1487,7 +1487,7 @@ Next, the Railtie itself is defined:
end
end
end
-
+
The +ActionView::LogSubscriber+ sets up a method called +render_template+ which is called when a template is rendered. TODO: Templates only or partials and layouts also? I would imagine these fall under the templates category, but there needs to research to ensure this is correct.
@@ -1502,7 +1502,7 @@ are used to consolidate code for sending out forgotten passwords, welcome
wishes on signup, invoices for billing, and any other use case that requires
a written notification to either a person or another system.
-Action Mailer is in essence a wrapper around Action Controller and the
+Action Mailer is in essence a wrapper around Action Controller and the
Mail gem. It provides a way to make emails using templates in the same
way that Action Controller renders views using templates.
@@ -1580,7 +1580,7 @@ which is used by the +ActionMailer::MailerHelper+ method +block_format+:
:columns => 72, :first_indent => 2, :body_indent => 2, :text => paragraph
).format
}.join("\n")
-
+
# Make list points stand on their own line
formatted.gsub!(/[ ]*([*]+) ([^*]*)/) { |s| " #{$1} #{$2.strip}\n" }
formatted.gsub!(/[ ]*([#]+) ([^#]*)/) { |s| " #{$1} #{$2.strip}\n" }
@@ -1687,7 +1687,7 @@ There is only one initializer defined here: +set_configs+. This is covered later
h4. ActionDispatch Railtie
-ActionDispatch handles all dispatch work for Rails. It interfaces with Action Controller to determine what action to undertake when a request comes in. TODO: I would quote the README but it is strangely absent. Flyin' blind here!
+ActionDispatch handles all dispatch work for Rails. It interfaces with Action Controller to determine what action to undertake when a request comes in. TODO: I would quote the README but it is strangely absent. Flyin' blind here!
The ActionDispatch Railtie was previously required when we called +require 'rails'+, but we will cover the Railtie here too.
@@ -1817,7 +1817,7 @@ This +called_from+ setting looks a little overwhelming to begin with, but the sh
base.send(:include, self::Configurable)
subclasses << base
end
- end
+ end
Again, +YourApp::Application+ will return false for +abstract_railtie+ and so the code inside the +unless+ will be ran. The first line:
@@ -1886,7 +1886,7 @@ Now that we've covered the boot process of Rails the next line best to cover wou
Rails::Server.start
-The keen-eyed observer will note that this +when+ also specifies the argument could also be simply +'s'+ thereby making the full command +rails s+. This is the same with the other commands with +generate+ becoming +g+, +console+ becoming +c+ and +dbconsole+ becoming +db+.
+The keen-eyed observer will note that this +when+ also specifies the argument could also be simply +'s'+ thereby making the full command +rails s+. This is the same with the other commands with +generate+ becoming +g+, +console+ becoming +c+ and +dbconsole+ becoming +db+.
This code here ensures we are at the +ROOT_PATH+ of our application (this constant was defined in _script/rails_) and then calls +Rails::Server.start+. +Rails::Server+ descends from +Rack::Server+ which is defined in the rack gem. The +Rails::Server.start+ method is defined like this:
@@ -1997,7 +1997,7 @@ Finally! We've arrived at +default_options+ which leads into our next point quit
end
-We're not debugging anything, so there goes the first 7 lines, we're not warning, nor are we including, requiring, daemonising or writing out a pid file. That's everything except the final line, which calls +run+ with the +wrapped_app+ which is then defined like this:
+We're not debugging anything, so there goes the first 7 lines, we're not warning, nor are we including, requiring, daemonising or writing out a pid file. That's everything except the final line, which calls +run+ with the +wrapped_app+ which is then defined like this:
def wrapped_app
@@ -2051,7 +2051,7 @@ First this reads your config file and checks it for +#\+ at the beginning. This
require ::File.expand_path('../config/environment', __FILE__)
run YourApp::Application.instance
-
+
TODO: Is the above correct? I am simply guessing!
@@ -2246,7 +2246,7 @@ The method +find_with_root_flag+ is defined on +Rails::Engine+ (the superclass o
Pathname.new(root).expand_path : Pathname.new(root).realpath
end
-
+
+called_from+ goes through the +caller+ which is the stacktrace of the current thread, in the case of your application it would go a little like this:
@@ -2274,7 +2274,7 @@ The method +find_with_root_flag+ is defined on +Rails::Engine+ (the superclass o
end
-The +call_stack+ here is the +caller+ output shown previously, minus everything after the first +:+ on all the lines. The first path that matches this is _/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.0.beta1/lib/rails_. Yours may vary slightly, but should always end in _railties-x.x.x/lib/rails_.
+The +call_stack+ here is the +caller+ output shown previously, minus everything after the first +:+ on all the lines. The first path that matches this is _/usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.0.beta1/lib/rails_. Yours may vary slightly, but should always end in _railties-x.x.x/lib/rails_.
The code in +find_root_with_flag+ will go up this directory structure until it reaches the top, which in this case is +/+.
@@ -2302,7 +2302,7 @@ At the root of the system it looks for +config.ru+. TODO: Why? Obviously it's no
@serve_static_assets = true
@time_zone = "UTC"
@consider_all_requests_local = true
- end
+ end
The +super+ method here is the +initialize+ method in +Rails::Engine::Configuration+:
@@ -2604,7 +2604,7 @@ The +plugins+ method it calls is a little more complex:
When we call +@config.paths.vendor.plugins+ it will return +"vendor/plugins"+.
-
+
If you've defined specific plugin requirements for your application in _config/application.rb_ by using this code:
@@ -2725,7 +2725,7 @@ Now we finally have all the +initializers+ we can go through them and call +run+
end
-You may remember that the +@context+ in this code is +YourApp::Application+ and calling +instance_exec+ on this class will make a new instance of it and execute the code within the +&block+ passed to it. This code within the block is the code from all the initializers.
+You may remember that the +@context+ in this code is +YourApp::Application+ and calling +instance_exec+ on this class will make a new instance of it and execute the code within the +&block+ passed to it. This code within the block is the code from all the initializers.
h3. Bootstrap Initializers
@@ -2759,15 +2759,15 @@ We've seen +config.paths+ before when loading the plugins and they're explained
module Rails
class << self
-
+
...
-
+
def env
@_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development")
end
-
+
...
-
+
end
end
@@ -2953,7 +2953,7 @@ This is where it gets loaded. The +eager_autoload!+ method is defined like this:
end
-With +@@autoloads+ being
+With +@@autoloads+ being
* load_all_active_support
@@ -3144,9 +3144,9 @@ h4. +ActionDispatch::MiddlewareStack.new+
module ActionDispatch
class MiddlewareStack < Array
-
+
...
-
+
def initialize(*args, &block)
super(*args)
block.call(self) if block_given?
@@ -3188,9 +3188,9 @@ This +initialize+ method also is in a class who's ancestry is important so once
module ActionController
class Middleware < Metal
-
+
...
-
+
def initialize(app)
super()
@_app = app
@@ -3207,9 +3207,9 @@ This is another subclassed class, this time from +ActionController::AbstractCont
class Metal < AbstractController::Base
-
+
...
-
+
def initialize(*)
@_headers = {}
super
@@ -3217,7 +3217,7 @@ This is another subclassed class, this time from +ActionController::AbstractCont
end
-The single +*+ in the argument listing means we can accept any number of arguments, we just don't care what they are.
+The single +*+ in the argument listing means we can accept any number of arguments, we just don't care what they are.
h4. +AbstractController::Base.initialize+
@@ -3232,7 +3232,7 @@ This may be anti-climatic, but the initialize method here just returns an +Abstr
h4. +ActionDispatch::MiddlewareStack.use+
-Now we're back to this method, from our foray into the depths of how +Middleware.new+ works, we've showed that it is an instance of +AbstractController::Base+. Therefore it does
+Now we're back to this method, from our foray into the depths of how +Middleware.new+ works, we've showed that it is an instance of +AbstractController::Base+. Therefore it does
TODO: ELABORATE ON THIS SECTION, including explaining what all the pieces of middleware do. Then explain how the default_middleware_stack does what it does, whatever that is.
@@ -3309,7 +3309,7 @@ In a standard Rails application we have this in our _config/environments/develop
end
-It's a little bit sneaky here, but +configure+ is +alias+'d to +class_eval+ on subclasses of +Rails::Application+ which of course includes +YourApp::Application+. This means that the code inside the +configure do+ block will be evaled within the context of +YourApp::Application+. The +config+ method here is the one mentioned before: the +Rails::Application::Configuration+ object. The methods on it should look familiar too: they're the ones that had +attr_accessor+ and +attr_writer+ definitions.
+It's a little bit sneaky here, but +configure+ is +alias+'d to +class_eval+ on subclasses of +Rails::Application+ which of course includes +YourApp::Application+. This means that the code inside the +configure do+ block will be evaled within the context of +YourApp::Application+. The +config+ method here is the one mentioned before: the +Rails::Application::Configuration+ object. The methods on it should look familiar too: they're the ones that had +attr_accessor+ and +attr_writer+ definitions.
The ones down the bottom, +config.action_controller+, +config.action_view+ and +config.action_mailer+ aren't defined by +attr_accessor+ or +attr_writer+, rather they're undefined methods and therefore will trigger the +method_missing+ on the +Rails::Application::Configuration+ option.
@@ -3381,7 +3381,7 @@ I'm going to show you two methods since the third one, +self.plugin_name+, calls
@plugins ||= []
@plugins << klass unless klass == Plugin
end
-
+
def self.plugins
@plugins
end
@@ -3472,7 +3472,7 @@ h5. +Rack::Handler::WEBrick+
This class is subclassed from +WEBrick::HTTPServlet::AbstractServlet+ which is a class that comes with the Ruby standard library. This is the magical class that serves the requests and deals with the comings (requests) and goings (responses) for your server.
-+Rack::Server+ has handlers for the request and by default the handler for a _rails server_ server is
++Rack::Server+ has handlers for the request and by default the handler for a _rails server_ server is
h3. Cruft!
@@ -3706,7 +3706,7 @@ This file is _activesupport/lib/active_support/inflector.rb_ and makes a couple
require 'active_support/core_ext/string/inflections'
-The files included here define methods for modifying strings, such as +transliterate+ which will convert a Unicode string to its ASCII version, +parameterize+ for making strings into url-safe versions, +camelize+ for camel-casing a string such as +string_other+ into +StringOther+ and +ordinalize+ converting a string such as +101+ into +101st+. More information about these methods can be found in the Active Support Core Extensions Guide. TODO: Link to AS Guide.
+The files included here define methods for modifying strings, such as +transliterate+ which will convert a Unicode string to its ASCII version, +parameterize+ for making strings into url-safe versions, +camelize+ for camel-casing a string such as +string_other+ into +StringOther+ and +ordinalize+ converting a string such as +101+ into +101st+. More information about these methods can be found in the Active Support Core Extensions Guide. TODO: Link to AS Guide.
h4. +require 'active_support/core_ext/module/delegation'+
@@ -3715,7 +3715,7 @@ _activesupport/lib/active_support/core_ext/module/delegation.rb_ defines the +de
class Client < ActiveRecord::Base
has_one :address
-
+
delegate :address_line_1, :to => :address
end
@@ -3736,7 +3736,7 @@ h4. +require 'active_support/core_ext/class/attribute_accessors'+
The file, _activesupport/lib/active_support/core_ext/class/attribute_accessors.rb_, defines the class accessor methods +cattr_writer+, +cattr_reader+ and +cattr_accessor+. +cattr_accessor+ defines a +cattr_reader+ and +cattr_writer+ for the symbol passed in. These methods work by defining class variables when you call their dynamic methods.
-Throughout the Railties there a couple of common includes. They are listed here for your convenience.
+Throughout the Railties there a couple of common includes. They are listed here for your convenience.
h4. +require 'active_support/core_ext/module/attr_internal+
diff --git a/railties/guides/source/layouts_and_rendering.textile b/railties/guides/source/layouts_and_rendering.textile
index b9a201e5f0..fe5b4c8773 100644
--- a/railties/guides/source/layouts_and_rendering.textile
+++ b/railties/guides/source/layouts_and_rendering.textile
@@ -143,7 +143,7 @@ def update
end
-If the call to +update_attributes+ fails, calling the +update+ action in this controller will render the +edit.html.erb+ template belonging to the same controller.
+If the call to +update_attributes+ fails, calling the +update+ action in this controller will render the +edit.html.erb+ template belonging to the same controller.
If you prefer, you can use a symbol instead of a string to specify the action to render:
@@ -200,7 +200,7 @@ render "/u/apps/warehouse_app/current/app/views/products/show"
Rails determines that this is a file render because of the leading slash character. To be explicit, you can use the +:file+ option (which was required on Rails 2.2 and earlier):
-render :file =>
+render :file =>
"/u/apps/warehouse_app/current/app/views/products/show"
@@ -240,7 +240,7 @@ h5. Using +render+ with +:inline+
The +render+ method can do without a view completely, if you're willing to use the +:inline+ option to supply ERB as part of the method call. This is perfectly valid:
-render :inline =>
+render :inline =>
"<% products.each do |p| %>
<%= p.name %>
<% end %>"
@@ -249,7 +249,7 @@ WARNING: There is seldom any good reason to use this option. Mixing ERB into you
By default, inline rendering uses ERb. You can force it to use Builder instead with the +:type+ option:
-render :inline =>
+render :inline =>
"xml.p {'Horrid coding practice!'}", :type => :builder
@@ -676,7 +676,7 @@ h5. Linking to Feeds with +auto_discovery_link_tag+
The +auto_discovery_link_tag+ helper builds HTML that most browsers and newsreaders can use to detect the presences of RSS or ATOM feeds. It takes the type of the link (+:rss+ or +:atom+), a hash of options that are passed through to url_for, and a hash of options for the tag:
-<%= auto_discovery_link_tag(:rss, {:action => "feed"},
+<%= auto_discovery_link_tag(:rss, {:action => "feed"},
{:title => "RSS Feed"}) %>
@@ -739,7 +739,7 @@ If you're loading multiple javascript files, you can create a better user experi
By default, the combined file will be delivered as +javascripts/all.js+. You can specify a location for the cached asset file instead:
-<%= javascript_include_tag "main", "columns",
+<%= javascript_include_tag "main", "columns",
:cache => 'cache/main/display' %>
@@ -798,7 +798,7 @@ If you're loading multiple CSS files, you can create a better user experience by
By default, the combined file will be delivered as +stylesheets/all.css+. You can specify a location for the cached asset file instead:
-<%= stylesheet_link_tag "main", "columns",
+<%= stylesheet_link_tag "main", "columns",
:cache => 'cache/main/display' %>
@@ -1085,7 +1085,7 @@ Partials are very useful in rendering collections. When you pass a collection to
Product Name: <%= product.name %>
-When a partial is called with a pluralized collection, then the individual instances of the partial have access to the member of the collection being rendered via a variable named after the partial. In this case, the partial is +_product+, and within the +_product+ partial, you can refer to +product+ to get the instance that is being rendered.
+When a partial is called with a pluralized collection, then the individual instances of the partial have access to the member of the collection being rendered via a variable named after the partial. In this case, the partial is +_product+, and within the +_product+ partial, you can refer to +product+ to get the instance that is being rendered.
In Rails 3.0 there is also a shorthand for this, assuming +@posts+ is a collection of +post+ instances, you can simply do in the +index.html.erb+:
@@ -1132,7 +1132,7 @@ With this change, you can access an instance of the +@products+ collection as th
You can also pass in arbitrary local variables to any partial you are rendering with the +:locals => {}+ option:
-<%= render :partial => 'products', :collection => @products,
+<%= render :partial => 'products', :collection => @products,
:as => :item, :locals => {:title => "Products Page"} %>
diff --git a/railties/guides/source/nested_model_forms.textile b/railties/guides/source/nested_model_forms.textile
index 39b0c32f24..1d44da4df1 100644
--- a/railties/guides/source/nested_model_forms.textile
+++ b/railties/guides/source/nested_model_forms.textile
@@ -63,7 +63,7 @@ class Person
def address
Address.new
end
-
+
def address_attributes=(attributes)
# ...
end
@@ -77,7 +77,7 @@ class Person
def projects
[Project.new, Project.new]
end
-
+
def projects_attributes=(attributes)
# ...
end
@@ -101,7 +101,7 @@ class PeopleController < ActionController:Base
@person.built_address
2.times { @person.projects.build }
end
-
+
def create
@person = Person.new(params[:person])
if @person.save
@@ -142,7 +142,7 @@ Now add a nested form for the +address+ association:
<%= form_for @person do |f| %>
<%= f.text_field :name %>
-
+
<%= f.fields_for :address do |af| %>
<%= f.text_field :street %>
<% end %>
@@ -154,7 +154,7 @@ This generates:
@@ -183,7 +183,7 @@ The form code for an association collection is pretty similar to that of a singl
<%= form_for @person do |f| %>
<%= f.text_field :name %>
-
+
<%= f.fields_for :projects do |pf| %>
<%= f.text_field :name %>
<% end %>
@@ -195,7 +195,7 @@ Which generates:
diff --git a/railties/guides/source/plugins.textile b/railties/guides/source/plugins.textile
index 82f2276153..f89043f216 100644
--- a/railties/guides/source/plugins.textile
+++ b/railties/guides/source/plugins.textile
@@ -323,7 +323,7 @@ Finally, create the +core_ext.rb+ file and add the +to_squawk+ method:
# vendor/plugins/yaffle/lib/yaffle/core_ext.rb
-
+
String.class_eval do
def to_squawk
"squawk! #{self}".strip
diff --git a/railties/guides/source/rails_application_templates.textile b/railties/guides/source/rails_application_templates.textile
index 1bf9cfec33..bc7b151dfe 100644
--- a/railties/guides/source/rails_application_templates.textile
+++ b/railties/guides/source/rails_application_templates.textile
@@ -79,7 +79,7 @@ plugin 'authentication', :git => 'git://github.com/foor/bar.git'
You can even install plugins as git submodules :
-plugin 'authentication', :git => 'git://github.com/foor/bar.git',
+plugin 'authentication', :git => 'git://github.com/foor/bar.git',
:submodule => true
@@ -103,7 +103,7 @@ class Object
def not_nil?
!nil?
end
-
+
def not_blank?
!blank?
end
diff --git a/railties/guides/source/routing.textile b/railties/guides/source/routing.textile
index 625941ba31..d92c66cfd2 100644
--- a/railties/guides/source/routing.textile
+++ b/railties/guides/source/routing.textile
@@ -501,7 +501,7 @@ class BlacklistConstraint
end
TwitterClone::Application.routes.draw do
- match "*path" => "blacklist#index",
+ match "*path" => "blacklist#index",
:constraints => BlacklistConstraint.new
end
@@ -765,7 +765,7 @@ formatted_users GET /users.:format {:controller=>"users", :action=>"index"}
You may restrict the listing to the routes that map to a particular controller setting the +CONTROLLER+ environment variable:
-$ CONTROLLER=users rake routes
+$ CONTROLLER=users rake routes
TIP: You'll find that the output from +rake routes+ is much more readable if you widen your terminal window until the output lines don't wrap.
diff --git a/railties/guides/source/security.textile b/railties/guides/source/security.textile
index 6372c606b7..4656cf4e40 100644
--- a/railties/guides/source/security.textile
+++ b/railties/guides/source/security.textile
@@ -401,7 +401,7 @@ Note that this vulnerability is not restricted to database columns. Any setter
class Child < ActiveRecord::Base
belongs_to :person
- end
+ end
As a result, the vulnerability is extended beyond simply exposing column assignment, allowing attackers the ability to create entirely new records in referenced tables (children in this case).
diff --git a/railties/guides/w3c_validator.rb b/railties/guides/w3c_validator.rb
index 4da48bf3fb..da5200c0b7 100644
--- a/railties/guides/w3c_validator.rb
+++ b/railties/guides/w3c_validator.rb
@@ -21,7 +21,7 @@
#
# Separate many using commas:
#
-# # validates only
+# # validates only
# ONLY=assoc,migrations rake validate_guides
#
# ---------------------------------------------------------------------------
@@ -32,13 +32,13 @@ include W3CValidators
module RailsGuides
class Validator
-
+
def validate
validator = MarkupValidator.new
STDOUT.sync = true
errors_on_guides = {}
- guides_to_validate.each do |f|
+ guides_to_validate.each do |f|
results = validator.validate_file(f)
if results.validity
@@ -48,10 +48,10 @@ module RailsGuides
errors_on_guides[f] = results.errors
end
end
-
+
show_results(errors_on_guides)
end
-
+
private
def guides_to_validate
guides = Dir["./guides/output/*.html"]
@@ -65,13 +65,13 @@ module RailsGuides
prefixes.any? {|p| guide.start_with?("./guides/output/#{p}")}
end
end
-
+
def show_results(error_list)
if error_list.size == 0
puts "\n\nAll checked guides validate OK!"
else
error_summary = error_detail = ""
-
+
error_list.each_pair do |name, errors|
error_summary += "\n #{name}"
error_detail += "\n\n #{name} has #{errors.size} validation error(s):\n"
@@ -79,12 +79,12 @@ module RailsGuides
error_detail += "\n "+error.to_s.gsub("\n", "")
end
end
-
+
puts "\n\nThere are #{error_list.size} guides with validation errors:\n" + error_summary
puts "\nHere are the detailed errors for each guide:" + error_detail
end
end
-
+
end
end
diff --git a/railties/lib/rails/code_statistics.rb b/railties/lib/rails/code_statistics.rb
index 740d8a1767..57e29a0045 100644
--- a/railties/lib/rails/code_statistics.rb
+++ b/railties/lib/rails/code_statistics.rb
@@ -12,7 +12,7 @@ class CodeStatistics #:nodoc:
print_header
@pairs.each { |pair| print_line(pair.first, @statistics[pair.first]) }
print_splitter
-
+
if @total
print_line("Total", @total)
print_splitter
@@ -29,7 +29,7 @@ class CodeStatistics #:nodoc:
def calculate_directory_statistics(directory, pattern = /.*\.rb$/)
stats = { "lines" => 0, "codelines" => 0, "classes" => 0, "methods" => 0 }
- Dir.foreach(directory) do |file_name|
+ Dir.foreach(directory) do |file_name|
if File.stat(directory + "/" + file_name).directory? and (/^\./ !~ file_name)
newstats = calculate_directory_statistics(directory + "/" + file_name, pattern)
stats.each { |k, v| stats[k] += newstats[k] }
@@ -85,10 +85,10 @@ class CodeStatistics #:nodoc:
start = if TEST_TYPES.include? name
"| #{name.ljust(20)} "
else
- "| #{name.ljust(20)} "
+ "| #{name.ljust(20)} "
end
- puts start +
+ puts start +
"| #{statistics["lines"].to_s.rjust(5)} " +
"| #{statistics["codelines"].to_s.rjust(5)} " +
"| #{statistics["classes"].to_s.rjust(7)} " +
diff --git a/railties/lib/rails/generators/base.rb b/railties/lib/rails/generators/base.rb
index fdfceb14ce..f97f3db588 100644
--- a/railties/lib/rails/generators/base.rb
+++ b/railties/lib/rails/generators/base.rb
@@ -81,7 +81,7 @@ module Rails
# guessed based on class invokes hook_for, as noticed in the example above.
# This can be customized with two options: :base and :as.
#
- # Let's suppose you are creating a generator that needs to invoke the
+ # Let's suppose you are creating a generator that needs to invoke the
# controller generator from test unit. Your first attempt is:
#
# class AwesomeGenerator < Rails::Generators::Base
diff --git a/railties/lib/rails/generators/rails/app/templates/public/javascripts/effects.js b/railties/lib/rails/generators/rails/app/templates/public/javascripts/effects.js
index 066ee5909c..c81e6c7d5f 100644
--- a/railties/lib/rails/generators/rails/app/templates/public/javascripts/effects.js
+++ b/railties/lib/rails/generators/rails/app/templates/public/javascripts/effects.js
@@ -150,7 +150,7 @@ var Effect = {
toggle: function(element, effect, options) {
element = $(element);
effect = (effect || 'appear').toLowerCase();
-
+
return Effect[ Effect.PAIRS[ effect ][ element.visible() ? 1 : 0 ] ](element, Object.extend({
queue: { position:'end', scope:(element.id || 'global'), limit: 1 }
}, options || {}));
diff --git a/railties/lib/rails/generators/rails/generator/USAGE b/railties/lib/rails/generators/rails/generator/USAGE
index d8c3f7f634..d68539e4a6 100644
--- a/railties/lib/rails/generators/rails/generator/USAGE
+++ b/railties/lib/rails/generators/rails/generator/USAGE
@@ -1,6 +1,6 @@
Description:
Stubs out a new generator at lib/generators. Pass the generator name, either
- CamelCased or under_scored, as an argument.
+ CamelCased or under_scored, as an argument.
Example:
`rails generate generator Awesome`
diff --git a/railties/lib/rails/generators/rails/migration/USAGE b/railties/lib/rails/generators/rails/migration/USAGE
index d21c81b760..af74963b01 100644
--- a/railties/lib/rails/generators/rails/migration/USAGE
+++ b/railties/lib/rails/generators/rails/migration/USAGE
@@ -18,12 +18,12 @@ Example:
This will create the AddTitleBodyToPost in db/migrate/20080514090912_add_title_body_to_post.rb with
this in the Up migration:
- add_column :posts, :title, :string
- add_column :posts, :body, :text
+ add_column :posts, :title, :string
+ add_column :posts, :body, :text
add_column :posts, :published, :boolean
And this in the Down migration:
- remove_column :posts, :published
- remove_column :posts, :body
+ remove_column :posts, :published
+ remove_column :posts, :body
remove_column :posts, :title
diff --git a/railties/lib/rails/generators/rails/plugin/USAGE b/railties/lib/rails/generators/rails/plugin/USAGE
index 00a429c585..1bcfcf190d 100644
--- a/railties/lib/rails/generators/rails/plugin/USAGE
+++ b/railties/lib/rails/generators/rails/plugin/USAGE
@@ -1,6 +1,6 @@
Description:
Stubs out a new plugin at vendor/plugins. Pass the plugin name, either
- CamelCased or under_scored, as an argument.
+ CamelCased or under_scored, as an argument.
Example:
`rails generate plugin BrowserFilters`
diff --git a/railties/lib/rails/generators/rails/resource/resource_generator.rb b/railties/lib/rails/generators/rails/resource/resource_generator.rb
index fc070026d6..8a943013d3 100644
--- a/railties/lib/rails/generators/rails/resource/resource_generator.rb
+++ b/railties/lib/rails/generators/rails/resource/resource_generator.rb
@@ -16,9 +16,9 @@ module Rails
def add_resource_route
return if options[:actions].present?
- route_config = class_path.collect{|namespace| "namespace :#{namespace} do " }.join(" ")
+ route_config = class_path.collect{|namespace| "namespace :#{namespace} do " }.join(" ")
route_config << "resources :#{file_name.pluralize}"
- route_config << " end" * class_path.size
+ route_config << " end" * class_path.size
route route_config
end
end
diff --git a/railties/lib/rails/plugin.rb b/railties/lib/rails/plugin.rb
index be229cc9a2..8d5132a5ca 100644
--- a/railties/lib/rails/plugin.rb
+++ b/railties/lib/rails/plugin.rb
@@ -16,7 +16,7 @@ module Rails
# Besides this conceptual difference, the only difference between Rails::Engine and
# Rails::Plugin is that plugins automatically load the file "init.rb" at the plugin
# root during the boot process.
- #
+ #
class Plugin < Engine
def self.inherited(base)
raise "You cannot inherit from Rails::Plugin"
diff --git a/railties/lib/rails/railtie.rb b/railties/lib/rails/railtie.rb
index 8a6e2716dc..2684552701 100644
--- a/railties/lib/rails/railtie.rb
+++ b/railties/lib/rails/railtie.rb
@@ -48,7 +48,7 @@ module Rails
# # lib/my_gem/railtie.rb
# require 'my_gem'
# require 'rails'
- #
+ #
# module MyGem
# class Railtie < Rails::Railtie
# end
@@ -121,7 +121,7 @@ module Rails
# described here can be used in all three.
#
# Be sure to look at the documentation of those specific classes for more information.
- #
+ #
class Railtie
autoload :Configurable, "rails/railtie/configurable"
autoload :Configuration, "rails/railtie/configuration"
diff --git a/railties/lib/rails/script_rails_loader.rb b/railties/lib/rails/script_rails_loader.rb
index 91672e5d81..7054089614 100644
--- a/railties/lib/rails/script_rails_loader.rb
+++ b/railties/lib/rails/script_rails_loader.rb
@@ -17,11 +17,11 @@ module Rails
rescue SystemCallError
# could not chdir, no problem just return
end
-
+
def self.in_rails_application?
File.exists?(SCRIPT_RAILS)
end
-
+
def self.in_rails_application_subdirectory?(path = Pathname.new(Dir.pwd))
File.exists?(File.join(path, SCRIPT_RAILS)) || !path.root? && in_rails_application_subdirectory?(path.parent)
end
diff --git a/railties/lib/rails/tasks/documentation.rake b/railties/lib/rails/tasks/documentation.rake
index c1b1a41d48..7aefbb49b0 100644
--- a/railties/lib/rails/tasks/documentation.rake
+++ b/railties/lib/rails/tasks/documentation.rake
@@ -4,15 +4,15 @@ require 'rake/rdoctask'
class RDocTaskWithoutDescriptions < Rake::RDocTask
def define
task rdoc_task_name
-
+
task rerdoc_task_name => [clobber_task_name, rdoc_task_name]
-
+
task clobber_task_name do
rm_r rdoc_dir rescue nil
end
-
+
task :clobber => [clobber_task_name]
-
+
directory @rdoc_dir
task rdoc_task_name => [rdoc_target]
file rdoc_target => @rdoc_files + [Rake.application.rakefile] do
diff --git a/railties/test/application/loading_test.rb b/railties/test/application/loading_test.rb
index 340ce67511..ecf7904c39 100644
--- a/railties/test/application/loading_test.rb
+++ b/railties/test/application/loading_test.rb
@@ -18,10 +18,10 @@ class LoadingTest < Test::Unit::TestCase
validates_acceptance_of :title, :accept => "omg"
end
MODEL
-
+
require "#{rails_root}/config/environment"
setup_ar!
-
+
p = Post.create(:title => 'omg')
assert_equal 1, Post.count
assert_equal 'omg', p.title
@@ -73,7 +73,7 @@ class LoadingTest < Test::Unit::TestCase
end
protected
-
+
def setup_ar!
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
ActiveRecord::Migration.verbose = false
diff --git a/railties/test/application/rake_test.rb b/railties/test/application/rake_test.rb
index d6e100ffe3..454c9511d8 100644
--- a/railties/test/application/rake_test.rb
+++ b/railties/test/application/rake_test.rb
@@ -14,7 +14,7 @@ module ApplicationTests
app_file "lib/tasks/app.rake", <<-RUBY
$task_loaded = Rake::Task.task_defined?("db:create:all")
RUBY
-
+
require "#{app_path}/config/environment"
::Rails.application.load_tasks
assert $task_loaded
diff --git a/railties/test/generators/actions_test.rb b/railties/test/generators/actions_test.rb
index 0472ca73a8..f5473333ed 100644
--- a/railties/test/generators/actions_test.rb
+++ b/railties/test/generators/actions_test.rb
@@ -88,7 +88,7 @@ class ActionsTest < Rails::Generators::TestCase
assert_deprecated do
action :gem, 'thoughtbot-factory_girl', :require_as => 'factory_girl', :source => 'http://gems.github.com'
- end
+ end
assert_file 'Gemfile', /gem "mislav\-will\-paginate", :require => "will\-paginate"/
assert_file 'Gemfile', /source "http:\/\/gems\.github\.com"/
@@ -103,7 +103,7 @@ class ActionsTest < Rails::Generators::TestCase
end
assert_deprecated do
- action :gem, 'rspec-rails', :only => %w(development test)
+ action :gem, 'rspec-rails', :only => %w(development test)
end
assert_file 'Gemfile', /gem "rspec", :group => \["development", "test"\]/
diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb
index 08cfb585f9..849c8001f4 100644
--- a/railties/test/generators/app_generator_test.rb
+++ b/railties/test/generators/app_generator_test.rb
@@ -79,7 +79,7 @@ class AppGeneratorTest < Rails::Generators::TestCase
reserved_words = %w[application destroy plugin runner test]
reserved_words.each do |reserved|
content = capture(:stderr){ run_generator [File.join(destination_root, reserved)] }
- assert_equal "Invalid application name #{reserved}. Please give a name which does not match one of the reserved rails words.\n", content
+ assert_equal "Invalid application name #{reserved}. Please give a name which does not match one of the reserved rails words.\n", content
end
end
diff --git a/railties/test/railties/railtie_test.rb b/railties/test/railties/railtie_test.rb
index db0fd87491..6715003d3d 100644
--- a/railties/test/railties/railtie_test.rb
+++ b/railties/test/railties/railtie_test.rb
@@ -132,7 +132,7 @@ module RailtiesTest
require "#{app_path}/config/environment"
assert $ran_block
end
-
+
test "we can change our environment if we want to" do
begin
original_env = Rails.env
diff --git a/railties/test/script_rails_loader_test.rb b/railties/test/script_rails_loader_test.rb
index 2a87e5cb58..3ccc147749 100644
--- a/railties/test/script_rails_loader_test.rb
+++ b/railties/test/script_rails_loader_test.rb
@@ -2,21 +2,21 @@ require 'abstract_unit'
require 'rails/script_rails_loader'
class ScriptRailsLoaderTest < ActiveSupport::TestCase
-
+
test "is in a rails application if script/rails exists" do
File.stubs(:exists?).returns(true)
assert Rails::ScriptRailsLoader.in_rails_application?
end
-
+
test "is in a rails application if parent directory has script/rails" do
File.stubs(:exists?).with("/foo/bar/script/rails").returns(false)
File.stubs(:exists?).with("/foo/script/rails").returns(true)
assert Rails::ScriptRailsLoader.in_rails_application_subdirectory?(Pathname.new("/foo/bar"))
end
-
+
test "is not in a rails application if at the root directory and doesn't have script/rails" do
Pathname.any_instance.stubs(:root?).returns true
assert !Rails::ScriptRailsLoader.in_rails_application?
end
-
+
end
\ No newline at end of file
--
cgit v1.2.3