Skip to content

Commit

Permalink
eager compute has_significant_params incase route is frozen before
Browse files Browse the repository at this point in the history
has_significant_params? is called

Signed-off-by: Joshua Peek <josh@joshpeek.com>
  • Loading branch information
spastorino authored and josh committed Apr 16, 2010
1 parent b099a36 commit d2ae79b
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions lib/rack/mount/route.rb
Expand Up @@ -61,6 +61,11 @@ def initialize(app, conditions, defaults, name)
}
@named_captures.freeze

@has_significant_params = @conditions.any? { |method, condition|
(condition.respond_to?(:required_params) && condition.required_params.any?) ||
(condition.respond_to?(:required_defaults) && condition.required_defaults.any?)
}

if @conditions.has_key?(:path_info) &&
!Utils.regexp_anchored?(@conditions[:path_info])
@prefix = true
Expand Down Expand Up @@ -88,10 +93,7 @@ def generation_keys
end

def significant_params?
@has_significant_params ||= @conditions.any? { |method, condition|
(condition.respond_to?(:required_params) && condition.required_params.any?) ||
(condition.respond_to?(:required_defaults) && condition.required_defaults.any?)
}
@has_significant_params
end

def generate(method, params = {}, recall = {}, options = {})
Expand Down

0 comments on commit d2ae79b

Please sign in to comment.