sprockets-rails 2.3.3 → 3.4.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,11 @@
1
+ require 'sprockets'
2
+
3
+ module Sprockets
4
+ module Rails
5
+ module Utils
6
+ def using_sprockets4?
7
+ Gem::Version.new(Sprockets::VERSION) >= Gem::Version.new('4.x')
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,5 +1,5 @@
1
1
  module Sprockets
2
2
  module Rails
3
- VERSION = "2.3.3"
3
+ VERSION = "3.4.2"
4
4
  end
5
5
  end
@@ -2,9 +2,17 @@ require 'rails'
2
2
  require 'rails/railtie'
3
3
  require 'action_controller/railtie'
4
4
  require 'active_support/core_ext/module/remove_method'
5
+ require 'active_support/core_ext/numeric/bytes'
5
6
  require 'sprockets'
7
+
8
+ require 'sprockets/rails/asset_url_processor'
9
+ require 'sprockets/rails/sourcemapping_url_processor'
10
+ require 'sprockets/rails/context'
6
11
  require 'sprockets/rails/helper'
12
+ require 'sprockets/rails/quiet_assets'
13
+ require 'sprockets/rails/route_wrapper'
7
14
  require 'sprockets/rails/version'
15
+ require 'set'
8
16
 
9
17
  module Rails
10
18
  class Application
@@ -19,37 +27,40 @@ module Rails
19
27
  remove_possible_method :assets=
20
28
 
21
29
  # Returns Sprockets::Environment for app config.
22
- def assets
23
- @assets ||= Sprockets::Environment.new(root.to_s) do |env|
24
- env.version = ::Rails.env
30
+ attr_accessor :assets
25
31
 
26
- path = "#{config.root}/tmp/cache/assets/#{::Rails.env}"
27
- env.cache = Sprockets::Cache::FileStore.new(path)
32
+ # Returns Sprockets::Manifest for app config.
33
+ attr_accessor :assets_manifest
28
34
 
29
- env.context_class.class_eval do
30
- include ::Sprockets::Rails::Helper
31
- end
35
+ # Called from asset helpers to alert you if you reference an asset URL that
36
+ # isn't precompiled and hence won't be available in production.
37
+ def asset_precompiled?(logical_path)
38
+ if precompiled_assets.include?(logical_path)
39
+ true
40
+ elsif !config.cache_classes
41
+ # Check to see if precompile list has been updated
42
+ precompiled_assets(true).include?(logical_path)
43
+ else
44
+ false
32
45
  end
33
46
  end
34
- attr_writer :assets
35
47
 
36
- # Returns Sprockets::Manifest for app config.
37
- attr_accessor :assets_manifest
48
+ # Lazy-load the precompile list so we don't cause asset compilation at app
49
+ # boot time, but ensure we cache the list so we don't recompute it for each
50
+ # request or test case.
51
+ def precompiled_assets(clear_cache = false)
52
+ @precompiled_assets = nil if clear_cache
53
+ @precompiled_assets ||= assets_manifest.find(config.assets.precompile).map(&:logical_path).to_set
54
+ end
38
55
  end
39
56
 
40
57
  class Engine < Railtie
41
58
  # Skip defining append_assets_path on Rails <= 4.2
42
59
  unless initializers.find { |init| init.name == :append_assets_path }
43
60
  initializer :append_assets_path, :group => :all do |app|
44
- if paths["app/assets"].respond_to?(:existent_directories)
45
- app.config.assets.paths.unshift(*paths["vendor/assets"].existent_directories)
46
- app.config.assets.paths.unshift(*paths["lib/assets"].existent_directories)
47
- app.config.assets.paths.unshift(*paths["app/assets"].existent_directories)
48
- else
49
- app.config.assets.paths.unshift(*paths["vendor/assets"].paths.select { |d| File.directory?(d) })
50
- app.config.assets.paths.unshift(*paths["lib/assets"].paths.select { |d| File.directory?(d) })
51
- app.config.assets.paths.unshift(*paths["app/assets"].paths.select { |d| File.directory?(d) })
52
- end
61
+ app.config.assets.paths.unshift(*paths["vendor/assets"].existent_directories)
62
+ app.config.assets.paths.unshift(*paths["lib/assets"].existent_directories)
63
+ app.config.assets.paths.unshift(*paths["app/assets"].existent_directories)
53
64
  end
