提交 5b6553eb 编写于 作者: P Piotr Sarnacki

Set asset_path to engine_name by default

上级 559979b9
......@@ -256,7 +256,11 @@ def initializers
end
def config
@config ||= Engine::Configuration.new(find_root_with_flag("lib"))
@config ||= begin
config = Engine::Configuration.new(find_root_with_flag("lib"))
config.asset_path = "/#{engine_name}%s" if File.exists?(config.paths.public.to_a.first)
config
end
end
# Add configured load paths to ruby load paths and remove duplicates.
......
......@@ -84,11 +84,13 @@ class Engine < ::Rails::Engine
end
RUBY
boot_rails
Rails.application.routes.draw do |map|
app_file "config/routes.rb", <<-RUBY
AppTemplate::Application.routes.draw do
mount(Bukkits::Engine => "/bukkits")
end
RUBY
boot_rails
env = Rack::MockRequest.env_for("/bukkits")
response = Rails.application.call(env)
......@@ -104,15 +106,19 @@ class Engine < ::Rails::Engine
end
RUBY
boot_rails
Bukkits::Engine.routes.draw do |map|
@plugin.write "config/routes.rb", <<-RUBY
Bukkits::Engine.routes.draw do
match "/foo" => lambda { |env| [200, {'Content-Type' => 'text/html'}, 'foo'] }
end
RUBY
Rails.application.routes.draw do |map|
app_file "config/routes.rb", <<-RUBY
Rails.application.routes.draw do
mount(Bukkits::Engine => "/bukkits")
end
RUBY
boot_rails
env = Rack::MockRequest.env_for("/bukkits/foo")
response = Rails.application.call(env)
......@@ -205,7 +211,6 @@ class Engine < ::Rails::Engine
@plugin.write "lib/bukkits.rb", <<-RUBY
class Bukkits
class Engine < ::Rails::Engine
config.asset_path = "/bukkits%s"
end
end
RUBY
......@@ -247,8 +252,17 @@ def index
add_to_config 'config.asset_path = "/omg%s"'
@plugin.write 'public/touch.txt', <<-RUBY
touch
RUBY
boot_rails
# should set asset_path with engine name by default
assert_equal "/bukkits_engine%s", ::Bukkits::Engine.config.asset_path
::Bukkits::Engine.config.asset_path = "/bukkits%s"
env = Rack::MockRequest.env_for("/foo")
response = Bukkits::Engine.call(env)
stripped_body = response[2].body.split("\n").map(&:strip).join("\n")
......@@ -258,7 +272,6 @@ def index
"<script src=\"/omg/bukkits/javascripts/foo.js\" type=\"text/javascript\"></script>\n" +
"<link href=\"/omg/bukkits/stylesheets/foo.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />"
assert_equal expected, stripped_body
end
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册