sprockets-sass 0.9.0 → 0.9.1

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.
data/Appraisals CHANGED
@@ -1,27 +1,79 @@
1
- appraise 'sprockets-2.0' do
1
+ appraise 'sprockets-2.0_sass-3.1' do
2
2
  gem 'sprockets', '~> 2.0.0'
3
+ gem 'sass', '~> 3.1.0'
3
4
  end
4
5
 
5
- appraise 'sprockets-2.1' do
6
+ appraise 'sprockets-2.1_sass-3.1' do
6
7
  gem 'sprockets', '~> 2.1.0'
8
+ gem 'sass', '~> 3.1.0'
7
9
  end
8
10
 
9
- appraise 'sprockets-2.2' do
11
+ appraise 'sprockets-2.2_sass-3.1' do
10
12
  gem 'sprockets', '~> 2.2.0'
13
+ gem 'sass', '~> 3.1.0'
11
14
  end
12
15
 
13
- appraise 'sprockets-2.3' do
16
+ appraise 'sprockets-2.3_sass-3.1' do
14
17
  gem 'sprockets', '~> 2.3.0'
18
+ gem 'sass', '~> 3.1.0'
15
19
  end
16
20
 
17
- appraise 'sprockets-2.4' do
21
+ appraise 'sprockets-2.4_sass-3.1' do
18
22
  gem 'sprockets', '~> 2.4.0'
23
+ gem 'sass', '~> 3.1.0'
19
24
  end
20
25
 
21
- appraise 'compass-0.11' do
26
+ appraise 'sprockets-2.5_sass-3.1' do
27
+ gem 'sprockets', '~> 2.5.0'
28
+ gem 'sass', '~> 3.1.0'
29
+ end
30
+
31
+ appraise 'sprockets-2.6_sass-3.1' do
32
+ gem 'sprockets', '~> 2.6.0'
33
+ gem 'sass', '~> 3.1.0'
34
+ end
35
+
36
+ appraise 'sprockets-2.0_sass-3.2' do
37
+ gem 'sprockets', '~> 2.0.0'
38
+ gem 'sass', '~> 3.2.0'
39
+ end
40
+
41
+ appraise 'sprockets-2.1_sass-3.2' do
42
+ gem 'sprockets', '~> 2.1.0'
43
+ gem 'sass', '~> 3.2.0'
44
+ end
45
+
46
+ appraise 'sprockets-2.2_sass-3.2' do
47
+ gem 'sprockets', '~> 2.2.0'
48
+ gem 'sass', '~> 3.2.0'
49
+ end
50
+
51
+ appraise 'sprockets-2.3_sass-3.2' do
52
+ gem 'sprockets', '~> 2.3.0'
53
+ gem 'sass', '~> 3.2.0'
54
+ end
55
+
56
+ appraise 'sprockets-2.4_sass-3.2' do
57
+ gem 'sprockets', '~> 2.4.0'
58
+ gem 'sass', '~> 3.2.0'
59
+ end
60
+
61
+ appraise 'sprockets-2.5_sass-3.2' do
62
+ gem 'sprockets', '~> 2.5.0'
63
+ gem 'sass', '~> 3.2.0'
64
+ end
65
+
66
+ appraise 'sprockets-2.6_sass-3.2' do
67
+ gem 'sprockets', '~> 2.6.0'
68
+ gem 'sass', '~> 3.2.0'
69
+ end
70
+
71
+ appraise 'compass-0.11_sass-3.1' do
22
72
  gem 'compass', '~> 0.11.0'
73
+ gem 'sass', '~> 3.1.0'
23
74
  end
24
75
 
25
- appraise 'compass-0.12' do
26
- gem 'compass', '~> 0.12.0'
76
+ appraise 'compass-0.11_sass-3.2' do
77
+ gem 'compass', '~> 0.11.0'
78
+ gem 'sass', '~> 3.2.0'
27
79
  end
data/README.md CHANGED
@@ -90,6 +90,14 @@ button {
90
90
  color: red; }
