Unify sprockets config options

This commit is contained in:
Joshua Peek 2011-03-30 21:56:15 -05:00
parent 56a5da89db
commit 28fee29e38
4 changed files with 25 additions and 18 deletions

@ -21,7 +21,7 @@ class Railtie < Rails::Railtie
paths = app.config.paths
options = app.config.action_controller
options.use_sprockets ||= app.config.asset_pipeline
options.use_sprockets ||= app.config.assets.enabled
options.assets_dir ||= paths["public"].first
options.javascripts_dir ||= paths["public/javascripts"].first
options.stylesheets_dir ||= paths["public/stylesheets"].first

@ -142,23 +142,25 @@ def assets
end
def build_asset_environment
return unless config.asset_pipeline
return unless config.assets.enabled
require 'sprockets'
env = Sprockets::Environment.new(root.to_s)
env.static_root = root.join("public/assets")
env.static_root = root.join("public/#{config.assets.prefix}")
env
end
initializer :add_sprockets_paths do |app|
if config.asset_pipeline
[
"app/javascripts",
"app/stylesheets",
"vendor/plugins/*/app/javascripts",
"vendor/plugins/*/app/stylesheets",
"vendor/plugins/*/javascripts",
"vendor/plugins/*/stylesheets"
].each do |pattern|
if config.assets.enabled
paths = [
"app/javascripts",
"app/stylesheets",
"vendor/plugins/*/app/javascripts",
"vendor/plugins/*/app/stylesheets",
"vendor/plugins/*/javascripts",
"vendor/plugins/*/stylesheets"
] + config.assets.paths
paths.each do |pattern|
Dir[app.root.join(pattern)].each do |dir|
app.assets.paths << dir
end

@ -10,7 +10,7 @@ class Configuration < ::Rails::Engine::Configuration
:preload_frameworks, :reload_plugins,
:secret_token, :serve_static_assets, :session_options,
:time_zone, :whiny_nils, :force_ssl,
:asset_pipeline, :precompile_assets
:assets
attr_writer :log_level
@ -30,8 +30,12 @@ def initialize(*)
@log_level = nil
@middleware = app_middleware
@generators = app_generators
@asset_pipeline = false
@precompile_assets = []
@assets = ActiveSupport::OrderedOptions.new
@assets.enabled = false
@assets.paths = []
@assets.precompile = []
@assets.prefix = "/assets"
end
def compiled_asset_path

@ -34,15 +34,16 @@ module Finisher
end
initializer :add_sprockets_route do |app|
if config.asset_pipeline
assets = config.assets
if assets.enabled
app.routes.append do
mount app.assets => "/assets"
mount app.assets => assets.prefix
end
end
end
initializer :set_sprockets_logger do |app|
if config.asset_pipeline
if config.assets.enabled
app.assets.logger = Rails.logger
end
end