Class: ActionDispatch::Routing::Mapper
- Inherits:
-
Object
- Object
- ActionDispatch::Routing::Mapper
show all
- Includes:
- LinkedRails::Routes
- Defined in:
- lib/linked_rails/enhancements/route_concerns.rb
Instance Method Summary
collapse
#find_tenant_route, #linked_resource, #singular_linked_resource, #use_linked_rails
Instance Method Details
#add_missing_concern(enhancement) ⇒ Object
34
35
36
37
38
|
# File 'lib/linked_rails/enhancements/route_concerns.rb', line 34
def add_missing_concern(enhancement)
return if @concerns.include?(concern_key_from_enhancement(enhancement))
module_parent_for(enhancement).route_concerns(self)
end
|
#concern_key_from_enhancement(enhancement) ⇒ Object
40
41
42
|
# File 'lib/linked_rails/enhancements/route_concerns.rb', line 40
def concern_key_from_enhancement(enhancement)
module_parent_for(enhancement).to_s.demodulize.underscore.to_sym
end
|
#include_route_concerns(klass: @scope[:controller].classify.constantize, only: nil, except: []) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/linked_rails/enhancements/route_concerns.rb', line 20
def include_route_concerns(klass: @scope[:controller].classify.constantize, only: nil, except: [])
include =
if klass.respond_to?(:each)
klass.map(&method(:route_concerns_for)).flatten.uniq
else
route_concerns_for(klass)
end
include &= only unless only.nil?
include -= except
concerns include
end
|
#module_parent_for(klass) ⇒ Object
51
52
53
|
# File 'lib/linked_rails/enhancements/route_concerns.rb', line 51
def module_parent_for(klass)
Rails.version < '6' ? klass.parent : klass.module_parent
end
|
#route_concerns_for(klass) ⇒ Object
44
45
46
47
48
49
|
# File 'lib/linked_rails/enhancements/route_concerns.rb', line 44
def route_concerns_for(klass)
klass
.enhancement_modules(:Routing)
.each(&method(:add_missing_concern))
.map(&method(:concern_key_from_enhancement))
end
|