91
91
  ```
92
92
 
93
+ Passing Options to the Sass Engine
94
+ ----------------------------------
95
+
96
+ If you would like to configure any of the Sass options, you can do so like this:
97
+
98
+ ```ruby
99
+ Sprockets::Sass.options[:line_comments] = true
100
+ ```
93
101
 
94
102
  Compass Integration
95
103
  -------------------
@@ -3,5 +3,6 @@
3
3
  source :rubygems
4
4
 
5
5
  gem "compass", "~> 0.11.0"
6
+ gem "sass", "~> 3.1.0"
6
7
 
7
8
  gemspec :path=>"../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "compass", "~> 0.11.0"
6
+ gem "sass", "~> 3.2.0"
7
+
8
+ gemspec :path=>"../"
@@ -3,5 +3,6 @@
3
3
  source :rubygems
4
4
 
5
5
  gem "sprockets", "~> 2.0.0"
6
+ gem "sass", "~> 3.1.0"
6
7
 
7
8
  gemspec :path=>"../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "sprockets", "~> 2.0.0"
6
+ gem "sass", "~> 3.2.0"
7
+
8
+ gemspec :path=>"../"
@@ -3,5 +3,6 @@
3
3
  source :rubygems
4
4
 
5
5
  gem "sprockets", "~> 2.1.0"
6
+ gem "sass", "~> 3.1.0"
6
7
 
7
8
  gemspec :path=>"../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "sprockets", "~> 2.1.0"
6
+ gem "sass", "~> 3.2.0"
7
+
8
+ gemspec :path=>"../"
@@ -3,5 +3,6 @@
3
3
  source :rubygems
4
4
 
5
5
  gem "sprockets", "~> 2.2.0"
6
+ gem "sass", "~> 3.1.0"
6
7
 
7
8
  gemspec :path=>"../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "sprockets", "~> 2.2.0"
6
+ gem "sass", "~> 3.2.0"
7
+
8
+ gemspec :path=>"../"
@@ -3,5 +3,6 @@
3
3
  source :rubygems
4
4
 
5
5
  gem "sprockets", "~> 2.3.0"
6
+ gem "sass", "~> 3.1.0"
6
7
 
7
8
  gemspec :path=>"../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "sprockets", "~> 2.3.0"
6
+ gem "sass", "~> 3.2.0"
7
+
8
+ gemspec :path=>"../"
@@ -3,5 +3,6 @@
3
3
  source :rubygems
4
4
 
5
5
  gem "sprockets", "~> 2.4.0"
6
+ gem "sass", "~> 3.1.0"
6
7
 
7
8
  gemspec :path=>"../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "sprockets", "~> 2.4.0"
6
+ gem "sass", "~> 3.2.0"
7
+
8
+ gemspec :path=>"../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "sprockets", "~> 2.5.0"
6
+ gem "sass", "~> 3.1.0"
7
+
8
+ gemspec :path=>"../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "sprockets", "~> 2.5.0"
6
+ gem "sass", "~> 3.2.0"
7
+
8
+ gemspec :path=>"../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "sprockets", "~> 2.6.0"
6
+ gem "sass", "~> 3.1.0"
7
+
8
+ gemspec :path=>"../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source :rubygems
4
+
5
+ gem "sprockets", "~> 2.6.0"
6
+ gem "sass", "~> 3.2.0"
7
+
8
+ gemspec :path=>"../"
@@ -1,3 +1,4 @@
1
+ require 'sprockets'
1
2
  require 'sprockets/sass/version'
2
3
  require 'sprockets/sass/sass_template'
3
4
  require 'sprockets/sass/scss_template'
@@ -7,13 +7,13 @@ module Sprockets
7
7
  # URI with the contents of the asset at the specified path.
8
8
  #
9
9
  # === Examples
10
- #
10
+ #
11
11
  # background: asset-data-uri("image.jpg"); // background: url(data:image/jpeg;base64,...);
12
12
  #
13
13
  def asset_data_uri(source)
14
14
  ::Sass::Script::String.new "url(#{sprockets_context.asset_data_uri(source.value)})"
15
15
  end
16
-
16
+
17
17
  # Using Sprockets::Helpers#asset_path, return the full path
18
18
  # for the given +source+ as a Sass String. This supports keyword
19
19
  # arguments that mirror the +options+.
@@ -29,14 +29,14 @@ module Sprockets
29
29
  kind = options.value
30
30
  options = {}
31
31
  end
32
-
32
+
33
33
  if kind && sprockets_context.respond_to?("#{kind}_path")
34
34
  ::Sass::Script::String.new sprockets_context.send("#{kind}_path", source.value), :string
35
35
  else
36
36
  ::Sass::Script::String.new sprockets_context.asset_path(source.value, map_options(options)).to_s, :string
37
37
  end
38
38
  end
39
-
39
+
40
40
  # Using Sprockets::Helpers#asset_path, return the url CSS
41
41
  # for the given +source+ as a Sass String. This supports keyword
42
42
  # arguments that mirror the +options+.
@@ -49,7 +49,7 @@ module Sprockets
49
49
  def asset_url(source, options = {})
50
50
  ::Sass::Script::String.new "url(#{asset_path(source, options)})"
51
51
  end
52
-
52
+
53
53
  # Using Sprockets::Helpers#image_path, return the full path
54
54
  # for the given +source+ as a Sass String. This supports keyword
55
55
  # arguments that mirror the +options+.
@@ -62,7 +62,7 @@ module Sprockets
62
62
  def image_path(source, options = {})
63
63
  ::Sass::Script::String.new sprockets_context.image_path(source.value, map_options(options)).to_s, :string
64
64
  end
65
-
65
+
66
66
  # Using Sprockets::Helpers#image_path, return the url CSS
67
67
  # for the given +source+ as a Sass String. This supports keyword
68
68
  # arguments that mirror the +options+.
@@ -97,7 +97,7 @@ module Sprockets
97
97
  def font_path(source, options = {})
98
98
  ::Sass::Script::String.new sprockets_context.font_path(source.value, map_options(options)).to_s, :string
99
99
  end
100
-
100
+
101
101
  # Using Sprockets::Helpers#font_path, return the url CSS
102
102
  # for the given +source+ as a Sass String. This supports keyword
103
103
  # arguments that mirror the +options+.
@@ -119,15 +119,15 @@ module Sprockets
119
119
  end
120
120
  ::Sass::Script::String.new "url(#{font_path(source, options)})"
121
121
  end
122
-
122
+
123
123
  protected
124
-
124
+
125
125
  # Returns a reference to the Sprocket's context through
126
126
  # the importer.
127
127
  def sprockets_context # :nodoc:
128
- options[:importer].context
128
+ options[:custom][:sprockets_context]
129
129
  end
130
-
130
+
131
131
  # Returns an options hash where the keys are symbolized
132
132
  # and the values are unwrapped Sass literals.
133
133
  def map_options(options = {}) # :nodoc:
@@ -141,13 +141,13 @@ end
141
141
 
142
142
  module Sass::Script::Functions
143
143
  include Sprockets::Sass::Functions
144
-
144
+
145
145
  # Hack to ensure previous API declarations (by Compass or whatever)
146
146
  # don't take precedence.
147
147
  [:asset_path, :asset_url, :image_path, :image_url, :font_path, :font_url, :asset_data_uri].each do |method|
148
148
  defined?(@signatures) && @signatures.delete(method)
149
149
  end
150
-
150
+
151
151
  declare :asset_path, [:source], :var_kwargs => true
152
152
  declare :asset_path, [:source, :kind]
153
153
  declare :asset_url, [:source], :var_kwargs => true
@@ -4,35 +4,35 @@ module Sprockets
4
4
  module Sass
5
5
  class SassTemplate < Tilt::SassTemplate
6
6
  self.default_mime_type = 'text/css'
7
-
7
+
8
8
  # A reference to the current Sprockets context
9
9
  attr_reader :context
10
-
10
+
11
11
  # Templates are initialized once the functions are added.
12
12
  def self.engine_initialized?
13
13
  super && (!Sass.add_sass_functions || defined?(Functions))
14
14
  end
15
-
15
+
16
16
  # Add the Sass functions if they haven't already been added.
17
17
  def initialize_engine
18
18
  super unless self.class.superclass.engine_initialized?
19
-
19
+
20
20
  if Sass.add_sass_functions
21
21
  require 'sprockets/sass/functions'
22
22
  end
23
23
  end
24
-
24
+
25
25
  # Define the expected syntax for the template
26
26
  def syntax
27
27
  :sass
28
28
  end
29
-
29
+
30
30
  # See `Tilt::Template#prepare`.
