Sha256: d54a20dd2c1cbbb67a383972ff621533c5a0b4ee77873437815bb4bc6fb133e7

Contents?: true

Size: 752 Bytes

Versions: 4

Compression:

Stored size: 752 Bytes

Contents

require "ember_cli/html_constraint"

module ActionDispatch
  module Routing
    class Mapper
      def mount_ember_app(app_name, to:, **options)
        routing_options = options.deep_merge(
          defaults: { ember_app: app_name },
        )

        routing_options.reverse_merge!(
          controller: "ember_cli/ember",
          action: "index",
          format: :html,
        )

        scope constraints: ::EmberCli::HtmlConstraint.new do
          get("#{to}(*rest)", routing_options)
        end

        mount_ember_assets(app_name, to: to)
      end

      def mount_ember_assets(app_name, to: "/")
        app = ::EmberCli[app_name]

        if app.mountable?
          mount app.to_rack => to
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ember-cli-rails-0.7.4 lib/ember_cli/route_helpers.rb
ember-cli-rails-0.7.3 lib/ember_cli/route_helpers.rb
ember-cli-rails-0.7.2 lib/ember_cli/route_helpers.rb
ember-cli-rails-0.7.1 lib/ember_cli/route_helpers.rb