Sha256: edf94c094ad72c3f4fbd90fcc00d829e73293016e66219ef869290908afd0f67
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 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) route_app = route.app app(route_app) if app(route_app).ancestors.include?(Rails::Engine) rescue nil end def app(route_app) @app ||= begin if route_app.class == Class route_app else route_app.try(:app) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
passages-1.4.1 | lib/passages/route.rb |