class method self.with

Ruby on Rails 6.1.7.10

Since v3.1.12

Available in: v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

self.with(routes, include_path_helpers = true)

No documentation comment.

Parameters

routes req
include_path_helpers opt = true
Source
# File actionpack/lib/abstract_controller/railties/routes_helpers.rb, line 6
      def self.with(routes, include_path_helpers = true)
        Module.new do
          define_method(:inherited) do |klass|
            super(klass)

            namespace = klass.module_parents.detect { |m| m.respond_to?(:railtie_routes_url_helpers) }
            actual_routes = namespace ? namespace.railtie_routes_url_helpers._routes : routes

            if namespace
              klass.include(namespace.railtie_routes_url_helpers(include_path_helpers))
            else
              klass.include(routes.url_helpers(include_path_helpers))
            end

            # In the case that we have ex.
            #   class A::Foo < ApplicationController
            #   class Bar < A::Foo
            # We will need to redefine _routes because it will not be correct
            # via inheritance.
            unless klass._routes.equal?(actual_routes)
              klass.redefine_singleton_method(:_routes) { actual_routes }
              klass.include(Module.new do
                define_method(:_routes) { @_routes || actual_routes }
              end)
            end
          end
        end
      end

Defined in actionpack/lib/abstract_controller/railties/routes_helpers.rb line 6 · View on GitHub · Improve this page · Find usages on GitHub

Defined in AbstractController::Railties::RoutesHelpers

Type at least 2 characters to search.

↑↓ navigate · open · esc close