sprockets-sass 1.2.0 → 1.3.0
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/.gitignore +4 -0
- data/lib/sprockets/sass/sass_template.rb +10 -1
- data/lib/sprockets/sass/version.rb +1 -1
- data/spec/custom_importer_spec.rb +32 -0
- data/spec/sprockets-sass_spec.rb +2 -2
- data/spec/support/dummy_importer.rb +25 -0
- metadata +8 -4
data/.gitignore
CHANGED
@@ -73,12 +73,21 @@ module Sprockets
|
|
73
73
|
|
74
74
|
# Assemble the options for the `Sass::Engine`
|
75
75
|
def sass_options
|
76
|
+
# Allow the use of custom SASS importers, making sure the
|
77
|
+
# custom importer is a `Sprockets::Sass::Importer`
|
78
|
+
if default_sass_options.has_key?(:importer) &&
|
79
|
+
default_sass_options[:importer].is_a?(Importer)
|
80
|
+
importer = default_sass_options[:importer]
|
81
|
+
else
|
82
|
+
importer = Importer.new
|
83
|
+
end
|
84
|
+
|
76
85
|
merge_sass_options(default_sass_options, options).merge(
|
77
86
|
:filename => eval_file,
|
78
87
|
:line => line,
|
79
88
|
:syntax => syntax,
|
80
89
|
:cache_store => cache_store,
|
81
|
-
:importer =>
|
90
|
+
:importer => importer,
|
82
91
|
:custom => { :sprockets_context => context }
|
83
92
|
)
|
84
93
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Sprockets::Sass::SassTemplate do
|
4
|
+
|
5
|
+
before :each do
|
6
|
+
# Create the custom importer.
|
7
|
+
@custom_importer = Sprockets::Sass::DummyImporter.new
|
8
|
+
Sprockets::Sass.options[:importer] = @custom_importer
|
9
|
+
|
10
|
+
# Initialize the environment.
|
11
|
+
@root = create_construct
|
12
|
+
@assets = @root.directory 'assets'
|
13
|
+
@env = Sprockets::Environment.new @root.to_s
|
14
|
+
@env.append_path @assets.to_s
|
15
|
+
@env.register_postprocessor 'text/css', :fail_postprocessor do |_, data|
|
16
|
+
data.gsub /@import/, 'fail engine'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
after :each do
|
21
|
+
@root.destroy!
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'allow specifying custom sass importer' do
|
25
|
+
@assets.file 'main.css.scss', %(@import "dep";)
|
26
|
+
@assets.file 'dep.css.scss', "$color: blue;\nbody { color: $color; }"
|
27
|
+
@env['main.css']
|
28
|
+
|
29
|
+
expect(@custom_importer.has_been_used).to be_truthy
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
data/spec/sprockets-sass_spec.rb
CHANGED
@@ -372,7 +372,7 @@ describe Sprockets::Sass do
|
|
372
372
|
template.should_receive(:require).with('sprockets/helpers').and_raise LoadError
|
373
373
|
template.should_not_receive(:require).with 'sprockets/sass/functions'
|
374
374
|
template.initialize_engine
|
375
|
-
expect(Sprockets::Sass::SassTemplate.engine_initialized?).to
|
375
|
+
expect(Sprockets::Sass::SassTemplate.engine_initialized?).to be_truthy
|
376
376
|
end
|
377
377
|
|
378
378
|
it 'does not add Sass functions if add_sass_functions is false' do
|
@@ -380,7 +380,7 @@ describe Sprockets::Sass do
|
|
380
380
|
template = Sprockets::Sass::SassTemplate.new {}
|
381
381
|
template.should_not_receive(:require).with 'sprockets/sass/functions'
|
382
382
|
template.initialize_engine
|
383
|
-
expect(Sprockets::Sass::SassTemplate.engine_initialized?).to
|
383
|
+
expect(Sprockets::Sass::SassTemplate.engine_initialized?).to be_truthy
|
384
384
|
Sprockets::Sass.add_sass_functions = true
|
385
385
|
end
|
386
386
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Sprockets
|
2
|
+
module Sass
|
3
|
+
|
4
|
+
class DummyImporter < Importer
|
5
|
+
attr_accessor :has_been_used
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
super()
|
9
|
+
@has_been_used = false
|
10
|
+
end
|
11
|
+
|
12
|
+
def find(path, options)
|
13
|
+
@has_been_used = true
|
14
|
+
super(path, options)
|
15
|
+
end
|
16
|
+
|
17
|
+
def find_relative(uri, base, options, *args)
|
18
|
+
@has_been_used = true
|
19
|
+
super(uri, base, options, *args)
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
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: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-11-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sprockets
|
@@ -213,10 +213,12 @@ files:
|
|
213
213
|
- lib/sprockets/sass/sass_template.rb
|
214
214
|
- lib/sprockets/sass/scss_template.rb
|
215
215
|
- lib/sprockets/sass/version.rb
|
216
|
+
- spec/custom_importer_spec.rb
|
216
217
|
- spec/fixtures/image.jpg
|
217
218
|
- spec/spec_helper.rb
|
218
219
|
- spec/sprockets-sass_spec.rb
|
219
220
|
- spec/support/be_fresh_matcher.rb
|
221
|
+
- spec/support/dummy_importer.rb
|
220
222
|
- sprockets-sass.gemspec
|
221
223
|
homepage: http://github.com/petebrowne/sprockets-sass
|
222
224
|
licenses: []
|
@@ -232,7 +234,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
232
234
|
version: '0'
|
233
235
|
segments:
|
234
236
|
- 0
|
235
|
-
hash:
|
237
|
+
hash: 3139794298757869131
|
236
238
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
237
239
|
none: false
|
238
240
|
requirements:
|
@@ -241,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
241
243
|
version: '0'
|
242
244
|
segments:
|
243
245
|
- 0
|
244
|
-
hash:
|
246
|
+
hash: 3139794298757869131
|
245
247
|
requirements: []
|
246
248
|
rubyforge_project: sprockets-sass
|
247
249
|
rubygems_version: 1.8.23
|
@@ -249,7 +251,9 @@ signing_key:
|
|
249
251
|
specification_version: 3
|
250
252
|
summary: Better Sass integration with Sprockets 2.0
|
251
253
|
test_files:
|
254
|
+
- spec/custom_importer_spec.rb
|
252
255
|
- spec/fixtures/image.jpg
|
253
256
|
- spec/spec_helper.rb
|
254
257
|
- spec/sprockets-sass_spec.rb
|
255
258
|
- spec/support/be_fresh_matcher.rb
|
259
|
+
- spec/support/dummy_importer.rb
|