31
31
  def prepare
32
32
  @context = nil
33
33
  @output = nil
34
34
  end
35
-
35
+
36
36
  # See `Tilt::Template#evaluate`.
37
37
  def evaluate(context, locals, &block)
38
38
  @output ||= begin
@@ -46,23 +46,23 @@ module Sprockets
46
46
  end
47
47
 
48
48
  protected
49
-
49
+
50
50
  # Returns a Sprockets-aware cache store for Sass::Engine.
51
51
  def cache_store
52
52
  return nil if context.environment.cache.nil?
53
-
53
+
54
54
  if defined?(Sprockets::SassCacheStore)
55
55
  Sprockets::SassCacheStore.new context.environment
56
56
  else
57
57
  CacheStore.new context.environment
58
58
  end
59
59
  end
60
-
60
+
61
61
  # A reference to the custom Sass importer, `Sprockets::Sass::Importer`.
62
62
  def importer
63
63
  Importer.new context
64
64
  end
65
-
65
+
66
66
  # Assemble the options for the `Sass::Engine`
67
67
  def sass_options
68
68
  merge_sass_options(default_sass_options, options).merge(
@@ -70,10 +70,11 @@ module Sprockets
70
70
  :line => line,
71
71
  :syntax => syntax,
72
72
  :cache_store => cache_store,
73
- :importer => importer
73
+ :importer => importer,
74
+ :custom => { :sprockets_context => context }
74
75
  )
75
76
  end
76
-
77
+
77
78
  # Get the default, global Sass options. Start with Compass's
78
79
  # options, if it's available.
79
80
  def default_sass_options
@@ -83,7 +84,7 @@ module Sprockets
83
84
  Sprockets::Sass.options.dup
84
85
  end
85
86
  end
86
-
87
+
87
88
  # Merges two sets of `Sass::Engine` options, prepending
88
89
  # the `:load_paths` instead of clobbering them.
89
90
  def merge_sass_options(options, other_options)
@@ -1,5 +1,5 @@
1
1
  module Sprockets
2
2
  module Sass
