Class: Rails::Engine::LazyRouteSet

Inherits:
ActionDispatch::Routing::RouteSet
  • Object
show all
Defined in:
lib/rails/engine/lazy_route_set.rb

Defined Under Namespace

Modules: ProxyUrlHelpers Classes: NamedRouteCollection

Instance Method Summary collapse

Constructor Details

#initialize(config = DEFAULT_CONFIG) ⇒ LazyRouteSet

Returns a new instance of LazyRouteSet.



41
42
43
44
45
46
# File 'lib/rails/engine/lazy_route_set.rb', line 41

def initialize(config = DEFAULT_CONFIG)
  super
  self.named_routes = NamedRouteCollection.new
  named_routes.url_helpers_module.prepend(method_missing_module)
  named_routes.path_helpers_module.prepend(method_missing_module)
end

Instance Method Details

#call(req) ⇒ Object



58
59
60
61
# File 'lib/rails/engine/lazy_route_set.rb', line 58

def call(req)
  Rails.application&.reload_routes_unless_loaded
  super
end

#draw(&block) ⇒ Object



68
69
70
71
# File 'lib/rails/engine/lazy_route_set.rb', line 68

def draw(&block)
  Rails.application&.reload_routes_unless_loaded
  super
end

#generate_extras(options, recall = {}) ⇒ Object



48
49
50
51
52
# File 'lib/rails/engine/lazy_route_set.rb', line 48

def generate_extras(options, recall = {})
  Rails.application&.reload_routes_unless_loaded

  super(options, recall)
end

#generate_url_helpers(supports_path) ⇒ Object



54
55
56
# File 'lib/rails/engine/lazy_route_set.rb', line 54

def generate_url_helpers(supports_path)
  super.tap { |mod| mod.singleton_class.prepend(ProxyUrlHelpers) }
end

#polymorphic_mappingsObject



63
64
65
66
# File 'lib/rails/engine/lazy_route_set.rb', line 63

def polymorphic_mappings
  Rails.application&.reload_routes_unless_loaded
  super
end

#recognize_path(path, environment = {}) ⇒ Object



73
74
75
76
# File 'lib/rails/engine/lazy_route_set.rb', line 73

def recognize_path(path, environment = {})
  Rails.application&.reload_routes_unless_loaded
  super
end

#recognize_path_with_requestObject



78
79
80
81
# File 'lib/rails/engine/lazy_route_set.rb', line 78

def recognize_path_with_request(...)
  Rails.application&.reload_routes_unless_loaded
  super
end

#routesObject



83
84
85
86
# File 'lib/rails/engine/lazy_route_set.rb', line 83

def routes
  Rails.application&.reload_routes_unless_loaded
  super
end