Skip to content

Commit 1e4b7e2

Browse files
committed
Merge pull request #289 from rails/test-sass-versions
Improve Sass version coverage
2 parents df3dadf + 613f3b6 commit 1e4b7e2

File tree

7 files changed

+45
-32
lines changed

7 files changed

+45
-32
lines changed

.travis.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ gemfile:
1414
- test/gemfiles/Gemfile-sprockets-2-12
1515
- test/gemfiles/Gemfile-sprockets-2-8
1616
- test/gemfiles/Gemfile-sprockets-3-0
17+
- test/gemfiles/Gemfile-sass-3-1
18+
- test/gemfiles/Gemfile-sass-3-2
19+
- test/gemfiles/Gemfile-sass-3-3
20+
- test/gemfiles/Gemfile-sass-3-4
1721
- Gemfile
1822

1923
sudo: false

lib/sass/rails/importer.rb

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -72,44 +72,25 @@ def erb_extensions
7272
}
7373
end
7474

75-
def find_relative(name, base, options)
76-
filename, syntax = find_filename(File.dirname(base), name, options)
77-
78-
if syntax = erb_extensions[syntax]
79-
erb_engine(filename, syntax, options)
80-
else
81-
super
82-
end
75+
def find_relative(*args)
76+
process_erb_engine(super)
8377
end
8478

85-
def find(name, options)
86-
filename, syntax = find_filename(root, name, options)
87-
88-
if syntax = erb_extensions[syntax]
89-
erb_engine(filename, syntax, options)
90-
else
91-
super
92-
end
79+
def find(*args)
80+
process_erb_engine(super)
9381
end
9482

9583
private
96-
def find_filename(dir, name, options)
97-
full_filename, syntax = Sass::Util.destructure(find_real_file(dir, name, options))
98-
if full_filename && File.readable?(full_filename)
99-
return full_filename, syntax
84+
def process_erb_engine(engine)
85+
if engine && syntax = erb_extensions[engine.options[:syntax]]
86+
template = Tilt::ERBTemplate.new(engine.options[:filename])
87+
contents = template.render(context, {})
88+
89+
Sass::Engine.new(contents, engine.options.merge(:syntax => syntax))
90+
else
91+
engine
10092
end
10193
end
102-
103-
def erb_engine(filename, syntax, options)
104-
options[:syntax] = syntax
105-
options[:filename] = filename
106-
options[:importer] = self
107-
108-
template = Tilt::ERBTemplate.new(filename) { File.read(filename) }
109-
contents = template.render(context, {})
110-
111-
Sass::Engine.new(contents, options)
112-
end
11394
end
11495

11596
include ERB

sass-rails.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
1414
s.license = %q{MIT}
1515

1616
s.add_dependency 'railties', '>= 4.0.0', '< 5.0'
17-
s.add_dependency 'sass', '~> 3.2', '>= 3.2.2'
17+
s.add_dependency 'sass', '~> 3.1'
1818
s.add_dependency 'sprockets-rails', '>= 2.0', '< 4.0'
1919
s.add_dependency 'sprockets', '>= 2.8', '< 4.0'
2020
s.add_dependency 'tilt', '~> 1.1'

test/gemfiles/Gemfile-sass-3-1

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
source "https://rubygems.org"
2+
3+
# Specify your gem"s dependencies in sass-rails.gemspec
4+
gemspec path: "../.."
5+
6+
gem "rails"
7+
gem "sass", "~> 3.1.0"

test/gemfiles/Gemfile-sass-3-2

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
source "https://rubygems.org"
2+
3+
# Specify your gem"s dependencies in sass-rails.gemspec
4+
gemspec path: "../.."
5+
6+
gem "rails"
7+
gem "sass", "~> 3.2.0"

test/gemfiles/Gemfile-sass-3-3

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
source "https://rubygems.org"
2+
3+
# Specify your gem"s dependencies in sass-rails.gemspec
4+
gemspec path: "../.."
5+
6+
gem "rails"
7+
gem "sass", "~> 3.3.0"

test/gemfiles/Gemfile-sass-3-4

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
source "https://rubygems.org"
2+
3+
# Specify your gem"s dependencies in sass-rails.gemspec
4+
gemspec path: "../.."
5+
6+
gem "rails"
7+
gem "sass", "~> 3.4.0"

0 commit comments

Comments
 (0)