3
- VERSION = '0.9.0'
3
+ VERSION = '0.9.1'
4
4
  end
5
5
  end
@@ -7,46 +7,46 @@ describe Sprockets::Sass do
7
7
  @env = Sprockets::Environment.new @root.to_s
8
8
  @env.append_path @assets.to_s
9
9
  end
10
-
10
+
11
11
  after :each do
12
12
  @root.destroy!
13
13
  end
14
-
14
+
15
15
  it 'processes scss files normally' do
16
16
  @assets.file 'main.css.scss', '//= require dep'
17
17
  @assets.file 'dep.css.scss', 'body { color: blue; }'
18
18
  asset = @env['main.css']
19
19
  asset.to_s.should == "body {\n color: blue; }\n"
20
20
  end
21
-
21
+
22
22
  it 'processes sass files normally' do
23
23
  @assets.file 'main.css.sass', '//= require dep'
24
24
  @assets.file 'dep.css.sass', "body\n color: blue"
25
25
  asset = @env['main.css']
26
26
  asset.to_s.should == "body {\n color: blue; }\n"
27
27
  end
28
-
28
+
29
29
  it 'imports standard files' do
30
30
  @assets.file 'main.css.scss', %(@import "dep";\nbody { color: $color; })
31
31
  @assets.file 'dep.css.scss', '$color: blue;'
32
32
  asset = @env['main.css']
33
33
  asset.to_s.should == "body {\n color: blue; }\n"
34
34
  end
35
-
35
+
36
36
  it 'imports partials' do
37
37
  @assets.file 'main.css.scss', %(@import "_dep";\nbody { color: $color; })
38
38
  @assets.file '_dep.css.scss', '$color: blue;'
39
39
  asset = @env['main.css']
40
40
  asset.to_s.should == "body {\n color: blue; }\n"
41
41
  end
42
-
42
+
43
43
  it 'imports other syntax' do
44
44
  @assets.file 'main.css.scss', %(@import "dep";\nbody { color: $color; })
45
45
  @assets.file 'dep.sass', "$color: blue\nhtml\n height: 100%"
46
46
  asset = @env['main.css']
47
47
  asset.to_s.should == "html {\n height: 100%; }\n\nbody {\n color: blue; }\n"
48
48
  end
49
-
49
+
50
50
  it 'imports files with the correct content type' do
51
51
  @assets.file 'main.css.scss', %(@import "dep";\nbody { color: $color; })
52
52
  @assets.file 'dep.js', 'var app = {};'
@@ -54,7 +54,7 @@ describe Sprockets::Sass do
54
54
  asset = @env['main.css']
55
55
  asset.to_s.should == "body {\n color: blue; }\n"
56
56
  end
57
-
57
+
58
58
  it 'imports files with directives' do
59
59
  @assets.file 'main.css.scss', %(@import "dep";)
60
60
  @assets.file 'dep.css', "/*\n *= require subdep\n */"
@@ -62,14 +62,14 @@ describe Sprockets::Sass do
62
62
  asset = @env['main.css']
63
63
  asset.to_s.should include("body {\n color: blue; }\n")
64
64
  end
65
-
65
+
66
66
  it 'imports files with additional processors' do
67
67
  @assets.file 'main.css.scss', %(@import "dep";\nbody { color: $color; })
68
68
  @assets.file 'dep.css.scss.erb', "$color: <%= 'blue' %>;"
69
69
  asset = @env['main.css']
70
70
  asset.to_s.should == "body {\n color: blue; }\n"
71
71
  end
72
-
72
+
73
73
  it 'imports relative files' do
74
74
  @assets.file 'folder/main.css.scss', %(@import "./dep-1";\n@import "./subfolder/dep-2";\nbody { background-color: $background-color; color: $color; })
75
75
  @assets.file 'folder/dep-1.css.scss', '$background-color: red;'
@@ -77,7 +77,7 @@ describe Sprockets::Sass do
77
77
  asset = @env['folder/main.css']
78
78
  asset.to_s.should == "body {\n background-color: red;\n color: blue; }\n"
79
79
  end
80
-
80
+
81
81
  it 'imports relative partials' do
82
82
  @assets.file 'folder/main.css.scss', %(@import "./dep-1";\n@import "./subfolder/dep-2";\nbody { background-color: $background-color; color: $color; })
83
83
  @assets.file 'folder/_dep-1.css.scss', '$background-color: red;'
@@ -85,7 +85,7 @@ describe Sprockets::Sass do
85
85
  asset = @env['folder/main.css']
86
86
  asset.to_s.should == "body {\n background-color: red;\n color: blue; }\n"
87
87
  end
88
-
88
+
89
89
  it 'imports relative files without preceding ./' do
90
90
  @assets.file 'folder/main.css.scss', %(@import "dep-1";\n@import "subfolder/dep-2";\nbody { background-color: $background-color; color: $color; })
91
91
  @assets.file 'folder/dep-1.css.scss', '$background-color: red;'
