sass-rails 3.1.4 → 3.1.5.rc.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/README.markdown CHANGED
@@ -21,6 +21,13 @@ properties that will be passed to Sass.
21
21
  config.sass.syntax = :nested
22
22
  end
23
23
 
24
+ ## Important Note
25
+
26
+ Sprockets provides some directives that are placed inside of comments called `require`, `require_tree`, and
27
+ `require_self`. **<span style="color:#c00">DO NOT USE THEM IN YOUR SASS/SCSS FILES.</span>** They are very
28
+ primitive and do not work well with Sass files. Instead, use Sass's native `@import` directive which
29
+ `sass-rails` has customized to integrate with the conventions of your rails projects.
30
+
24
31
  ### Options
25
32
 
26
33
  The [list of supported options](http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#options) can be found on the Sass Website with the following caveats:
@@ -67,4 +74,4 @@ The [list of supported options](http://sass-lang.com/docs/yardoc/file.SASS_REFER
67
74
  $ bundle install
68
75
  $ bundle exec rake test
69
76
 
70
- If you need to test against local gems, use Bundler's gem :path option in the Gemfile and also edit `test/support/test_helper.rb` and tell the tests where the gem is checked out.
77
+ If you need to test against local gems, use Bundler's gem :path option in the Gemfile and also edit `test/support/test_helper.rb` and tell the tests where the gem is checked out.
@@ -4,11 +4,15 @@ module Sass
4
4
  module Rails
5
5
  class CssCompressor
6
6
  def compress(css)
7
- Sass::Engine.new(css,
8
- :syntax => :scss,
9
- :cache => false,
10
- :read_cache => false,
11
- :style => :compressed).render
7
+ if css.count("\n") > 2
8
+ Sass::Engine.new(css,
9
+ :syntax => :scss,
10
+ :cache => false,
11
+ :read_cache => false,
12
+ :style => :compressed).render
13
+ else
14
+ css
15
+ end
12
16
  end
13
17
  end
14
18
  end
@@ -66,7 +66,7 @@ module Sass::Rails
66
66
 
67
67
  initializer :setup_compression, :group => :all do |app|
68
68
  if app.config.assets.compress
69
- # Use sass's css_compressor
69
+ app.config.sass.style = :compressed
70
70
  app.config.assets.css_compressor = CssCompressor.new
71
71
  end
72
72
  end
@@ -1,5 +1,5 @@
1
1
  module Sass
2
2
  module Rails
3
- VERSION = "3.1.4"
3
+ VERSION = "3.1.5.rc.1"
4
4
  end
5
5
  end
data/sass-rails.gemspec CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.rubyforge_project = "sass-rails"
16
16
 
17
- s.add_runtime_dependency 'sass', '>= 3.1.4'
17
+ s.add_runtime_dependency 'sass', '~> 3.1.10'
18
18
  s.add_runtime_dependency 'railties', '~> 3.1.0'
19
19
  s.add_runtime_dependency 'actionpack', '~> 3.1.0'
20
20
  s.add_runtime_dependency 'tilt', '~> 1.3.2'
@@ -21,6 +21,7 @@
21
21
  audio-url: audio-url("rails.mp3");
22
22
  font-path: font-path("rails.ttf");
23
23
  font-url: font-url("rails.ttf");
24
+ font-url-with-query-hash: font-url("rails.ttf?#iefix");
24
25
  javascript-path: javascript-path("rails.js");
25
26
  javascript-url: javascript-url("rails.js");
26
27
  stylesheet-path: stylesheet-path("rails.css");
@@ -8,11 +8,9 @@ class SassRailsLoggerTest < Sass::Rails::TestCase
8
8
  end
9
9
  end
10
10
 
11
- [:debug, :warn, :info, :error, :trace].each do |level|
12
- test "sending a #{level} message to the sass logger writes to the environment log file" do
13
- within_rails_app "scss_project" do
14
- app_root = runcmd 'rails runner "print Rails.root"'
15
-
11
+ test "sending a log messages to the sass logger writes to the environment log file" do
12
+ within_rails_app "scss_project" do |app_root|
13
+ [:debug, :warn, :info, :error, :trace].each do |level|
16
14
  message = "[#{level}]: sass message"
17
15
  runcmd %{rails runner "Sass::logger.log_level = :#{level}; Sass::logger.log(:#{level}, %Q|#{message}|)"}
18
16
 
@@ -84,6 +84,7 @@ class SassRailsTest < Sass::Rails::TestCase
84
84
  assert_match css_output, %r{audio-url:\s*url\(/audios/rails.mp3\)}, 'audio-url:\s*url\(/audios/rails.mp3\)'
85
85
  assert_match css_output, %r{font-path:\s*"/assets/rails.ttf"}, 'font-path:\s*"/assets/rails.ttf"'
86
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{font-url-with-query-hash:\s*url\(/assets/rails.ttf\?#iefix\)}, 'font-url:\s*url\(/assets/rails.ttf?#iefix\)'
87
88
  assert_match css_output, %r{javascript-path:\s*"/assets/rails.js"}, 'javascript-path:\s*"/assets/rails.js"'
88
89
  assert_match css_output, %r{javascript-url:\s*url\(/assets/rails.js\)}, 'javascript-url:\s*url\(/assets/rails.js\)'
89
90
  assert_match css_output, %r{stylesheet-path:\s*"/assets/rails.css"}, 'stylesheet-path:\s*"/assets/rails.css"'
@@ -59,15 +59,16 @@ class Sass::Rails::TestCase < ActiveSupport::TestCase
59
59
  #
60
60
  # Automatically changes back to the working directory
61
61
  # and removes the temp directory when done.
62
- def within_rails_app(name, without_gems = [], gem_locations = $gem_locations)
62
+ def within_rails_app(name, without_gems = [], gem_options = $gem_options)
63
63
  sourcedir = File.expand_path("../../fixtures/#{name}", __FILE__)
64
64
  Dir.mktmpdir do |tmpdir|
65
65
  FileUtils.cp_r "#{sourcedir}/.", tmpdir
66
66
  Dir.chdir(tmpdir) do
67
- gem_locations.each {|name, path| modify_gem_location name, path}
67
+ gem_options.each {|name, options| modify_gem_entry name, options}
68
68
  without_gems.each {|name| remove_gem name}
69
+ FileUtils.rm("Gemfile.lock")
69
70
  runcmd "bundle install --verbose"
70
- yield
71
+ yield tmpdir
71
72
  end
72
73
  end
73
74
  end
@@ -81,23 +82,29 @@ class Sass::Rails::TestCase < ActiveSupport::TestCase
81
82
  end
82
83
  end
83
84
 
84
- def modify_gem_location(gemname, path, gemfile = "Gemfile")
85
+ def modify_gem_entry(gemname, options, gemfile = "Gemfile")
85
86
  found = false
86
87
  process_gemfile(gemfile) do |line|
87
88
  if line =~ /gem *(["'])#{Regexp.escape(gemname)}\1/
88
89
  found = true
89
- %Q{gem "#{gemname}", :path => #{path.inspect}\n}
90
+ gem_entry(gemname, options) + "\n"
90
91
  else
91
92
  line
92
93
  end
93
94
  end
94
95
  unless found
95
96
  File.open(gemfile, "a") do |f|
96
- f.print(%Q{\ngem "#{gemname}", :path => #{path.inspect}\n})
97
+ f.print("\n#{gem_entry(gemname, options)}\n")
97
98
  end
98
99
  end
99
100
  end
100
101
 
102
+ def gem_entry(gemname, options)
103
+ entry = %Q{gem "#{gemname}", "~> #{options[:version]}"}
104
+ entry += ", :path => #{options[:path].inspect}" if options[:path]
105
+ entry
106
+ end
107
+
101
108
  def remove_gem(gemname)
102
109
  process_gemfile(gemfile) do |line|
103
110
  line unless line =~ /gem *(["'])#{Regexp.escape(gemname)}\1/
data/test/test_helper.rb CHANGED
@@ -9,20 +9,19 @@ require 'mocha'
9
9
 
10
10
  Rails.backtrace_cleaner.remove_silencers!
11
11
 
12
- # Set locations of local gems in this hash.
13
- # They will be added/replaced in the generated Gemfiles
14
- # You should also set them in the local Gemfile
15
- $gem_locations = {
16
- "sass-rails" => File.expand_path("../../", __FILE__)
17
- }
18
-
19
- # Uncomment this if you need to test against a local rails checkout
20
- # $gem_locations["rails"] = "/Users/chris/Projects/rails"
21
- # Uncomment this if you need to test against a local sass checkout
22
- # $gem_locations["sass"] = "/Users/chris/Projects/sass"
23
- # Uncomment this if you need to test against a local sprockets checkout
24
- # $gem_locations["sprockets"] = "/Users/chris/Projects/sprockets"
25
12
 
13
+ # If developing against local dependencies, this code will ensure they get picked up
14
+ # in the project fixtures that have their own bundle environment
15
+ $gem_options = {}
16
+ possible_dev_dependencies = %w(sass-rails sass rails actionpack railties sprockets)
17
+ Bundler.load.specs.each do |s|
18
+ if possible_dev_dependencies.include?(s.name)
19
+ gem_path = s.full_gem_path
20
+ gem_options = {:version => s.version}
21
+ gem_options[:path] = gem_path if File.exists?("#{gem_path}/#{s.name}.gemspec")
22
+ $gem_options[s.name] = gem_options
23
+ end
24
+ end
26
25
 
27
26
  # Load support files
28
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
27
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
metadata CHANGED
@@ -1,115 +1,80 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: sass-rails
3
- version: !ruby/object:Gem::Version
4
- hash: 11
5
- prerelease: false
6
- segments:
7
- - 3
8
- - 1
9
- - 4
10
- version: 3.1.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.1.5.rc.1
5
+ prerelease: 6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - wycats
14
9
  - chriseppstein
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2011-10-01 23:00:00 -03:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
13
+ date: 2011-10-16 00:00:00.000000000Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
23
16
  name: sass
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &70206023317720 !ruby/object:Gem::Requirement
26
18
  none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 11
31
- segments:
32
- - 3
33
- - 1
34
- - 4
35
- version: 3.1.4
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: 3.1.10
36
23
  type: :runtime
37
- version_requirements: *id001
38
- - !ruby/object:Gem::Dependency
39
- name: railties
40
24
  prerelease: false
41
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *70206023317720
26
+ - !ruby/object:Gem::Dependency
27
+ name: railties
28
+ requirement: &70206023317140 !ruby/object:Gem::Requirement
42
29
  none: false
43
- requirements:
30
+ requirements:
44
31
  - - ~>
45
- - !ruby/object:Gem::Version
46
- hash: 3
47
- segments:
48
- - 3
49
- - 1
50
- - 0
32
+ - !ruby/object:Gem::Version
51
33
  version: 3.1.0
52
34
  type: :runtime
53
- version_requirements: *id002
54
- - !ruby/object:Gem::Dependency
55
- name: actionpack
56
35
  prerelease: false
57
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *70206023317140
37
+ - !ruby/object:Gem::Dependency
38
+ name: actionpack
39
+ requirement: &70206023316540 !ruby/object:Gem::Requirement
58
40
  none: false
59
- requirements:
41
+ requirements:
60
42
  - - ~>
61
- - !ruby/object:Gem::Version
62
- hash: 3
63
- segments:
64
- - 3
65
- - 1
66
- - 0
43
+ - !ruby/object:Gem::Version
67
44
  version: 3.1.0
68
45
  type: :runtime
69
- version_requirements: *id003
70
- - !ruby/object:Gem::Dependency
71
- name: tilt
72
46
  prerelease: false
73
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *70206023316540
48
+ - !ruby/object:Gem::Dependency
49
+ name: tilt
50
+ requirement: &70206023316000 !ruby/object:Gem::Requirement
74
51
  none: false
75
- requirements:
52
+ requirements:
76
53
  - - ~>
77
- - !ruby/object:Gem::Version
78
- hash: 31
79
- segments:
80
- - 1
81
- - 3
82
- - 2
54
+ - !ruby/object:Gem::Version
83
55
  version: 1.3.2
84
56
  type: :runtime
85
- version_requirements: *id004
86
- - !ruby/object:Gem::Dependency
87
- name: sprockets
88
57
  prerelease: false
89
- requirement: &id005 !ruby/object:Gem::Requirement
58
+ version_requirements: *70206023316000
59
+ - !ruby/object:Gem::Dependency
60
+ name: sprockets
61
+ requirement: &70206023315220 !ruby/object:Gem::Requirement
90
62
  none: false
91
- requirements:
63
+ requirements:
92
64
  - - ~>
93
- - !ruby/object:Gem::Version
94
- hash: 15
95
- segments:
96
- - 2
97
- - 0
98
- - 0
65
+ - !ruby/object:Gem::Version
99
66
  version: 2.0.0
100
67
  type: :runtime
101
- version_requirements: *id005
68
+ prerelease: false
69
+ version_requirements: *70206023315220
102
70
  description: Sass adapter for the Rails asset pipeline.
103
- email:
71
+ email:
104
72
  - wycats@gmail.com
105
73
  - chris@eppsteins.net
106
74
  executables: []
107
-
108
75
  extensions: []
109
-
110
76
  extra_rdoc_files: []
111
-
112
- files:
77
+ files:
113
78
  - .gitignore
114
79
  - CHANGELOG.md
115
80
  - Gemfile
@@ -280,41 +245,31 @@ files:
280
245
  - test/sass_rails_test.rb
281
246
  - test/support/sass_rails_test_case.rb
282
247
  - test/test_helper.rb
283
- has_rdoc: true
284
- homepage: ""
248
+ homepage: ''
285
249
  licenses: []
286
-
287
250
  post_install_message:
288
251
  rdoc_options: []
289
-
290
- require_paths:
252
+ require_paths:
291
253
  - lib
292
- required_ruby_version: !ruby/object:Gem::Requirement
254
+ required_ruby_version: !ruby/object:Gem::Requirement
293
255
  none: false
294
- requirements:
295
- - - ">="
296
- - !ruby/object:Gem::Version
297
- hash: 3
298
- segments:
299
- - 0
300
- version: "0"
301
- required_rubygems_version: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ! '>='
258
+ - !ruby/object:Gem::Version
259
+ version: '0'
260
+ required_rubygems_version: !ruby/object:Gem::Requirement
302
261
  none: false
303
- requirements:
304
- - - ">="
305
- - !ruby/object:Gem::Version
306
- hash: 3
307
- segments:
308
- - 0
309
- version: "0"
262
+ requirements:
263
+ - - ! '>'
264
+ - !ruby/object:Gem::Version
265
+ version: 1.3.1
310
266
  requirements: []
311
-
312
267
  rubyforge_project: sass-rails
313
- rubygems_version: 1.3.7
268
+ rubygems_version: 1.8.10
314
269
  signing_key:
315
270
  specification_version: 3
316
271
  summary: Sass adapter for the Rails asset pipeline.
317
- test_files:
272
+ test_files:
318
273
  - test/fixtures/engine_project/.gitignore
319
274
  - test/fixtures/engine_project/Gemfile
320
275
  - test/fixtures/engine_project/README.rdoc