Skip to content

Commit

Permalink
push some options munging to an alternate constructor
Browse files Browse the repository at this point in the history
  • Loading branch information
tenderlove committed Jun 3, 2014
1 parent a217071 commit af1c866
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions actionpack/lib/action_dispatch/routing/mapper.rb
Expand Up @@ -65,15 +65,27 @@ class Mapping #:nodoc:
attr_reader :requirements, :conditions, :defaults
attr_reader :to, :default_controller, :default_action, :as, :anchor

def initialize(scope, path, options)
@requirements, @conditions = {}, {}
def self.build(scope, path, options)
options = scope[:options].merge(options) if scope[:options]

options.delete :only
options.delete :except
options.delete :shallow_path
options.delete :shallow_prefix
options.delete :shallow

@defaults = (scope[:defaults] || {}).merge options.delete(:defaults) || {}
defaults = (scope[:defaults] || {}).merge options.delete(:defaults) || {}

new scope, path, defaults, options
end

def initialize(scope, path, defaults, options)
@requirements, @conditions = {}, {}
@defaults = defaults

options = scope[:options].merge(options) if scope[:options]
@to = options.delete :to
@default_controller = options[:controller] || scope[:controller]
@default_action = options[:action] || scope[:action]
@default_controller = options.delete(:controller) || scope[:controller]
@default_action = options.delete(:action) || scope[:action]
@as = options.delete :as
@anchor = options.delete :anchor

Expand Down Expand Up @@ -1516,13 +1528,7 @@ def add_route(action, options) # :nodoc:
options[:as] = name_for_action(options[:as], action)
end

options.delete :only
options.delete :except
options.delete :shallow_path
options.delete :shallow_prefix
options.delete :shallow

mapping = Mapping.new(@scope, URI.parser.escape(path), options)
mapping = Mapping.build(@scope, URI.parser.escape(path), options)
app, conditions, requirements, defaults, as, anchor = mapping.to_route
@set.add_route(app, conditions, requirements, defaults, as, anchor)
end
Expand Down

0 comments on commit af1c866

Please sign in to comment.