@@ -93,7 +93,7 @@ describe Sprockets::Sass do
93
93
  asset = @env['folder/main.css']
94
94
  asset.to_s.should == "body {\n background-color: red;\n color: blue; }\n"
95
95
  end
96
-
96
+
97
97
  it 'imports relative partials without preceding ./' do
98
98
  @assets.file 'folder/main.css.scss', %(@import "dep-1";\n@import "subfolder/dep-2";\nbody { background-color: $background-color; color: $color; })
99
99
  @assets.file 'folder/_dep-1.css.scss', '$background-color: red;'
@@ -101,21 +101,21 @@ describe Sprockets::Sass do
101
101
  asset = @env['folder/main.css']
102
102
  asset.to_s.should == "body {\n background-color: red;\n color: blue; }\n"
103
103
  end
104
-
104
+
105
105
  it 'imports files relative to root' do
106
106
  @assets.file 'folder/main.css.scss', %(@import "dep";\nbody { color: $color; })
107
107
  @assets.file 'dep.css.scss', '$color: blue;'
108
108
  asset = @env['folder/main.css']
109
109
  asset.to_s.should == "body {\n color: blue; }\n"
110
110
  end
111
-
111
+
112
112
  it 'imports partials relative to root' do
113
113
  @assets.file 'folder/main.css.scss', %(@import "dep";\nbody { color: $color; })
114
114
  @assets.file '_dep.css.scss', '$color: blue;'
115
115
  asset = @env['folder/main.css']
116
116
  asset.to_s.should == "body {\n color: blue; }\n"
117
117
  end
118
-
118
+
119
119
  it 'shares Sass environment with other imports' do
120
120
  @assets.file 'main.css.scss', %(@import "dep-1";\n@import "dep-2";)
121
121
  @assets.file '_dep-1.scss', '$color: blue;'
@@ -123,44 +123,44 @@ describe Sprockets::Sass do
123
123
  asset = @env['main.css']
124
124
  asset.to_s.should == "body {\n color: blue; }\n"
125
125
  end
126
-
126
+
127
127
  it 'imports files from the assets load path' do
128
128
  vendor = @root.directory 'vendor'
129
129
  @env.append_path vendor.to_s
130
-
130
+
131
131
  @assets.file 'main.css.scss', %(@import "dep";\nbody { color: $color; })
132
132
  vendor.file 'dep.css.scss', '$color: blue;'
133
133
  asset = @env['main.css']
134
134
  asset.to_s.should == "body {\n color: blue; }\n"
135
135
  end
136
-
136
+
137
137
  it 'allows global Sass configuration' do
138
138
  Sprockets::Sass.options[:style] = :compact
139
139
  @assets.file 'main.css.scss', "body {\n color: blue;\n}"
140
-
140
+
141
141
  asset = @env['main.css']
142
142
  asset.to_s.should == "body { color: blue; }\n"
143
143
  Sprockets::Sass.options.delete(:style)
144
144
  end
145
-
145
+
146
146
  it 'imports files from the Sass load path' do
147
147
  vendor = @root.directory 'vendor'
148
148
  Sprockets::Sass.options[:load_paths] = [ vendor.to_s ]
149
-
149
+
150
150
  @assets.file 'main.css.scss', %(@import "dep";\nbody { color: $color; })
151
151
  vendor.file 'dep.scss', '$color: blue;'
152
152
  asset = @env['main.css']
153
153
  asset.to_s.should == "body {\n color: blue; }\n"
154
154
  Sprockets::Sass.options.delete(:load_paths)
155
155
  end
156
-
156
+
157
157
  it 'works with the Compass framework' do
158
158
  @assets.file 'main.css.scss', %(@import "compass/css3";\nbutton { @include border-radius(5px); })
159
-
159
+
160
160
  asset = @env['main.css']
161
161
  asset.to_s.should include('border-radius: 5px;')
162
162
  end
163
-
163
+
164
164
  it 'imports globbed files' do
165
165
  @assets.file 'main.css.scss', %(@import "folder/*";\nbody { color: $color; background: $bg-color; })
166
166
  @assets.file 'folder/dep-1.css.scss', '$color: blue;'
@@ -172,14 +172,14 @@ describe Sprockets::Sass do
172
172
  it 'adds dependencies when imported' do
173
173
  @assets.file 'main.css.scss', %(@import "dep";\nbody { color: $color; })
174
174
  dep = @assets.file 'dep.css.scss', '$color: blue;'
175
-
175
+
176
176
  asset = @env['main.css']
177
177
  asset.should be_fresh(@env)
178
-
178
+
179
179
  mtime = Time.now + 1
180
180
  dep.open('w') { |f| f.write '$color: red;' }
181
181
  dep.utime mtime, mtime
182
-
182
+
183
183
  asset.should_not be_fresh(@env)
184
184
  end
185
185
 
@@ -187,14 +187,14 @@ describe Sprockets::Sass do
187
187
  @assets.file 'main.css.scss', %(@import "dep-1";\nbody { color: $color; })
