Sha256: 2db145582ef6280fee26db8ed1971a7995eb73b9f331c904670e4fde1c463cf0
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
require 'active_support/core_ext' require 'action_dispatch/routing/inspector' require_relative 'mount_route' module Passages # Main DelegateClass used for decoration and discerning if a route is # a "regular" route or a mount route class Route < DelegateClass(ActionDispatch::Routing::RouteWrapper) def initialize(route) super(ActionDispatch::Routing::RouteWrapper.new(route)) end class << self def attributes_for_display %w(name verb controller action path) end def from_raw_route(raw_route) mount_class = mount_route_class(raw_route) if mount_class.nil? new(raw_route) else MountRoute.new(raw_route, mount_class) end end private def mount_route_class(route) klass = app_class(route.app) klass if klass.ancestors.include?(Rails::Engine) rescue nil end def app_class(route_app) if route_app.class == Class route_app else route_app.try(:app) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
passages-1.5.2 | lib/passages/route.rb |
passages-1.5.0 | lib/passages/route.rb |