diff options
author | Carlhuda <carlhuda@engineyard.com> | 2009-12-02 20:01:01 -0800 |
---|---|---|
committer | Carlhuda <carlhuda@engineyard.com> | 2009-12-02 20:01:08 -0800 |
commit | c1304098cca8a9247a9ad1461a1a343354650843 (patch) | |
tree | 41bd12bcca3ce2062b10c043663a72662796cbd1 /activeresource | |
parent | 399909b11c094ab32542d300c72940b1b263b8e6 (diff) | |
download | rails-c1304098cca8a9247a9ad1461a1a343354650843.tar.gz rails-c1304098cca8a9247a9ad1461a1a343354650843.tar.bz2 rails-c1304098cca8a9247a9ad1461a1a343354650843.zip |
Reorganize autoloads:
* A new module (ActiveSupport::Autoload) is provide that extends
autoloading with new behavior.
* All autoloads in modules that have extended ActiveSupport::Autoload
will be eagerly required in threadsafe environments
* Autoloads can optionally leave off the path if the path is the same
as full_constant_name.underscore
* It is possible to specify that a group of autoloads live under an
additional path. For instance, all of ActionDispatch's middlewares
are ActionDispatch::MiddlewareName, but they live under
"action_dispatch/middlewares/middleware_name"
* It is possible to specify that a group of autoloads are all found
at the same path. For instance, a number of exceptions might all
be declared there.
* One consequence of this is that testing-related constants are not
autoloaded. To get the testing helpers for a given component,
require "component_name/test_case". For instance, "action_controller/test_case".
* test_help.rb, which is automatically required by a Rails application's
test helper, requires the test_case.rb for all active components, so
this change will not be disruptive in existing or new applications.
Diffstat (limited to 'activeresource')
-rw-r--r-- | activeresource/lib/active_resource.rb | 16 | ||||
-rw-r--r-- | activeresource/test/abstract_unit.rb | 1 | ||||
-rw-r--r-- | activeresource/test/cases/base_test.rb | 6 |
3 files changed, 13 insertions, 10 deletions
diff --git a/activeresource/lib/active_resource.rb b/activeresource/lib/active_resource.rb index fd4c199b48..9357dd852f 100644 --- a/activeresource/lib/active_resource.rb +++ b/activeresource/lib/active_resource.rb @@ -30,11 +30,13 @@ $:.unshift(activemodel_path) if File.directory?(activemodel_path) require 'active_model' module ActiveResource - autoload :Base, 'active_resource/base' - autoload :Connection, 'active_resource/connection' - autoload :CustomMethods, 'active_resource/custom_methods' - autoload :Formats, 'active_resource/formats' - autoload :Observing, 'active_resource/observing' - autoload :Validations, 'active_resource/validations' - autoload :HttpMock, 'active_resource/http_mock' + extend ActiveSupport::Autoload + + autoload :Base + autoload :Connection + autoload :CustomMethods + autoload :Formats + autoload :Observing + autoload :Validations + autoload :HttpMock end diff --git a/activeresource/test/abstract_unit.rb b/activeresource/test/abstract_unit.rb index 10849be20c..3d684ff347 100644 --- a/activeresource/test/abstract_unit.rb +++ b/activeresource/test/abstract_unit.rb @@ -13,6 +13,7 @@ require 'test/unit' require 'active_support' require 'active_support/test_case' require 'active_resource' +require 'active_model/test_case' $:.unshift "#{File.dirname(__FILE__)}/../test" require 'setter_trap' diff --git a/activeresource/test/cases/base_test.rb b/activeresource/test/cases/base_test.rb index 1d3f7891ec..91349b810a 100644 --- a/activeresource/test/cases/base_test.rb +++ b/activeresource/test/cases/base_test.rb @@ -543,9 +543,9 @@ class BaseTest < Test::Unit::TestCase assert Person.collection_path(:gender => 'male', :student => true).include?('gender=male') assert Person.collection_path(:gender => 'male', :student => true).include?('student=true') - assert_equal '/people.xml?name%5B%5D=bob&name%5B%5D=your+uncle%2Bme&name%5B%5D=&name%5B%5D=false', Person.collection_path(:name => ['bob', 'your uncle+me', nil, false]) + assert_equal '/people.xml?name[]=bob&name[]=your+uncle%2Bme&name[]=&name[]=false', Person.collection_path(:name => ['bob', 'your uncle+me', nil, false]) - assert_equal '/people.xml?struct%5Ba%5D%5B%5D=2&struct%5Ba%5D%5B%5D=1&struct%5Bb%5D=fred', Person.collection_path(:struct => {:a => [2,1], 'b' => 'fred'}) + assert_equal '/people.xml?struct[a][]=2&struct[a][]=1&struct[b]=fred', Person.collection_path(:struct => {:a => [2,1], 'b' => 'fred'}) end def test_custom_element_path @@ -581,7 +581,7 @@ class BaseTest < Test::Unit::TestCase assert_equal '/people/1/addresses/1.xml?type=work', StreetAddress.element_path(1, :person_id => 1, :type => 'work') assert_equal '/people/1/addresses/1.xml?type=work', StreetAddress.element_path(1, 'person_id' => 1, :type => 'work') assert_equal '/people/1/addresses/1.xml?type=work', StreetAddress.element_path(1, :type => 'work', :person_id => 1) - assert_equal '/people/1/addresses/1.xml?type%5B%5D=work&type%5B%5D=play+time', StreetAddress.element_path(1, :person_id => 1, :type => ['work', 'play time']) + assert_equal '/people/1/addresses/1.xml?type[]=work&type[]=play+time', StreetAddress.element_path(1, :person_id => 1, :type => ['work', 'play time']) end def test_custom_element_path_with_prefix_and_parameters |