188
188
  @assets.file 'dep-1.css.scss', %(@import "dep-2";\n)
189
189
  dep = @assets.file 'dep-2.css.scss', '$color: blue;'
190
-
190
+
191
191
  asset = @env['main.css']
192
192
  asset.should be_fresh(@env)
193
-
193
+
194
194
  mtime = Time.now + 1
195
195
  dep.open('w') { |f| f.write '$color: red;' }
196
196
  dep.utime mtime, mtime
197
-
197
+
198
198
  asset.should_not be_fresh(@env)
199
199
  end
200
200
 
@@ -202,48 +202,48 @@ describe Sprockets::Sass do
202
202
  @assets.file 'main.css.scss', %(@import "folder/*";\nbody { color: $color; background: $bg-color; })
203
203
  @assets.file 'folder/_dep-1.scss', '$color: blue;'
204
204
  dep = @assets.file 'folder/_dep-2.scss', '$bg-color: red;'
205
-
205
+
206
206
  asset = @env['main.css']
207
207
  asset.should be_fresh(@env)
208
-
208
+
209
209
  mtime = Time.now + 1
210
210
  dep.open('w') { |f| f.write "$bg-color: white;" }
211
211
  dep.utime mtime, mtime
212
-
212
+
213
213
  asset.should_not be_fresh(@env)
214
214
  end
215
-
215
+
216
216
  it "uses the environment's cache" do
217
217
  cache = {}
218
218
  @env.cache = cache
219
-
219
+
220
220
  @assets.file 'main.css.scss', %($color: blue;\nbody { color: $color; })
221
-
221
+
222
222
  @env['main.css'].to_s
223
223
  sass_cache = cache.keys.detect { |key| key =~ /main\.css\.scss/ }
224
224
  sass_cache.should_not be_nil
225
225
  end
226
-
226
+
227
227
  it 'adds the #asset_path helper' do
228
228
  @assets.file 'asset_path.css.scss', %(body { background: url(asset-path("image.jpg")); })
229
229
  @assets.file 'asset_url.css.scss', %(body { background: asset-url("image.jpg"); })
230
230
  @assets.file 'asset_path_options.css.scss', %(body { background: url(asset-path("image.jpg", $digest: true, $prefix: "/themes")); })
231
231
  @assets.file 'asset_url_options.css.scss', %(body { background: asset-url("image.jpg", $digest: true, $prefix: "/themes"); })
232
232
  @assets.file 'image.jpg'
233
-
233
+
234
234
  @env['asset_path.css'].to_s.should == %(body {\n background: url("/assets/image.jpg"); }\n)
235
235
  @env['asset_url.css'].to_s.should == %(body {\n background: url("/assets/image.jpg"); }\n)
236
236
  @env['asset_path_options.css'].to_s.should =~ %r(body \{\n background: url\("/themes/image-[0-9a-f]+.jpg"\); \}\n)
237
237
  @env['asset_url_options.css'].to_s.should =~ %r(body \{\n background: url\("/themes/image-[0-9a-f]+.jpg"\); \}\n)
238
238
  end
239
-
239
+
240
240
  it 'adds the #image_path helper' do
241
241
  @assets.file 'image_path.css.scss', %(body { background: url(image-path("image.jpg")); })
242
242
  @assets.file 'image_url.css.scss', %(body { background: image-url("image.jpg"); })
243
243
  @assets.file 'image_path_options.css.scss', %(body { background: url(image-path("image.jpg", $digest: true, $prefix: "/themes")); })
244
244
  @assets.file 'image_url_options.css.scss', %(body { background: image-url("image.jpg", $digest: true, $prefix: "/themes"); })
245
245
  @assets.file 'image.jpg'
246
-
246
+
247
247
  @env['image_path.css'].to_s.should == %(body {\n background: url("/assets/image.jpg"); }\n)
248
248
  @env['image_url.css'].to_s.should == %(body {\n background: url("/assets/image.jpg"); }\n)
249
249
  @env['image_path_options.css'].to_s.should =~ %r(body \{\n background: url\("/themes/image-[0-9a-f]+.jpg"\); \}\n)
@@ -256,26 +256,26 @@ describe Sprockets::Sass do
256
256
  @assets.file 'font_path_options.css.scss', %(@font-face { src: url(font-path("font.ttf", $digest: true, $prefix: "/themes")); })
257
257
  @assets.file 'font_url_options.css.scss', %(@font-face { src: font-url("font.ttf", $digest: true, $prefix: "/themes"); })
258
258
  @assets.file 'font.ttf'
259
-
259
+
260
260
  @env['font_path.css'].to_s.should == %(@font-face {\n src: url("/assets/font.ttf"); }\n)
261
261
  @env['font_url.css'].to_s.should == %(@font-face {\n src: url("/assets/font.ttf"); }\n)
