Class: ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper::OptimizedUrlHelper
- Inherits:
 - 
      ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper
      
        
- Object
 - ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper
 - ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper::OptimizedUrlHelper
 
 
- Defined in:
 - lib/action_dispatch/routing/route_set.rb
 
Instance Attribute Summary collapse
- 
  
    
      #arg_size  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute arg_size.
 
Attributes inherited from ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper
Instance Method Summary collapse
- #call(t, args, inner_options) ⇒ Object
 - 
  
    
      #initialize(route, options, route_name, url_strategy)  ⇒ OptimizedUrlHelper 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of OptimizedUrlHelper.
 
Methods inherited from ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper
create, #handle_positional_args, optimize_helper?
Constructor Details
#initialize(route, options, route_name, url_strategy) ⇒ OptimizedUrlHelper
Returns a new instance of OptimizedUrlHelper.
      192 193 194 195 196  | 
    
      # File 'lib/action_dispatch/routing/route_set.rb', line 192 def initialize(route, , route_name, url_strategy) super @required_parts = @route.required_parts @arg_size = @required_parts.size end  | 
  
Instance Attribute Details
#arg_size ⇒ Object (readonly)
Returns the value of attribute arg_size.
      190 191 192  | 
    
      # File 'lib/action_dispatch/routing/route_set.rb', line 190 def arg_size @arg_size end  | 
  
Instance Method Details
#call(t, args, inner_options) ⇒ Object
      198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216  | 
    
      # File 'lib/action_dispatch/routing/route_set.rb', line 198 def call(t, args, ) if args.size == arg_size && ! && optimize_routes_generation?(t) = t..merge @options [:path] = optimized_helper(args) original_script_name = .delete(:original_script_name) script_name = t._routes.find_script_name() if original_script_name script_name = original_script_name + script_name end [:script_name] = script_name url_strategy.call else super end end  |