54
65
  end
55
66
  end
@@ -57,8 +68,26 @@ end
57
68
 
58
69
  module Sprockets
59
70
  class Railtie < ::Rails::Railtie
60
- LOOSE_APP_ASSETS = lambda do |filename, path|
61
- path =~ /app\/assets/ && !%w(.js .css).include?(File.extname(filename))
71
+ include Sprockets::Rails::Utils
72
+
73
+ class ManifestNeededError < StandardError
74
+ def initialize
75
+ msg = "Expected to find a manifest file in `app/assets/config/manifest.js`\n" +
76
+ "But did not, please create this file and use it to link any assets that need\n" +
77
+ "to be rendered by your app:\n\n" +
78
+ "Example:\n" +
79
+ " //= link_tree ../images\n" +
80
+ " //= link_directory ../javascripts .js\n" +
81
+ " //= link_directory ../stylesheets .css\n" +
82
+ "and restart your server\n\n" +
83
+ "For more information see: https://github.com/rails/sprockets/blob/070fc01947c111d35bb4c836e9bb71962a8e0595/UPGRADING.md#manifestjs"
84
+ super msg
85
+ end
86
+ end
87
+
88
+ LOOSE_APP_ASSETS = lambda do |logical_path, filename|
89
+ filename.start_with?(::Rails.root.join("app/assets").to_s) &&
90
+ !['.js', '.css', ''].include?(File.extname(logical_path))
62
91
  end
63
92
 
64
93
  class OrderedOptions < ActiveSupport::OrderedOptions
@@ -68,92 +97,173 @@ module Sprockets
68
97
  end
69
98
 
70
99
  config.assets = OrderedOptions.new
71
- config.assets._blocks = []
72
- config.assets.paths = []
73
- config.assets.prefix = "/assets"
74
- config.assets.manifest = nil
75
- config.assets.precompile = [LOOSE_APP_ASSETS, /(?:\/|\\|\A)application\.(css|js)$/]
76
- config.assets.version = ""
77
- config.assets.debug = false
78
- config.assets.compile = true
79
- config.assets.digest = false
100
+ config.assets._blocks = []
101
+ config.assets.paths = []
102
+ config.assets.precompile = []
103
+ config.assets.prefix = "/assets"
104
+ config.assets.manifest = nil
105
+ config.assets.quiet = false
106
+ config.assets.resolve_assets_in_css_urls = true
107
+
108
+ initializer :set_default_precompile do |app|
109
+ if using_sprockets4?
110
+ raise ManifestNeededError unless ::Rails.root.join("app/assets/config/manifest.js").exist?
111
+ app.config.assets.precompile += %w( manifest.js )
112
+ else
113
+ app.config.assets.precompile += [LOOSE_APP_ASSETS, /(?:\/|\\|\A)application\.(css|js)$/]
114
+ end
115
+ end
116
+
117
+ initializer :quiet_assets do |app|
118
+ if app.config.assets.quiet
119
+ app.middleware.insert_before ::Rails::Rack::Logger, ::Sprockets::Rails::QuietAssets
120
+ end
121
+ end
122
+
123
+ initializer :asset_url_processor do |app|
124
+ if app.config.assets.resolve_assets_in_css_urls
125
+ Sprockets.register_postprocessor "text/css", ::Sprockets::Rails::AssetUrlProcessor
126
+ end
127
+ end
128
+
129
+ initializer :asset_sourcemap_url_processor do |app|
130
+ Sprockets.register_postprocessor "application/javascript", ::Sprockets::Rails::SourcemappingUrlProcessor
131
+ end
132
+
133
+ config.assets.version = ""
134
+ config.assets.debug = false
135
+ config.assets.compile = true
136
+ config.assets.digest = true
137
+ config.assets.cache_limit = 50.megabytes
138
+ config.assets.gzip = true
139
+ config.assets.check_precompiled_asset = true
140
+ config.assets.unknown_asset_fallback = true
141
+
142
+ config.assets.configure do |env|
143
+ config.assets.paths.each { |path| env.append_path(path) }
144
+ end
145
+
146
+ config.assets.configure do |env|
147
+ env.context_class.send :include, ::Sprockets::Rails::Context
148
+ env.context_class.assets_prefix = config.assets.prefix
149
+ env.context_class.digest_assets = config.assets.digest
150
+ env.context_class.config = config.action_controller
151
+ end
152
+
153
+ config.assets.configure do |env|
154
+ env.cache = Sprockets::Cache::FileStore.new(
155
+ "#{env.root}/tmp/cache/assets",
156
+ config.assets.cache_limit,
157
+ env.logger
158
+ )
159
+ end
160
+
161
+ Sprockets.register_dependency_resolver 'rails-env' do
162
+ ::Rails.env.to_s
163
+ end
164
+
165
+ config.assets.configure do |env|
166
+ env.depend_on 'rails-env'
167
+ end
168
+
169
+ config.assets.configure do |env|
170
+ env.version = config.assets.version
171
+ end
172
+
173
+ config.assets.configure do |env|
174
+ env.gzip = config.assets.gzip if env.respond_to?(:gzip=)
175
+ end
80
176
 