262
262
  @env['font_path_options.css'].to_s.should =~ %r(@font-face \{\n src: url\("/themes/font-[0-9a-f]+.ttf"\); \}\n)
263
263
  @env['font_url_options.css'].to_s.should =~ %r(@font-face \{\n src: url\("/themes/font-[0-9a-f]+.ttf"\); \}\n)
264
264
  end
265
-
265
+
266
266
  it 'adds the #asset_data_uri helper' do
267
267
  @assets.file 'asset_data_uri.css.scss', %(body { background: asset-data-uri("image.jpg"); })
268
268
  @assets.file 'image.jpg', File.read('spec/fixtures/image.jpg')
269
-
269
+
270
270
  @env['asset_data_uri.css'].to_s.should == %(body {\n background: url(data:image/jpeg;base64,%2F9j%2F4AAQSkZJRgABAgAAZABkAAD%2F7AARRHVja3kAAQAEAAAAPAAA%2F%2B4ADkFkb2JlAGTAAAAAAf%2FbAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f%2F8AAEQgAAQABAwERAAIRAQMRAf%2FEAEoAAQAAAAAAAAAAAAAAAAAAAAgBAQAAAAAAAAAAAAAAAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAARAQAAAAAAAAAAAAAAAAAAAAD%2F2gAMAwEAAhEDEQA%2FACoD%2F9k%3D); }\n)
271
271
  end
272
-
272
+
273
273
  it "mirrors Compass's #image_url helper" do
274
274
  @assets.file 'image_path.css.scss', %(body { background: url(image-url("image.jpg", true)); })
275
275
  @assets.file 'image_url.css.scss', %(body { background: image-url("image.jpg", false); })
276
276
  @assets.file 'cache_buster.css.scss', %(body { background: image-url("image.jpg", false, true); })
277
277
  @assets.file 'image.jpg'
278
-
278
+
279
279
  @env['image_path.css'].to_s.should == %(body {\n background: url("/assets/image.jpg"); }\n)
280
280
  @env['image_url.css'].to_s.should == %(body {\n background: url("/assets/image.jpg"); }\n)
281
281
  @env['cache_buster.css'].to_s.should == %(body {\n background: url("/assets/image.jpg"); }\n)
@@ -285,20 +285,27 @@ describe Sprockets::Sass do
285
285
  @assets.file 'font_path.css.scss', %(@font-face { src: url(font-url("font.ttf", true)); })
286
286
  @assets.file 'font_url.css.scss', %(@font-face { src: font-url("font.ttf", false); })
287
287
  @assets.file 'font.ttf'
288
-
288
+
289
289
  @env['font_path.css'].to_s.should == %(@font-face {\n src: url("/assets/font.ttf"); }\n)
290
290
  @env['font_url.css'].to_s.should == %(@font-face {\n src: url("/assets/font.ttf"); }\n)
291
291
  end
292
-
292
+
293
293
  it "mirrors Sass::Rails's #asset_path helpers" do
294
294
  @assets.file 'asset_path.css.scss', %(body { background: url(asset-path("image.jpg", image)); })
295
295
  @assets.file 'asset_url.css.scss', %(body { background: asset-url("icon.jpg", image); })
296
296
  @assets.file 'image.jpg'
297
-
297
+
298
298
  @env['asset_path.css'].to_s.should == %(body {\n background: url("/assets/image.jpg"); }\n)
299
299
  @env['asset_url.css'].to_s.should == %(body {\n background: url("/images/icon.jpg"); }\n)
300
300
  end
301
301
 
302
+ it 'allows asset helpers from within Compass mixins' do
303
+ @assets.file 'bullets.css.scss', %(@import "compass";\nul { @include pretty-bullets('bullet.gif', 10px, 10px); })
304
+ @assets.file 'bullet.gif'
305
+
306
+ @env['bullets.css'].to_s.should =~ %r[background: url\("/assets/bullet\.gif"\)]
307
+ end
308
+
302
309
  it 'compresses css' do
303
310
  css = "div {\n color: red;\n}\n"
304
311
  Sprockets::Sass::Compressor.new.compress(css).should == "div{color:red}\n"
@@ -17,13 +17,13 @@ Gem::Specification.new do |s|
17
17
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
18
  s.executables = `git ls-files -- bin/*`.split('\n').map{ |f| File.basename(f) }
19
19
  s.require_paths = ['lib']
20
-
20
+
21
21
  s.add_dependency 'sprockets', '~> 2.0'
22
22
  s.add_dependency 'tilt', '~> 1.1'
23
23
  s.add_development_dependency 'appraisal', '~> 0.4'
24
24
  s.add_development_dependency 'rspec', '~> 2.6'
25
25
  s.add_development_dependency 'test-construct', '~> 1.2'
26
- s.add_development_dependency 'sprockets-helpers', '~> 0.6'
26
+ s.add_development_dependency 'sprockets-helpers', '~> 0.7'
27
27
  s.add_development_dependency 'sass', '~> 3.1'
