Method: ActionDispatch::Routing::RouteSet#define_mounted_helper

Defined in:
actionpack/lib/action_dispatch/routing/route_set.rb

#define_mounted_helper(name, script_namer = nil) ⇒ Object

[View source]

481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
# File 'actionpack/lib/action_dispatch/routing/route_set.rb', line 481

def define_mounted_helper(name, script_namer = nil)
  return if MountedHelpers.method_defined?(name)

  routes = self
  helpers = routes.url_helpers

  MountedHelpers.class_eval do
    define_method "_#{name}" do
      RoutesProxy.new(routes, _routes_context, helpers, script_namer)
    end
  end

  MountedHelpers.class_eval(<<-RUBY, __FILE__, __LINE__ + 1)
    def #{name}
      @_#{name} ||= _#{name}
    end
  RUBY
end