aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing/mapper.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2014-07-16 16:13:08 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2014-07-16 16:13:08 -0700
commit9b15828b5c347395b42066a588c88e5eb4e72279 (patch)
tree26e211b2eb45ff7f5bca101ea94fbb77f672f1e3 /actionpack/lib/action_dispatch/routing/mapper.rb
parent4a7b95985f54ef1847f50eff294f7361d900539f (diff)
downloadrails-9b15828b5c347395b42066a588c88e5eb4e72279.tar.gz
rails-9b15828b5c347395b42066a588c88e5eb4e72279.tar.bz2
rails-9b15828b5c347395b42066a588c88e5eb4e72279.zip
push rails app testing up
this way we only have to test for whether it is a rails app once.
Diffstat (limited to 'actionpack/lib/action_dispatch/routing/mapper.rb')
-rw-r--r--actionpack/lib/action_dispatch/routing/mapper.rb22
1 files changed, 13 insertions, 9 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb
index c16b04520e..32d963ba76 100644
--- a/actionpack/lib/action_dispatch/routing/mapper.rb
+++ b/actionpack/lib/action_dispatch/routing/mapper.rb
@@ -577,13 +577,21 @@ module ActionDispatch
raise "A rack application must be specified" unless path
- options[:as] ||= app_name(app)
+ rails_app = rails_app? app
+
+ if rails_app
+ options[:as] ||= app.railtie_name
+ else
+ # non rails apps can't have an :as
+ options[:as] = nil
+ end
+
target_as = name_for_action(options[:as], path)
options[:via] ||= :all
match(path, options.merge(:to => app, :anchor => false, :format => false))
- define_generate_prefix(app, target_as)
+ define_generate_prefix(app, target_as) if rails_app
self
end
@@ -604,15 +612,11 @@ module ActionDispatch
end
private
- def app_name(app)
- return unless app.is_a?(Class) && app < Rails::Railtie
-
- app.railtie_name
+ def rails_app?(app)
+ app.is_a?(Class) && app < Rails::Railtie
end
def define_generate_prefix(app, name)
- return unless app.is_a?(Class) && app < Rails::Railtie
-
_route = @set.named_routes.routes[name.to_sym]
_routes = @set
app.routes.define_mounted_helper(name)
@@ -1541,7 +1545,7 @@ module ActionDispatch
action = nil
end
- if !options.fetch(:as, true)
+ if !options.fetch(:as, true) # if it's set to nil or false
options.delete(:as)
else
options[:as] = name_for_action(options[:as], action)