81
177
  rake_tasks do |app|
82
178
  require 'sprockets/rails/task'
83
179
  Sprockets::Rails::Task.new(app)
84
180
  end
85
181
 
86
- config.after_initialize do |app|
87
- config = app.config
88
-
89
- # Configuration options that should invalidate
90
- # the Sprockets cache when changed.
91
- app.assets.version = [
92
- app.assets.version,
93
- config.assets.version,
94
- config.action_controller.relative_url_root,
95
- (config.action_controller.asset_host unless config.action_controller.asset_host.respond_to?(:call)),
96
- Sprockets::Rails::VERSION
97
- ].compact.join('-')
98
-
99
- # Copy config.assets.paths to Sprockets
100
- config.assets.paths.each do |path|
101
- app.assets.append_path path
182
+ def build_environment(app, initialized = nil)
183
+ initialized = app.initialized? if initialized.nil?
184
+ unless initialized
185
+ ::Rails.logger.warn "Application uninitialized: Try calling YourApp::Application.initialize!"
102
186
  end
103
187
 
188
+ env = Sprockets::Environment.new(app.root.to_s)
189
+
190
+ config = app.config
191
+
104
192
  # Run app.assets.configure blocks
105
193
  config.assets._blocks.each do |block|
106
- block.call app.assets
194
+ block.call(env)
107
195
  end
108
196
 
109
197
  # Set compressors after the configure blocks since they can
110
198
  # define new compressors and we only accept existent compressors.
111
- app.assets.js_compressor = config.assets.js_compressor
112
- app.assets.css_compressor = config.assets.css_compressor
199
+ env.js_compressor = config.assets.js_compressor
200
+ env.css_compressor = config.assets.css_compressor
113
201
 
114
202
  # No more configuration changes at this point.
115
203
  # With cache classes on, Sprockets won't check the FS when files
116
204
  # change. Preferable in production when the FS only changes on
117
205
  # deploys when the app restarts.
118
206
  if config.cache_classes
119
- app.assets = app.assets.index
207
+ env = env.cached
120
208
  end
121
209
 
122
- manifest_assets_path = File.join(config.paths['public'].first, config.assets.prefix)
210
+ env
211
+ end
212
+
213
+ def self.build_manifest(app)
214
+ config = app.config
215
+ path = File.join(config.paths['public'].first, config.assets.prefix)
216
+ Sprockets::Manifest.new(app.assets, path, config.assets.manifest)
217
+ end
218
+
219
+ config.after_initialize do |app|
220
+ config = app.config
221
+
123
222
  if config.assets.compile