28
28
  s.add_development_dependency 'compass', '~> 0.11'
29
29
  s.add_development_dependency 'rake'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprockets-sass
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-24 00:00:00.000000000 Z
12
+ date: 2012-09-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sprockets
16
- requirement: &70201732598340 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '2.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70201732598340
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '2.0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: tilt
27
- requirement: &70201732597840 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '1.1'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70201732597840
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '1.1'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: appraisal
38
- requirement: &70201732597360 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ~>
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0.4'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70201732597360
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.4'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: rspec
49
- requirement: &70201732596900 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ~>
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '2.6'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70201732596900
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '2.6'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: test-construct
60
- requirement: &70201732596440 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ~>
@@ -65,21 +85,31 @@ dependencies:
65
85
  version: '1.2'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *70201732596440
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '1.2'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: sprockets-helpers
71
- requirement: &70201732595980 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ~>
75
100
  - !ruby/object:Gem::Version
76
- version: '0.6'
101
+ version: '0.7'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *70201732595980
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: '0.7'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: sass
82
- requirement: &70201731818520 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ~>
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '3.1'
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *70201731818520
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '3.1'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: compass
93
- requirement: &70201731818060 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ~>
@@ -98,10 +133,15 @@ dependencies:
98
133
  version: '0.11'
99
134
  type: :development
100
135
  prerelease: false
101
- version_requirements: *70201731818060
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: '0.11'
102
142
  - !ruby/object:Gem::Dependency
103
143
  name: rake
104
- requirement: &70201731817680 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
105
145
  none: false
106
146
  requirements:
107
147
  - - ! '>='
@@ -109,7 +149,12 @@ dependencies:
109
149
  version: '0'
110
150
  type: :development
111
151
  prerelease: false
112
- version_requirements: *70201731817680
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
113
158
  description: When using Sprockets 2.0 with Sass you will eventually run into a pretty
114
159
  big issue. `//= require` directives will not allow Sass mixins, variables, etc.
115
160
  to be shared between files. So you'll try to use `@import`, and that'll also blow
@@ -127,13 +172,22 @@ files:
127
172
  - LICENSE
128
173
  - README.md
129
174
  - Rakefile
130
- - gemfiles/compass-0.11.gemfile
131
- - gemfiles/compass-0.12.gemfile
132
- - gemfiles/sprockets-2.0.gemfile
133
- - gemfiles/sprockets-2.1.gemfile
134
- - gemfiles/sprockets-2.2.gemfile
135
- - gemfiles/sprockets-2.3.gemfile
136
- - gemfiles/sprockets-2.4.gemfile
175
+ - gemfiles/compass-0.11_sass-3.1.gemfile
176
+ - gemfiles/compass-0.11_sass-3.2.gemfile
177
+ - gemfiles/sprockets-2.0_sass-3.1.gemfile
178
+ - gemfiles/sprockets-2.0_sass-3.2.gemfile
179
+ - gemfiles/sprockets-2.1_sass-3.1.gemfile
180
+ - gemfiles/sprockets-2.1_sass-3.2.gemfile
181
+ - gemfiles/sprockets-2.2_sass-3.1.gemfile
182
+ - gemfiles/sprockets-2.2_sass-3.2.gemfile
183
+ - gemfiles/sprockets-2.3_sass-3.1.gemfile
184
+ - gemfiles/sprockets-2.3_sass-3.2.gemfile
185
+ - gemfiles/sprockets-2.4_sass-3.1.gemfile
186
+ - gemfiles/sprockets-2.4_sass-3.2.gemfile
187
+ - gemfiles/sprockets-2.5_sass-3.1.gemfile
188
+ - gemfiles/sprockets-2.5_sass-3.2.gemfile
189
+ - gemfiles/sprockets-2.6_sass-3.1.gemfile
190
+ - gemfiles/sprockets-2.6_sass-3.2.gemfile
137
191
  - lib/sprockets-sass.rb
138
192
  - lib/sprockets/sass.rb
139
193
  - lib/sprockets/sass/cache_store.rb
@@ -162,7 +216,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
216
  version: '0'
163
217
  segments:
164
218
  - 0
165
- hash: 1670006435570534219
219
+ hash: -176410463
166
220
  required_rubygems_version: !ruby/object:Gem::Requirement
167
221
  none: false
168
222
  requirements:
@@ -171,10 +225,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
171
225
  version: '0'
172
226
  segments:
173
227
  - 0
174
- hash: 1670006435570534219
228
+ hash: -176410463
175
229
  requirements: []
176
230
  rubyforge_project: sprockets-sass
177
- rubygems_version: 1.8.11
231
+ rubygems_version: 1.8.23
178
232
  signing_key:
179
233
  specification_version: 3
180
234
  summary: Better Sass integration with Sprockets 2.0
@@ -1,7 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source :rubygems
4
-
5
- gem "compass", "~> 0.12.0"
6
-
7
- gemspec :path=>"../"