aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2010-08-25 13:41:56 +0200
committerPiotr Sarnacki <drogus@gmail.com>2010-09-03 22:59:13 +0200
commitb1c66f060bba22d16abf6d24d3df762c240e367c (patch)
tree351e92d8bd64d18aee417c19a48bd55c36dbbe1c /actionpack
parente35c2043b135a95104e3eeb3e12cbcde541fa1b4 (diff)
downloadrails-b1c66f060bba22d16abf6d24d3df762c240e367c.tar.gz
rails-b1c66f060bba22d16abf6d24d3df762c240e367c.tar.bz2
rails-b1c66f060bba22d16abf6d24d3df762c240e367c.zip
Move RoutesProxy to separate file
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_dispatch/routing.rb1
-rw-r--r--actionpack/lib/action_dispatch/routing/route_set.rb32
-rw-r--r--actionpack/lib/action_dispatch/routing/routes_proxy.rb35
3 files changed, 36 insertions, 32 deletions
diff --git a/actionpack/lib/action_dispatch/routing.rb b/actionpack/lib/action_dispatch/routing.rb
index 0b9689dc88..b2b0f4c08e 100644
--- a/actionpack/lib/action_dispatch/routing.rb
+++ b/actionpack/lib/action_dispatch/routing.rb
@@ -268,6 +268,7 @@ module ActionDispatch
autoload :Mapper, 'action_dispatch/routing/mapper'
autoload :Route, 'action_dispatch/routing/route'
autoload :RouteSet, 'action_dispatch/routing/route_set'
+ autoload :RoutesProxy, 'action_dispatch/routing/routes_proxy'
autoload :UrlFor, 'action_dispatch/routing/url_for'
autoload :PolymorphicRoutes, 'action_dispatch/routing/polymorphic_routes'
diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb
index c09c1fef6f..0d83ca956b 100644
--- a/actionpack/lib/action_dispatch/routing/route_set.rb
+++ b/actionpack/lib/action_dispatch/routing/route_set.rb
@@ -261,38 +261,6 @@ module ActionDispatch
named_routes.install(destinations, regenerate_code)
end
- class RoutesProxy
- include ActionDispatch::Routing::UrlFor
-
- attr_accessor :scope, :routes
- alias :_routes :routes
-
- def initialize(routes, scope)
- @routes, @scope = routes, scope
- end
-
- def url_options
- scope.send(:_with_routes, routes) do
- scope.url_options
- end
- end
-
- def method_missing(method, *args)
- if routes.url_helpers.respond_to?(method)
- self.class.class_eval <<-RUBY, __FILE__, __LINE__ + 1
- def #{method}(*args)
- options = args.extract_options!
- args << url_options.merge((options || {}).symbolize_keys)
- routes.url_helpers.#{method}(*args)
- end
- RUBY
- send(method, *args)
- else
- super
- end
- end
- end
-
module MountedHelpers
end
diff --git a/actionpack/lib/action_dispatch/routing/routes_proxy.rb b/actionpack/lib/action_dispatch/routing/routes_proxy.rb
new file mode 100644
index 0000000000..f7d5f6397d
--- /dev/null
+++ b/actionpack/lib/action_dispatch/routing/routes_proxy.rb
@@ -0,0 +1,35 @@
+module ActionDispatch
+ module Routing
+ class RoutesProxy #:nodoc:
+ include ActionDispatch::Routing::UrlFor
+
+ attr_accessor :scope, :routes
+ alias :_routes :routes
+
+ def initialize(routes, scope)
+ @routes, @scope = routes, scope
+ end
+
+ def url_options
+ scope.send(:_with_routes, routes) do
+ scope.url_options
+ end
+ end
+
+ def method_missing(method, *args)
+ if routes.url_helpers.respond_to?(method)
+ self.class.class_eval <<-RUBY, __FILE__, __LINE__ + 1
+ def #{method}(*args)
+ options = args.extract_options!
+ args << url_options.merge((options || {}).symbolize_keys)
+ routes.url_helpers.#{method}(*args)
+ end
+ RUBY
+ send(method, *args)
+ else
+ super
+ end
+ end
+ end
+ end
+end