From 3e7985c9c1a6899ac06857bd8e6f29b48ad87cea Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Mon, 21 Mar 2011 17:58:28 -0500 Subject: Add sprockets environment to Application --- railties/lib/rails/application.rb | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 94819820bc..3415cc5a5d 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -137,6 +137,40 @@ module Rails @config ||= Application::Configuration.new(find_root_with_flag("config.ru", Dir.pwd)) end + def self.default_sprockets_paths + [ + "app/assets", + "app/javascripts", + "app/stylesheets", + "vendor/plugins/*/app/assets", + "vendor/plugins/*/app/javascripts", + "vendor/plugins/*/app/stylesheets", + "vendor/plugins/*/assets", + "vendor/plugins/*/javascripts", + "vendor/plugins/*/stylesheets" + ] + end + + def assets + @assets ||= build_asset_environment + end + + def build_asset_environment + require 'sprockets' + + env = Sprockets::Environment.new(root.to_s) + env.logger = Rails.logger + env.ensure_fresh_assets = !config.action_controller.perform_caching + + self.class.default_sprockets_paths.each do |pattern| + Dir[root.join(pattern)].each do |dir| + env.paths << dir + end + end + + env + end + protected def default_asset_path -- cgit v1.2.3 From cef10d8ec58a661c231c5a9e0dc3e01165831807 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Tue, 22 Mar 2011 11:15:24 -0500 Subject: Assign sprockets static root --- railties/lib/rails/application.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 3415cc5a5d..81896a1596 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -160,6 +160,7 @@ module Rails env = Sprockets::Environment.new(root.to_s) env.logger = Rails.logger + env.static_root = Rails.root.join("public/assets") env.ensure_fresh_assets = !config.action_controller.perform_caching self.class.default_sprockets_paths.each do |pattern| -- cgit v1.2.3 From 6aff1d0f6f0bcd82d2f99a757b9ae58caa3290c5 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Tue, 22 Mar 2011 14:40:18 -0500 Subject: Remove ensure_fresh_assets flag --- railties/lib/rails/application.rb | 1 - 1 file changed, 1 deletion(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 81896a1596..d2777ed5f1 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -161,7 +161,6 @@ module Rails env = Sprockets::Environment.new(root.to_s) env.logger = Rails.logger env.static_root = Rails.root.join("public/assets") - env.ensure_fresh_assets = !config.action_controller.perform_caching self.class.default_sprockets_paths.each do |pattern| Dir[root.join(pattern)].each do |dir| -- cgit v1.2.3 From 989103a2334648c5b63e51a9480bcc435283f559 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Tue, 22 Mar 2011 16:15:05 -0500 Subject: Move app/javascripts and app/stylesheets under app/assets --- railties/lib/rails/application.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index d2777ed5f1..ff9272c837 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -140,14 +140,14 @@ module Rails def self.default_sprockets_paths [ "app/assets", - "app/javascripts", - "app/stylesheets", + "app/assets/javascripts", + "app/assets/stylesheets", "vendor/plugins/*/app/assets", - "vendor/plugins/*/app/javascripts", - "vendor/plugins/*/app/stylesheets", + "vendor/plugins/*/app/assets/javascripts", + "vendor/plugins/*/app/assets/stylesheets", "vendor/plugins/*/assets", - "vendor/plugins/*/javascripts", - "vendor/plugins/*/stylesheets" + "vendor/plugins/*/assets/javascripts", + "vendor/plugins/*/assets/stylesheets" ] end -- cgit v1.2.3 From ce52c6f4a74f7cb9d9e321203bb47f0f3364bfb2 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Tue, 22 Mar 2011 16:36:21 -0500 Subject: Change static root to /public --- railties/lib/rails/application.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index ff9272c837..57672a1324 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -160,7 +160,7 @@ module Rails env = Sprockets::Environment.new(root.to_s) env.logger = Rails.logger - env.static_root = Rails.root.join("public/assets") + env.static_root = Rails.root.join("public") self.class.default_sprockets_paths.each do |pattern| Dir[root.join(pattern)].each do |dir| -- cgit v1.2.3 From 170680ae9179ea6ce35e1a2ca50ea474bf2126ab Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Mon, 28 Mar 2011 11:04:31 -0500 Subject: Add route for assets --- railties/lib/rails/application.rb | 34 ---------------------------------- 1 file changed, 34 deletions(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 57672a1324..94819820bc 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -137,40 +137,6 @@ module Rails @config ||= Application::Configuration.new(find_root_with_flag("config.ru", Dir.pwd)) end - def self.default_sprockets_paths - [ - "app/assets", - "app/assets/javascripts", - "app/assets/stylesheets", - "vendor/plugins/*/app/assets", - "vendor/plugins/*/app/assets/javascripts", - "vendor/plugins/*/app/assets/stylesheets", - "vendor/plugins/*/assets", - "vendor/plugins/*/assets/javascripts", - "vendor/plugins/*/assets/stylesheets" - ] - end - - def assets - @assets ||= build_asset_environment - end - - def build_asset_environment - require 'sprockets' - - env = Sprockets::Environment.new(root.to_s) - env.logger = Rails.logger - env.static_root = Rails.root.join("public") - - self.class.default_sprockets_paths.each do |pattern| - Dir[root.join(pattern)].each do |dir| - env.paths << dir - end - end - - env - end - protected def default_asset_path -- cgit v1.2.3 From 612454e00ee4ff48c4e03f8d8daf92c2a2d3ae3f Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Tue, 29 Mar 2011 21:16:44 -0500 Subject: Move sprockets initializers back to application --- railties/lib/rails/application.rb | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 94819820bc..032a505f26 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -137,6 +137,33 @@ module Rails @config ||= Application::Configuration.new(find_root_with_flag("config.ru", Dir.pwd)) end + def assets + @assets ||= build_asset_environment + end + + def build_asset_environment + return nil if !config.use_sprockets + require 'sprockets' + env = Sprockets::Environment.new(root.to_s) + env.static_root = root.join("public/assets") + env + end + + initializer :add_sprockets_paths do |app| + [ + "app/javascripts", + "app/stylesheets", + "vendor/plugins/*/app/javascripts", + "vendor/plugins/*/app/stylesheets", + "vendor/plugins/*/javascripts", + "vendor/plugins/*/stylesheets" + ].each do |pattern| + Dir[app.root.join(pattern)].each do |dir| + app.assets.paths << dir + end + end + end + protected def default_asset_path -- cgit v1.2.3 From 651d371a247b0c473fb35a62076e480d95d84a35 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Tue, 29 Mar 2011 21:23:05 -0500 Subject: Rename option to config.asset_pipeline --- railties/lib/rails/application.rb | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 032a505f26..754b03258a 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -142,7 +142,7 @@ module Rails end def build_asset_environment - return nil if !config.use_sprockets + return unless config.asset_pipeline require 'sprockets' env = Sprockets::Environment.new(root.to_s) env.static_root = root.join("public/assets") @@ -150,16 +150,18 @@ module Rails end initializer :add_sprockets_paths do |app| - [ - "app/javascripts", - "app/stylesheets", - "vendor/plugins/*/app/javascripts", - "vendor/plugins/*/app/stylesheets", - "vendor/plugins/*/javascripts", - "vendor/plugins/*/stylesheets" - ].each do |pattern| - Dir[app.root.join(pattern)].each do |dir| - app.assets.paths << dir + 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| + Dir[app.root.join(pattern)].each do |dir| + app.assets.paths << dir + end end end end -- cgit v1.2.3 From 28fee29e383258c38649e20dc9508188010020c8 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Wed, 30 Mar 2011 21:56:15 -0500 Subject: Unify sprockets config options --- railties/lib/rails/application.rb | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 5b8841fd97..d9c183d93e 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -142,23 +142,25 @@ module Rails 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 -- cgit v1.2.3 From bcde6cdf27e96a934466ee16b273846a76c4e335 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Wed, 30 Mar 2011 22:12:00 -0500 Subject: Fix assets prefix joining --- railties/lib/rails/application.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index d9c183d93e..ef3cb794c1 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -145,7 +145,7 @@ module Rails return unless config.assets.enabled require 'sprockets' env = Sprockets::Environment.new(root.to_s) - env.static_root = root.join("public/#{config.assets.prefix}") + env.static_root = root.join("public").join(config.assets.prefix) env end -- cgit v1.2.3 From d7b521db1297c1b95a441b3928fc31ab3abd5ed5 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Wed, 30 Mar 2011 22:17:43 -0500 Subject: Fix assets prefix joining --- railties/lib/rails/application.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index ef3cb794c1..66a1f88c61 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -145,7 +145,7 @@ module Rails return unless config.assets.enabled require 'sprockets' env = Sprockets::Environment.new(root.to_s) - env.static_root = root.join("public").join(config.assets.prefix) + env.static_root = File.join(root.join("public"), config.assets.prefix) env end -- cgit v1.2.3 From a4518517f77055cea0d9fe552d2df393140679de Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Tue, 12 Apr 2011 22:12:27 -0500 Subject: Index sprockets environment if perform caching is enabled --- railties/lib/rails/application.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 66a1f88c61..92f03f06bf 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -140,6 +140,7 @@ module Rails def assets @assets ||= build_asset_environment end + attr_writer :assets def build_asset_environment return unless config.assets.enabled -- cgit v1.2.3 From 101406d7430ce7d9350abdcbf2e7d04fa84779e7 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 13 Apr 2011 14:30:39 +0200 Subject: Move to app/assets in anticipation of image support being added as well. Also add vendor/assets to default load path --- railties/lib/rails/application.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 92f03f06bf..e3942f0f1f 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -153,8 +153,10 @@ module Rails initializer :add_sprockets_paths do |app| if config.assets.enabled paths = [ - "app/javascripts", - "app/stylesheets", + "app/assets/javascripts", + "app/assets/stylesheets", + "vendor/assets/javascripts", + "vendor/assets/stylesheets", "vendor/plugins/*/app/javascripts", "vendor/plugins/*/app/stylesheets", "vendor/plugins/*/javascripts", -- cgit v1.2.3 From 2fe70c180351e87801179e8404d1582d7da25645 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 15 Apr 2011 18:42:51 +0200 Subject: Booya, sprockets now works from Engines. --- railties/lib/rails/application.rb | 40 ++++++++------------------------------- 1 file changed, 8 insertions(+), 32 deletions(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index e3942f0f1f..580f29b767 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -50,6 +50,7 @@ module Rails end end + attr_accessor :assets delegate :default_url_options, :default_url_options=, :to => :routes # This method is called just after an application inherits from Rails::Application, @@ -116,8 +117,6 @@ module Rails self end - alias :build_middleware_stack :app - def env_config @env_config ||= super.merge({ "action_dispatch.parameter_filter" => config.filter_parameters, @@ -137,42 +136,19 @@ module Rails @config ||= Application::Configuration.new(find_root_with_flag("config.ru", Dir.pwd)) end - def assets - @assets ||= build_asset_environment - end - attr_writer :assets + protected + + alias :build_middleware_stack :app def build_asset_environment - return unless config.assets.enabled require 'sprockets' env = Sprockets::Environment.new(root.to_s) env.static_root = File.join(root.join("public"), config.assets.prefix) - env - end - - initializer :add_sprockets_paths do |app| - if config.assets.enabled - paths = [ - "app/assets/javascripts", - "app/assets/stylesheets", - "vendor/assets/javascripts", - "vendor/assets/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 - end - end + env.paths.concat config.assets.paths + env.logger = Rails.logger + @assets = env end - protected - def default_asset_path nil end @@ -239,4 +215,4 @@ module Rails require "rails/console/helpers" end end -end +end \ No newline at end of file -- cgit v1.2.3 From afc828828ffffe7edeb4648a9d2aa4731191ae21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 15 Apr 2011 19:57:52 +0200 Subject: Remove the ability for engines to serve assets from the public directory. --- railties/lib/rails/application.rb | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 580f29b767..9bdf18bf79 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -121,7 +121,6 @@ module Rails @env_config ||= super.merge({ "action_dispatch.parameter_filter" => config.filter_parameters, "action_dispatch.secret_token" => config.secret_token, - "action_dispatch.asset_path" => nil, "action_dispatch.show_exceptions" => config.action_dispatch.show_exceptions }) end @@ -149,10 +148,6 @@ module Rails @assets = env end - def default_asset_path - nil - end - def default_middleware_stack ActionDispatch::MiddlewareStack.new.tap do |middleware| if rack_cache = config.action_controller.perform_caching && config.action_dispatch.rack_cache @@ -166,8 +161,7 @@ module Rails end if config.serve_static_assets - asset_paths = ActiveSupport::OrderedHash[config.static_asset_paths.to_a.reverse] - middleware.use ::ActionDispatch::Static, asset_paths + middleware.use ::ActionDispatch::Static, "/" => paths["public"].first end middleware.use ::Rack::Lock unless config.allow_concurrency -- cgit v1.2.3 From d5ad92ced1786b742c3ecce3cb60d851c7200bc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Fri, 15 Apr 2011 20:09:39 +0200 Subject: Make static faster as we don't have to serve multiple paths anymore. --- railties/lib/rails/application.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 9bdf18bf79..7af0735c14 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -161,7 +161,7 @@ module Rails end if config.serve_static_assets - middleware.use ::ActionDispatch::Static, "/" => paths["public"].first + middleware.use ::ActionDispatch::Static, paths["public"].first end middleware.use ::Rack::Lock unless config.allow_concurrency -- cgit v1.2.3 From 8f75c3abcde4f2ff64e855178027e1bd93976de9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Sun, 17 Apr 2011 10:51:07 +0200 Subject: Move app initializers to sprockets railtie. --- railties/lib/rails/application.rb | 9 --------- 1 file changed, 9 deletions(-) (limited to 'railties/lib/rails/application.rb') diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 7af0735c14..0c3c7737ea 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -139,15 +139,6 @@ module Rails alias :build_middleware_stack :app - def build_asset_environment - require 'sprockets' - env = Sprockets::Environment.new(root.to_s) - env.static_root = File.join(root.join("public"), config.assets.prefix) - env.paths.concat config.assets.paths - env.logger = Rails.logger - @assets = env - end - def default_middleware_stack ActionDispatch::MiddlewareStack.new.tap do |middleware| if rack_cache = config.action_controller.perform_caching && config.action_dispatch.rack_cache -- cgit v1.2.3