sprockets 3.0.0.beta.8 → 3.0.0.beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -6
  3. data/lib/sprockets.rb +39 -15
  4. data/lib/sprockets/autoload.rb +11 -0
  5. data/lib/sprockets/autoload/closure.rb +7 -0
  6. data/lib/sprockets/autoload/coffee_script.rb +7 -0
  7. data/lib/sprockets/autoload/eco.rb +7 -0
  8. data/lib/sprockets/autoload/ejs.rb +7 -0
  9. data/lib/sprockets/autoload/sass.rb +7 -0
  10. data/lib/sprockets/autoload/uglifier.rb +7 -0
  11. data/lib/sprockets/autoload/yui.rb +7 -0
  12. data/lib/sprockets/bundle.rb +33 -3
  13. data/lib/sprockets/cache.rb +15 -6
  14. data/lib/sprockets/closure_compressor.rb +3 -5
  15. data/lib/sprockets/coffee_script_processor.rb +2 -5
  16. data/lib/sprockets/compressing.rb +2 -2
  17. data/lib/sprockets/context.rb +2 -2
  18. data/lib/sprockets/dependencies.rb +1 -1
  19. data/lib/sprockets/directive_processor.rb +3 -3
  20. data/lib/sprockets/eco_processor.rb +2 -4
  21. data/lib/sprockets/ejs_processor.rb +1 -3
  22. data/lib/sprockets/engines.rb +1 -1
  23. data/lib/sprockets/http_utils.rb +17 -1
  24. data/lib/sprockets/legacy.rb +3 -2
  25. data/lib/sprockets/loader.rb +11 -8
  26. data/lib/sprockets/manifest.rb +27 -17
  27. data/lib/sprockets/manifest_utils.rb +45 -0
  28. data/lib/sprockets/mime.rb +10 -7
  29. data/lib/sprockets/paths.rb +2 -2
  30. data/lib/sprockets/processing.rb +35 -52
  31. data/lib/sprockets/processor_utils.rb +34 -28
  32. data/lib/sprockets/resolve.rb +35 -25
  33. data/lib/sprockets/sass_cache_store.rb +29 -2
  34. data/lib/sprockets/sass_compressor.rb +3 -5
  35. data/lib/sprockets/sass_processor.rb +11 -32
  36. data/lib/sprockets/server.rb +4 -4
  37. data/lib/sprockets/transformers.rb +1 -1
  38. data/lib/sprockets/uglifier_compressor.rb +3 -5
  39. data/lib/sprockets/uri_utils.rb +3 -3
  40. data/lib/sprockets/version.rb +1 -1
  41. data/lib/sprockets/yui_compressor.rb +3 -5
  42. metadata +12 -4
  43. data/lib/sprockets/autoload_processor.rb +0 -48
@@ -15,7 +15,7 @@ module Sprockets
15
15
  # id - Unique fingerprint of the entire asset and all its metadata. Assets
16
16
  # will only have the same id if they serialize to an identical value.
17
17
  #
18
- # skip_bundle - Boolean if bundle processors should be skipped.
18
+ # pipeline - String name of pipeline.
19
19
  #
20
20
  # encoding - A content encoding such as "gzip" or "deflate". NOT a charset
21
21
  # like "utf-8".
@@ -161,8 +161,8 @@ module Sprockets
161
161
  case value
162
162
  when Integer
163
163
  query << "#{key}=#{value}"
164
- when String
165
- query << "#{key}=#{URI::Generic::DEFAULT_PARSER.escape(value)}"
164
+ when String, Symbol
165
+ query << "#{key}=#{URI::Generic::DEFAULT_PARSER.escape(value.to_s)}"
166
166
  when TrueClass
167
167
  query << "#{key}"
168
168
  when FalseClass, NilClass
@@ -1,3 +1,3 @@
1
1
  module Sprockets
2
- VERSION = "3.0.0.beta.8"
2
+ VERSION = "3.0.0.beta.9"
3
3
  end
@@ -1,5 +1,3 @@
1
- require 'yui/compressor'
2
-
3
1
  module Sprockets
4
2
  # Public: YUI compressor.
5
3
  #
@@ -37,7 +35,7 @@ module Sprockets
37
35
  @options = options