124
- app.assets_manifest = Sprockets::Manifest.new(app.assets, manifest_assets_path, config.assets.manifest)
125
- else
126
- app.assets_manifest = Sprockets::Manifest.new(manifest_assets_path, config.assets.manifest)
223
+ app.assets = self.build_environment(app, true)
224
+ app.routes.prepend do
225
+ mount app.assets => config.assets.prefix
226
+ end
227
+ end
228
+
229
+ app.assets_manifest = build_manifest(app)
230
+
231
+ if config.assets.resolve_with.nil?
232
+ config.assets.resolve_with = []
233
+ config.assets.resolve_with << :manifest if config.assets.digest && !config.assets.debug
234
+ config.assets.resolve_with << :environment if config.assets.compile
235
+ end
236
+
237
+ ActionDispatch::Routing::RouteWrapper.class_eval do
238
+ class_attribute :assets_prefix
239
+
240
+ if defined?(prepend) && ::Rails.version >= '4'
241
+ prepend Sprockets::Rails::RouteWrapper
242
+ else
243
+ include Sprockets::Rails::RouteWrapper
244
+ end
245
+
246
+ self.assets_prefix = config.assets.prefix
127
247
  end
128
248
 
129
249
  ActiveSupport.on_load(:action_view) do
130
250
  include Sprockets::Rails::Helper
131
251
 
132
252
  # Copy relevant config to AV context
133
- self.debug_assets = config.assets.debug
134
- self.digest_assets = config.assets.digest
135
- self.assets_prefix = config.assets.prefix
253
+ self.debug_assets = config.assets.debug
254
+ self.digest_assets = config.assets.digest
255
+ self.assets_prefix = config.assets.prefix
256
+ self.assets_precompile = config.assets.precompile
136
257
 
137
- # Copy over to Sprockets as well
138
- context = app.assets.context_class
139
- context.assets_prefix = config.assets.prefix
140
- context.digest_assets = config.assets.digest
141
- context.config = config.action_controller
142
-
143
- self.assets_environment = app.assets if config.assets.compile
258
+ self.assets_environment = app.assets
144
259
  self.assets_manifest = app.assets_manifest
145
- end
146
260
 
147
- Sprockets::Rails::Helper.precompile ||= app.config.assets.precompile
148
- Sprockets::Rails::Helper.assets ||= app.assets
149
- Sprockets::Rails::Helper.raise_runtime_errors = app.config.assets.raise_runtime_errors
261
+ self.resolve_assets_with = config.assets.resolve_with
150
262
 
151
- if config.assets.compile
152
- if app.routes.respond_to?(:prepend)
153
- app.routes.prepend do
154
- mount app.assets => config.assets.prefix
155
- end
156
- end
263
+ self.check_precompiled_asset = config.assets.check_precompiled_asset
264
+ self.unknown_asset_fallback = config.assets.unknown_asset_fallback
265
+ # Expose the app precompiled asset check to the view
266
+ self.precompiled_asset_checker = -> logical_path { app.asset_precompiled? logical_path }
157
267
  end
158
268
  end
159
269
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprockets-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.3
4
+ version: 3.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Peek
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-08 00:00:00.000000000 Z
11
+ date: 2021-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sprockets
@@ -16,62 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.8'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '4.0'
19
+ version: 3.0.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: '2.8'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '4.0'
26
+ version: 3.0.0
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: actionpack
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - ">="
38
32
  - !ruby/object:Gem::Version
39
- version: '3.0'
33
+ version: '5.2'
40
34
  type: :runtime
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
38
  - - ">="
45
39
  - !ruby/object:Gem::Version
46
- version: '3.0'
40
+ version: '5.2'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: activesupport
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
45
  - - ">="
52
46
  - !ruby/object:Gem::Version
53
- version: '3.0'
47
+ version: '5.2'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
52
  - - ">="
59
53
  - !ruby/object:Gem::Version
60
- version: '3.0'
54
+ version: '5.2'
61
55
  - !ruby/object:Gem::Dependency
62
56
  name: railties
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
59
  - - ">="
66
60
  - !ruby/object:Gem::Version
67
- version: '3.0'
61
+ version: '5.2'
68
62
  type: :development
69
63
  prerelease: false
70
64
  version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
