Methods
A
R
S
T
Included Modules
Instance Public methods
app()
# File railties/test/railties/mounted_engine_test.rb, line 159
def app
  @app ||= begin
    require "#{app_path}/config/environment"
    Rails.application
  end
end
reset_script_name!()
# File railties/test/railties/mounted_engine_test.rb, line 166
def reset_script_name!
  Rails.application.routes.default_url_options = {}
end
script_name(script_name)
# File railties/test/railties/mounted_engine_test.rb, line 170
def script_name(script_name)
  Rails.application.routes.default_url_options = {:script_name => script_name}
end
setup()
# File railties/test/railties/mounted_engine_test.rb, line 9
def setup
  build_app

  add_to_config("config.action_dispatch.show_exceptions = false")

  @simple_plugin = engine "weblog"
  @plugin = engine "blog"

  app_file 'config/routes.rb', <<-RUBY
    AppTemplate::Application.routes.draw do
      mount Weblog::Engine, :at => '/', :as => 'weblog'
      resources :posts
      match "/engine_route" => "application_generating#engine_route"
      match "/engine_route_in_view" => "application_generating#engine_route_in_view"
      match "/weblog_engine_route" => "application_generating#weblog_engine_route"
      match "/weblog_engine_route_in_view" => "application_generating#weblog_engine_route_in_view"
      match "/url_for_engine_route" => "application_generating#url_for_engine_route"
      match "/polymorphic_route" => "application_generating#polymorphic_route"
      match "/application_polymorphic_path" => "application_generating#application_polymorphic_path"
      scope "/:user", :user => "anonymous" do
        mount Blog::Engine => "/blog"
      end
      root :to => 'main#index'
    end
  RUBY


  @simple_plugin.write "lib/weblog.rb", <<-RUBY
    module Weblog
      class Engine < ::Rails::Engine
      end
    end
  RUBY

  @simple_plugin.write "config/routes.rb", <<-RUBY
    Weblog::Engine.routes.draw do
      match '/weblog' => "weblogs#index", :as => 'weblogs'
    end
  RUBY

  @simple_plugin.write "app/controllers/weblogs_controller.rb", <<-RUBY
    class WeblogsController < ActionController::Base
      def index
        render :text => request.url
      end
    end
  RUBY


  @plugin.write "app/models/blog/post.rb", <<-RUBY
    module Blog
      class Post
        extend ActiveModel::Naming

        def id
          44
        end

        def to_param
          id.to_s
        end

        def new_record?
          false
        end
      end
    end
  RUBY

  @plugin.write "lib/blog.rb", <<-RUBY
    module Blog
      class Engine < ::Rails::Engine
        isolate_namespace(Blog)
      end
    end
  RUBY

  @plugin.write "config/routes.rb", <<-RUBY
    Blog::Engine.routes.draw do
      resources :posts
      match '/generate_application_route', :to => 'posts#generate_application_route'
      match '/application_route_in_view', :to => 'posts#application_route_in_view'
      match '/engine_polymorphic_path', :to => 'posts#engine_polymorphic_path'
    end
  RUBY

  @plugin.write "app/controllers/blog/posts_controller.rb", <<-RUBY
    module Blog
      class PostsController < ActionController::Base
        def index
          render :text => blog.post_path(1)
        end

        def generate_application_route
          path = main_app.url_for(:controller => "/main",
                             :action => "index",
                             :only_path => true)
          render :text => path
        end

        def application_route_in_view
          render :inline => "<%= main_app.root_path %>"
        end

        def engine_polymorphic_path
          render :text => polymorphic_path(Post.new)
        end
      end
    end
  RUBY

  app_file "app/controllers/application_generating_controller.rb", <<-RUBY
    class ApplicationGeneratingController < ActionController::Base
      def engine_route
        render :text => blog.posts_path
      end

      def engine_route_in_view
        render :inline => "<%= blog.posts_path %>"
      end

      def weblog_engine_route
        render :text => weblog.weblogs_path
      end

      def weblog_engine_route_in_view
        render :inline => "<%= weblog.weblogs_path %>"
      end

      def url_for_engine_route
        render :text => blog.url_for(:controller => "blog/posts", :action => "index", :user => "john", :only_path => true)
      end

      def polymorphic_route
        render :text => polymorphic_url([blog, Blog::Post.new])
      end

      def application_polymorphic_path
        render :text => polymorphic_path(Blog::Post.new)
      end
    end
  RUBY

  boot_rails
end
teardown()
# File railties/test/railties/mounted_engine_test.rb, line 155
def teardown
  teardown_app
end