class ActionDispatch::Routing::Mapper
Public Instance Methods
add_missing_concern(enhancement)
click to toggle source
# 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)
click to toggle source
# 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: [])
click to toggle source
# 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 def add_missing_concern(enhancement) return if @concerns.include?(concern_key_from_enhancement(enhancement)) module_parent_for(enhancement).route_concerns(self) end def concern_key_from_enhancement(enhancement) module_parent_for(enhancement).to_s.demodulize.underscore.to_sym end def route_concerns_for(klass) klass .enhancement_modules(:Routing) .each(&method(:add_missing_concern)) .map(&method(:concern_key_from_enhancement)) end def module_parent_for(klass) Rails.version < '6' ? klass.parent : klass.module_parent end end
module_parent_for(klass)
click to toggle source
# 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)
click to toggle source
# 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