66
  - - ">="
73
67
  - !ruby/object:Gem::Version
74
- version: '3.0'
68
+ version: '5.2'
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: rake
77
71
  requirement: !ruby/object:Gem::Requirement
@@ -114,26 +108,30 @@ dependencies:
114
108
  - - ">="
115
109
  - !ruby/object:Gem::Version
116
110
  version: '0'
117
- description:
111
+ description:
118
112
  email: josh@joshpeek.com
119
113
  executables: []
120
114
  extensions: []
121
115
  extra_rdoc_files: []
122
116
  files:
123
- - LICENSE
117
+ - MIT-LICENSE
124
118
  - README.md
125
119
  - lib/sprockets/rails.rb
120
+ - lib/sprockets/rails/asset_url_processor.rb
121
+ - lib/sprockets/rails/context.rb
126
122
  - lib/sprockets/rails/helper.rb
127
- - lib/sprockets/rails/legacy_asset_tag_helper.rb
128
- - lib/sprockets/rails/legacy_asset_url_helper.rb
123
+ - lib/sprockets/rails/quiet_assets.rb
124
+ - lib/sprockets/rails/route_wrapper.rb
125
+ - lib/sprockets/rails/sourcemapping_url_processor.rb
129
126
  - lib/sprockets/rails/task.rb
127
+ - lib/sprockets/rails/utils.rb
130
128
  - lib/sprockets/rails/version.rb
131
129
  - lib/sprockets/railtie.rb
132
130
  homepage: https://github.com/rails/sprockets-rails
133
131
  licenses:
134
132
  - MIT
135
133
  metadata: {}
136
- post_install_message:
134
+ post_install_message:
137
135
  rdoc_options: []
138
136
  require_paths:
139
137
  - lib
@@ -141,17 +139,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
141
139
  requirements:
142
140
  - - ">="
143
141
  - !ruby/object:Gem::Version
144
- version: '0'
142
+ version: '2.5'
145
143
  required_rubygems_version: !ruby/object:Gem::Requirement
146
144
  requirements:
147
145
  - - ">="
148
146
  - !ruby/object:Gem::Version
149
147
  version: '0'
150
148
  requirements: []
151
- rubyforge_project:
152
- rubygems_version: 2.4.7
153
- signing_key:
149
+ rubygems_version: 3.2.32
150
+ signing_key:
154
151
  specification_version: 4
155
152
  summary: Sprockets Rails integration
156
153
  test_files: []
