sass-rails 3.1.2 → 3.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,14 @@
1
+ CHANGELOG
2
+ =========
3
+
4
+ 3.1.2 (Sept 15, 2011)
5
+ ---------------------
6
+
7
+ * Add asset-data-url helper for base-64 encoding of assets within stylesheets.
8
+ * Add explicit dependency on sprockets.
9
+
10
+ 3.1.1 (Sept 13, 2011)
11
+ ---------------------
12
+
13
+ * Add explicit version dependency on tilt.
14
+ * Add MIT License.
@@ -15,25 +15,38 @@ module Sass
15
15
  Sass::Script::String.new(%Q{url(#{public_path(asset.value, kind.value)})})
16
16
  end
17
17
 
18
- [:image, :font, :video, :audio, :javascript, :stylesheet].each do |asset_class|
18
+ [:image, :video, :audio, :javascript, :stylesheet].each do |asset_class|
19
19
  class_eval %Q{
20
20
  def #{asset_class}_path(asset)
21
- asset_path(asset, Sass::Script::String.new("#{asset_class}"))
21
+ Sass::Script::String.new(resolver.#{asset_class}_path(asset.value), true)
22
22
  end
23
23
  def #{asset_class}_url(asset)
24
- asset_url(asset, Sass::Script::String.new("#{asset_class}"))
24
+ Sass::Script::String.new("url(" + resolver.#{asset_class}_path(asset.value) + ")")
25
25
  end
26
26
  }, __FILE__, __LINE__ - 6
27
27
  end
28
28
 
29
- protected
30
- def public_path(asset, kind)
31
- options[:custom][:resolver].public_path(asset, kind.pluralize)
29
+ def font_path(asset)
30
+ asset_path(asset, Sass::Script::String.new("font"))
32
31
  end
33
-
34
- def context_asset_data_uri(path)
35
- options[:custom][:resolver].context.asset_data_uri(path)
32
+
33
+ def font_url(asset)
34
+ asset_url(asset, Sass::Script::String.new("font"))
36
35
  end
36
+
37
+ protected
38
+
39
+ def resolver
40
+ options[:custom][:resolver]
41
+ end
42
+
43
+ def public_path(asset, kind)
44
+ resolver.public_path(asset, kind.pluralize)
45
+ end
46
+
47
+ def context_asset_data_uri(path)
48
+ resolver.context.asset_data_uri(path)
49
+ end
37
50
  end
38
51
  end
39
52
  end
@@ -44,4 +57,4 @@ module Sass
44
57
  include Sass::Rails::Helpers
45
58
  end
46
59
  end
47
- end
60
+ end
@@ -5,7 +5,9 @@ module Sass::Rails
5
5
  module SassContext
6
6
  attr_accessor :sass_config
7
7
  end
8
+
8
9
  config.sass = ActiveSupport::OrderedOptions.new
10
+
9
11
  # Establish static configuration defaults
10
12
  # Emit scss files during stylesheet generation of scaffold
11
13
  config.sass.preferred_syntax = :scss
@@ -28,18 +30,18 @@ module Sass::Rails
28
30
  # to the rails generate command
29
31
  config.app_generators.stylesheet_engine config.sass.preferred_syntax
30
32
 
31
- config.before_initialize do |app|
32
- unless app.config.assets && app.config.assets.enabled
33
- raise "The sass-rails plugin requires the asset pipeline to be enabled."
34
- end
35
-
33
+ config.before_initialize do
36
34
  require 'sass'
37
- Sprockets::Engines #force autoloading
38
- Sprockets.register_engine '.sass', Sass::Rails::SassTemplate
39
- Sprockets.register_engine '.scss', Sass::Rails::ScssTemplate
35
+
36
+ # Assume dependency on sprockets, not on app.config.assets enabled.
37
+ if defined?(Sprockets::Engines)
38
+ Sprockets::Engines #force autoloading
39
+ Sprockets.register_engine '.sass', Sass::Rails::SassTemplate
40
+ Sprockets.register_engine '.scss', Sass::Rails::ScssTemplate
41
+ end
40
42
  end
41
43
 
42
- initializer :setup_sass do |app|
44
+ initializer :setup_sass, :group => :assets do |app|
43
45
  # Only emit one kind of syntax because though we have registered two kinds of generators
44
46
  syntax = app.config.sass.preferred_syntax.to_sym
45
47
  alt_syntax = syntax == :sass ? "scss" : "sass"
@@ -58,17 +60,15 @@ module Sass::Rails
58
60
  end
59
61
  app.assets.context_class.extend(SassContext)
60
62
  app.assets.context_class.sass_config = app.config.sass
63
+
64
+ Sass.logger = app.config.sass.logger
61
65
  end
62
66
 
63
- initializer :setup_compression do |app|
67
+ initializer :setup_compression, :group => :assets do |app|
64
68
  if app.config.assets.compress
65
69
  # Use sass's css_compressor
66
70
  app.config.assets.css_compressor = CssCompressor.new
67
71
  end
68
72
  end
69
-
70
- config.after_initialize do |app|
71
- Sass::logger = app.config.sass.logger
72
- end
73
73
  end
74
74
  end
@@ -20,12 +20,32 @@ module Sass::Rails
20
20
  end
21
21
 
22
22
  def public_path(path, scope)
23
- context.asset_paths.compute_public_path(path, scope)
23
+ context.asset_paths.compute_public_path(path, ::Rails.application.config.assets.prefix)
24
24
  end
25
25
 
26
26
  def process(path)
27
27
  context.environment[path].to_s
28
28
  end
29
+
30
+ def image_path(img)
31
+ context.image_path(img)
32
+ end
33
+
34
+ def video_path(video)
35
+ context.video_path(video)
36
+ end
37
+
38
+ def audio_path(audio)
39
+ context.audio_path(audio)
40
+ end
41
+
42
+ def javascript_path(javascript)
43
+ context.javascript_path(javascript)
44
+ end
45
+
46
+ def stylesheet_path(stylesheet)
47
+ context.stylesheet_path(stylesheet)
48
+ end
29
49
  end
30
50
 
31
51
  class SassTemplate < Tilt::SassTemplate
@@ -1,5 +1,5 @@
1
1
  module Sass
2
2
  module Rails
3
- VERSION = "3.1.2"
3
+ VERSION = "3.1.3"
4
4
  end
5
5
  end
@@ -13,7 +13,18 @@
13
13
  .rails {
14
14
  asset-path: asset-path("rails.png", image);
15
15
  asset-url: asset-url("rails.png", image);
16
+ image-path: image-path("rails.png");
16
17
  image-url: image-url("rails.png");
18
+ video-path: video-path("rails.mp4");
19
+ video-url: video-url("rails.mp4");
20
+ audio-path: audio-path("rails.mp3");
21
+ audio-url: audio-url("rails.mp3");
22
+ font-path: font-path("rails.ttf");
23
+ font-url: font-url("rails.ttf");
24
+ javascript-path: javascript-path("rails.js");
25
+ javascript-url: javascript-url("rails.js");
26
+ stylesheet-path: stylesheet-path("rails.css");
27
+ stylesheet-url: stylesheet-url("rails.css");
17
28
  asset-data-url: asset-data-url("1x1.png");
18
29
  }
19
30
 
@@ -76,7 +76,18 @@ class SassRailsTest < Sass::Rails::TestCase
76
76
  css_output = sprockets_render("scss_project", "application.css.scss")
77
77
  assert_match css_output, %r{asset-path:\s*"/assets/rails.png"}, 'asset-path:\s*"/assets/rails.png"'
78
78
  assert_match css_output, %r{asset-url:\s*url\(/assets/rails.png\)}, 'asset-url:\s*url\(/assets/rails.png\)'
79
+ assert_match css_output, %r{image-path:\s*"/assets/rails.png"}, 'image-path:\s*"/assets/rails.png"'
79
80
  assert_match css_output, %r{image-url:\s*url\(/assets/rails.png\)}, 'image-url:\s*url\(/assets/rails.png\)'
81
+ assert_match css_output, %r{video-path:\s*"/videos/rails.mp4"}, 'video-path:\s*"/videos/rails.mp4"'
82
+ assert_match css_output, %r{video-url:\s*url\(/videos/rails.mp4\)}, 'video-url:\s*url\(/videos/rails.mp4\)'
83
+ assert_match css_output, %r{audio-path:\s*"/audios/rails.mp3"}, 'audio-path:\s*"/audios/rails.mp3"'
84
+ assert_match css_output, %r{audio-url:\s*url\(/audios/rails.mp3\)}, 'audio-url:\s*url\(/audios/rails.mp3\)'
85
+ assert_match css_output, %r{font-path:\s*"/assets/rails.ttf"}, 'font-path:\s*"/assets/rails.ttf"'
86
+ assert_match css_output, %r{font-url:\s*url\(/assets/rails.ttf\)}, 'font-url:\s*url\(/assets/rails.ttf\)'
87
+ assert_match css_output, %r{javascript-path:\s*"/assets/rails.js"}, 'javascript-path:\s*"/assets/rails.js"'
88
+ assert_match css_output, %r{javascript-url:\s*url\(/assets/rails.js\)}, 'javascript-url:\s*url\(/assets/rails.js\)'
89
+ assert_match css_output, %r{stylesheet-path:\s*"/assets/rails.css"}, 'stylesheet-path:\s*"/assets/rails.css"'
90
+ assert_match css_output, %r{stylesheet-url:\s*url\(/assets/rails.css\)}, 'stylesheet-url:\s*url\(/assets/rails.css\)'
80
91
 
81
92
  asset_data_url_regexp = %r{asset-data-url:\s*url\((.*?)\)}
82
93
  assert_match css_output, asset_data_url_regexp, 'asset-data-url:\s*url\((.*?)\)'
metadata CHANGED
@@ -1,8 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sass-rails
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 3.1.2
4
+ hash: 5
5
+ prerelease: false
6
+ segments:
7
+ - 3
8
+ - 1
9
+ - 3
10
+ version: 3.1.3
6
11
  platform: ruby
7
12
  authors:
8
13
  - wycats
@@ -11,7 +16,7 @@ autorequire:
11
16
  bindir: bin
12
17
  cert_chain: []
13
18
 
14
- date: 2011-09-15 00:00:00 -07:00
19
+ date: 2011-09-28 00:00:00 -03:00
15
20
  default_executable:
16
21
  dependencies:
17
22
  - !ruby/object:Gem::Dependency
@@ -22,6 +27,11 @@ dependencies:
22
27
  requirements:
23
28
  - - ">="
24
29
  - !ruby/object:Gem::Version
30
+ hash: 11
31
+ segments:
32
+ - 3
33
+ - 1
34
+ - 4
25
35
  version: 3.1.4
26
36
  type: :runtime
27
37
  version_requirements: *id001
@@ -33,6 +43,11 @@ dependencies:
33
43
  requirements:
34
44
  - - ~>
35
45
  - !ruby/object:Gem::Version
46
+ hash: 3
47
+ segments:
48
+ - 3
49
+ - 1
50
+ - 0
36
51
  version: 3.1.0
37
52
  type: :runtime
38
53
  version_requirements: *id002
@@ -44,6 +59,11 @@ dependencies:
44
59
  requirements:
45
60
  - - ~>
46
61
  - !ruby/object:Gem::Version
62
+ hash: 3
63
+ segments:
64
+ - 3
65
+ - 1
66
+ - 0
47
67
  version: 3.1.0
48
68
  type: :runtime
49
69
  version_requirements: *id003
@@ -55,6 +75,11 @@ dependencies:
55
75
  requirements:
56
76
  - - ~>
57
77
  - !ruby/object:Gem::Version
78
+ hash: 31
79
+ segments:
80
+ - 1
81
+ - 3
82
+ - 2
58
83
  version: 1.3.2
59
84
  type: :runtime
60
85
  version_requirements: *id004
@@ -66,6 +91,11 @@ dependencies:
66
91
  requirements:
67
92
  - - ~>
68
93
  - !ruby/object:Gem::Version
94
+ hash: 15
95
+ segments:
96
+ - 2
97
+ - 0
98
+ - 0
69
99
  version: 2.0.0
70
100
  type: :runtime
71
101
  version_requirements: *id005
@@ -81,6 +111,7 @@ extra_rdoc_files: []
81
111
 
82
112
  files:
83
113
  - .gitignore
114
+ - CHANGELOG.md
84
115
  - Gemfile
85
116
  - MIT-LICENSE
86
117
  - README.markdown
@@ -263,17 +294,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
263
294
  requirements:
264
295
  - - ">="
265
296
  - !ruby/object:Gem::Version
297
+ hash: 3
298
+ segments:
299
+ - 0
266
300
  version: "0"
267
301
  required_rubygems_version: !ruby/object:Gem::Requirement
268
302
  none: false
269
303
  requirements:
270
304
  - - ">="
271
305
  - !ruby/object:Gem::Version
306
+ hash: 3
307
+ segments:
308
+ - 0
272
309
  version: "0"
273
310
  requirements: []
274
311
 
275
312
  rubyforge_project: sass-rails
276
- rubygems_version: 1.5.3
313
+ rubygems_version: 1.3.7
277
314
  signing_key:
278
315
  specification_version: 3
279
316
  summary: Sass adapter for the Rails asset pipeline.