module ActionDispatch::Routing::Mapper::Base

def mount(app, options = nil)

which can be used to navigate to this mounted app.
This will generate the +exciting_path+ and +exciting_url+ helpers

mount(SomeRackApp => "some_route", as: "exciting")

To customize this helper's name, use the +:as+ option:
the helper is either +some_rack_app_path+ or +some_rack_app_url+.
These are named after the class specified, so for the above example
All mounted applications come with routing helpers to access them.

For options, see +match+, as +mount+ uses it internally.

mount(SomeRackApp => "some_route")

Alternatively:

mount SomeRackApp, at: "some_route"

Mount a Rack-based application to be used within the application.
def mount(app, options = nil)
  if options
    path = options.delete(:at)
  elsif Hash === app
    options = app
    app, path = options.find { |k, _| k.respond_to?(:call) }
    options.delete(app) if app
  end
  raise ArgumentError, "A rack application must be specified" unless app.respond_to?(:call)
  raise ArgumentError, <<~MSG unless path
    Must be called with mount point
      mount SomeRackApp, at: "some_route"
      or
      mount(SomeRackApp => "some_route")
  MSG
  rails_app = rails_app? app
  options[:as] ||= app_name(app, rails_app)
  target_as       = name_for_action(options[:as], path)
  options[:via] ||= :all
  match(path, { to: app, anchor: false, format: false }.merge(options))
  define_generate_prefix(app, target_as) if rails_app
  self
end