157
- has_rdoc:
@@ -1,32 +0,0 @@
1
- require 'sprockets'
2
-
3
- module Sprockets
4
- module Rails
5
- # Backports of AssetTagHelper methods for Rails 2.x and 3.x.
6
- module LegacyAssetTagHelper
7
- include ActionView::Helpers::TagHelper
8
-
9
- def javascript_include_tag(*sources)
10
- options = sources.extract_options!.stringify_keys
11
- sources.uniq.map { |source|
12
- tag_options = {
13
- "src" => path_to_javascript(source)
14
- }.merge(options)
15
- content_tag(:script, "", tag_options)
16
- }.join("\n").html_safe
17
- end
18
-
19
- def stylesheet_link_tag(*sources)
20
- options = sources.extract_options!.stringify_keys
21
- sources.uniq.map { |source|
22
- tag_options = {
23
- "rel" => "stylesheet",
24
- "media" => "screen",
25
- "href" => path_to_stylesheet(source)
26
- }.merge(options)
27
- tag(:link, tag_options)
28
- }.join("\n").html_safe
29
- end
30
- end
31
- end
32
- end
@@ -1,133 +0,0 @@
1
- require 'sprockets'
2
-
3
- module Sprockets
4
- module Rails
5
- # Backports of AssetUrlHelper methods for Rails 2.x and 3.x.
6
- module LegacyAssetUrlHelper
7
- URI_REGEXP = %r{^[-a-z]+://|^(?:cid|data):|^//}
8
-
9
- def asset_path(source, options = {})
10
- source = source.to_s
11
- return "" unless source.present?
12
- return source if source =~ URI_REGEXP
13
-
14
- tail, source = source[/([\?#].+)$/], source.sub(/([\?#].+)$/, '')
15
-
16
- if extname = compute_asset_extname(source, options)
17
- source = "#{source}#{extname}"
18
- end
19
-
20
- if source[0] != ?/
21
- source = compute_asset_path(source, options)
22
- end
23
-
24
- relative_url_root = defined?(config.relative_url_root) && config.relative_url_root
25
- if relative_url_root
26
- source = "#{relative_url_root}#{source}" unless source.starts_with?("#{relative_url_root}/")
27
- end
28
-
29
- if host = compute_asset_host(source, options)
30
- source = "#{host}#{source}"
31
- end
32
-
33
- "#{source}#{tail}"
34
- end
35
- alias_method :path_to_asset, :asset_path
36
-
37
- def asset_url(source, options = {})
38
- path_to_asset(source, options.merge(:protocol => :request))
39
- end
40
-
41
- ASSET_EXTENSIONS = {
42
- :javascript => '.js',
43
- :stylesheet => '.css'
44
- }
45
-
46
- def compute_asset_extname(source, options = {})
47
- return if options[:extname] == false
48
- extname = options[:extname] || ASSET_EXTENSIONS[options[:type]]
49
- extname if extname && File.extname(source) != extname
50
- end
51
-
52
- ASSET_PUBLIC_DIRECTORIES = {
53
- :audio => '/audios',
54
- :font => '/fonts',
55
- :image => '/images',
56
- :javascript => '/javascripts',
57
- :stylesheet => '/stylesheets',
58
- :video => '/videos'
59
- }
60
-
61
- def compute_asset_path(source, options = {})
62
- dir = ASSET_PUBLIC_DIRECTORIES[options[:type]] || ""
63
- File.join(dir, source)
64
- end
65
-
66
- def compute_asset_host(source = "", options = {})
67
- request = self.request if respond_to?(:request)
68
-
69
- if defined? config
70
- host = config.asset_host
71
- elsif defined? ActionController::Base.asset_host
72
- host = ActionController::Base.asset_host
73
- end
74
-
75
- host ||= request.base_url if request && options[:protocol] == :request
76
- return unless host
77
-
78
- if host.respond_to?(:call)
79
- arity = host.respond_to?(:arity) ? host.arity : host.method(:call).arity
80
- args = [source]
81
- args << request if request && (arity > 1 || arity < 0)
82
- host = host.call(*args)
83
- elsif host =~ /%d/
84
- host = host % (Zlib.crc32(source) % 4)
85
- end
86
-
87
- if host =~ URI_REGEXP
88
- host
89
- else
90
- protocol = options[:protocol] || (request ? :request : :relative)
91
- case protocol
92
- when :relative
93
- "//#{host}"
94
- when :request
95
- "#{request.protocol}#{host}"
96
- else
97
- "#{protocol}://#{host}"
98
- end
99
- end
100
- end
101
-
102
- def javascript_path(source, options = {})
103
- path_to_asset(source, {:type => :javascript}.merge(options))
104
- end
105
- alias_method :path_to_javascript, :javascript_path
106
-
107
- def stylesheet_path(source, options = {})
108
- path_to_asset(source, {:type => :stylesheet}.merge(options))
109
- end
110
- alias_method :path_to_stylesheet, :stylesheet_path
111
-
112
- def image_path(source, options = {})
113
- path_to_asset(source, {:type => :image}.merge(options))
114
- end
115
- alias_method :path_to_image, :image_path
116
-
117
- def video_path(source, options = {})
118
- path_to_asset(source, {:type => :video}.merge(options))
119
- end
120
- alias_method :path_to_video, :video_path
121
-
122
- def audio_path(source, options = {})
123
- path_to_asset(source, {:type => :audio}.merge(options))
124
- end
125
- alias_method :path_to_audio, :audio_path
126
-
127
- def font_path(source, options = {})
128
- path_to_asset(source, {:type => :font}.merge(options))
129
- end
130
- alias_method :path_to_font, :font_path
131
- end
132
- end
133
- end