38
36
  @cache_key = [
39
37
  self.class.name,
40
- ::YUI::Compressor::VERSION,
38
+ Autoload::YUI::Compressor::VERSION,
41
39
  VERSION,
42
40
  options
43
41
  ].freeze
@@ -50,12 +48,12 @@ module Sprockets
50
48
  when 'application/javascript'
51
49
  key = @cache_key + [input[:content_type], input[:data]]
52
50
  input[:cache].fetch(key) do
53
- ::YUI::JavaScriptCompressor.new(@options).compress(data)
51
+ Autoload::YUI::JavaScriptCompressor.new(@options).compress(data)
54
52
  end
55
53
  when 'text/css'
56
54
  key = @cache_key + [input[:content_type], input[:data]]
57
55
  input[:cache].fetch(key) do
58
- ::YUI::CssCompressor.new(@options).compress(data)
56
+ Autoload::YUI::CssCompressor.new(@options).compress(data)
59
57
  end
60
58
  else
61
59
  data
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprockets
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.beta.8
4
+ version: 3.0.0.beta.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Stephenson
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-02-06 00:00:00.000000000 Z
12
+ date: 2015-03-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rack
@@ -223,7 +223,14 @@ files:
223
223
  - lib/rake/sprocketstask.rb
224
224
  - lib/sprockets.rb
225
225
  - lib/sprockets/asset.rb
226
- - lib/sprockets/autoload_processor.rb
226
+ - lib/sprockets/autoload.rb
227
+ - lib/sprockets/autoload/closure.rb
228
+ - lib/sprockets/autoload/coffee_script.rb
229
+ - lib/sprockets/autoload/eco.rb
230
+ - lib/sprockets/autoload/ejs.rb
231
+ - lib/sprockets/autoload/sass.rb
232
+ - lib/sprockets/autoload/uglifier.rb
233
+ - lib/sprockets/autoload/yui.rb
227
234
  - lib/sprockets/base.rb
228
235
  - lib/sprockets/bower.rb
229
236
  - lib/sprockets/bundle.rb
@@ -259,6 +266,7 @@ files:
259
266
  - lib/sprockets/legacy_tilt_processor.rb
260
267
  - lib/sprockets/loader.rb
261
268
  - lib/sprockets/manifest.rb
269
+ - lib/sprockets/manifest_utils.rb
262
270
  - lib/sprockets/mime.rb
263
271
  - lib/sprockets/path_dependency_utils.rb
264
272
  - lib/sprockets/path_digest_utils.rb
@@ -280,7 +288,7 @@ files:
280
288
  - lib/sprockets/utils.rb
281
289
  - lib/sprockets/version.rb
282
290
  - lib/sprockets/yui_compressor.rb
283
- homepage: https://github.com/sstephenson/sprockets
291
+ homepage: https://github.com/rails/sprockets
284
292
  licenses:
285
293
  - MIT
286
294
  metadata: {}
@@ -1,48 +0,0 @@
1
- module Sprockets
2
- # Internal: Used for lazy loading processors.
3
- #
4
- # Libraries should not use lazily loaded processors. They are only needed
5
- # internally by Sprockets since it has optionally dependencies such as
6
- # CoffeeScript that may not be available in the gem environment.
7
- class AutoloadProcessor
8
- # Initialize AutoloadProcessor wrapper
9
- #
10
- # See ProcessorUtils.autoload_processor for constructor method.
11
- #
12
- # mod - Parent Module of processor class/module
13
- # name - Symbol name of processor class/module
14
- def initialize(mod, name)
15
- @mod = mod
16
- @name = name.to_sym
17
- end
18
-
19
- # Full name of module.
20
- #
21
- # Returns String.
22
- def name
23
- "#{@mod}::#{@name}"
24
- end
25
-
26
- # Check if target constant is already loaded.
27
- #
28
- # Returns Boolean.
29
- def const_loaded?
30
- @mod.autoload?(@name)
31
- end
32
-
33
- # Delegate to processor#cache_key
34
- def cache_key
35
- load_processor.cache_key if load_processor.respond_to?(:cache_key)
36
- end
37
-
38
- # Delegate to processor#call
39
- def call(*args)
40
- load_processor.call(*args)
41
- end
42
-
43
- private
44
- def load_processor
45
- @processor ||= @mod.const_get(@name)
46
- end
47
- end
48
- end