diff --git a/.travis.yml b/.travis.yml index 612fade..3882be4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,10 @@ bundler_args: "--binstubs --standalone --without documentation --path ../bundle" script: "bundle exec rake test" +before_install: + - rvm @global do gem uninstall bundler -x + - gem install bundler --version '< 2' + gemfile: - gemfiles/sprockets-rails_3_0.gemfile - gemfiles/sprockets-rails_2_3.gemfile @@ -11,11 +15,23 @@ gemfile: - gemfiles/sprockets_4_0.gemfile - gemfiles/rails_4_2.gemfile - gemfiles/rails_5_2.gemfile + - gemfiles/rails_6_0.gemfile rvm: - - 2.4.4 - - 2.5.1 + - 2.4.6 + - 2.5.5 + - 2.6.3 - jruby +matrix: + allow_failures: + - gemfile: gemfiles/rails_4_2.gemfile + rvm: jruby + - gemfile: gemfiles/rails_6_0.gemfile + rvm: jruby + exclude: + - gemfile: gemfiles/rails_6_0.gemfile + rvm: 2.4.6 + notifications: email: false diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index dfc4c84..c4164af 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -7,4 +7,4 @@ fair place to play. [The full community guidelines can be found on the Sass website.][link] -[link]: http://sass-lang.com/community-guidelines +[link]: https://sass-lang.com/community-guidelines diff --git a/README.md b/README.md index d12dd29..d5c8b59 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,10 @@ is maintained by [Ryan Boland](https://ryanboland.com) and [awesome contributors ## Changelog +- **2.1.2** + - [Correct reference to SassC::Script::Value::String](https://github.com/sass/sassc-rails/pull/129) +- **2.1.1** + - [Fix Scaffolding](https://github.com/sass/sassc-rails/pull/119) - **2.1.0** - [JRuby support](https://github.com/sass/sassc-rails/pull/113) - [SCSS / SASS scaffolding](https://github.com/sass/sassc-rails/pull/112) diff --git a/gemfiles/rails_6_0.gemfile b/gemfiles/rails_6_0.gemfile new file mode 100644 index 0000000..8f7e3da --- /dev/null +++ b/gemfiles/rails_6_0.gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' + +gem "rails", "~> 6.0.a" + +# Specify your gem's dependencies in sassc-rails.gemspec +gemspec path: "../" diff --git a/gemfiles/sprockets-rails_3_0.gemfile b/gemfiles/sprockets-rails_3_0.gemfile index 2218647..3426de8 100644 --- a/gemfiles/sprockets-rails_3_0.gemfile +++ b/gemfiles/sprockets-rails_3_0.gemfile @@ -1,6 +1,6 @@ source 'https://rubygems.org' -gem "sprockets-rails", "~> 3.0.0" +gem "sprockets-rails", "~> 3.2" # Specify your gem's dependencies in sassc-rails.gemspec gemspec path: "../" diff --git a/gemfiles/sprockets_3_0.gemfile b/gemfiles/sprockets_3_0.gemfile index 54ae795..98bf2fd 100644 --- a/gemfiles/sprockets_3_0.gemfile +++ b/gemfiles/sprockets_3_0.gemfile @@ -1,6 +1,6 @@ source 'https://rubygems.org' -gem "sprockets", "~> 3.0.3" +gem "sprockets", "~> 3.7" # Specify your gem's dependencies in sassc-rails.gemspec gemspec path: "../" diff --git a/lib/rails/generators/sass/assets/templates/stylesheet.sass b/lib/rails/generators/sass/assets/templates/stylesheet.sass index 25a5df9..4c7ead2 100644 --- a/lib/rails/generators/sass/assets/templates/stylesheet.sass +++ b/lib/rails/generators/sass/assets/templates/stylesheet.sass @@ -1,3 +1,3 @@ // Place all the styles related to the <%= name %> controller here. // They will automatically be included in application.css. -// You can use Sass here: http://sass-lang.com/ +// You can use Sass here: https://sass-lang.com/ diff --git a/lib/rails/generators/sass_scaffold.rb b/lib/rails/generators/sass_scaffold.rb index 968247b..bdfd435 100644 --- a/lib/rails/generators/sass_scaffold.rb +++ b/lib/rails/generators/sass_scaffold.rb @@ -1,4 +1,4 @@ -require "sass/css" +require "sassc/engine" require "rails/generators/named_base" module Sass @@ -7,7 +7,7 @@ class ScaffoldBase < ::Rails::Generators::NamedBase def copy_stylesheet dir = ::Rails::Generators::ScaffoldGenerator.source_root file = File.join(dir, "scaffold.css") - converted_contents = ::Sass::CSS.new(File.read(file)).render(syntax) + converted_contents = ::SassC::Engine.new(File.read(file)).render create_file "app/assets/stylesheets/scaffolds.#{syntax}", converted_contents end end diff --git a/lib/rails/generators/scss/assets/templates/stylesheet.scss b/lib/rails/generators/scss/assets/templates/stylesheet.scss index 2e92369..84d2cf7 100644 --- a/lib/rails/generators/scss/assets/templates/stylesheet.scss +++ b/lib/rails/generators/scss/assets/templates/stylesheet.scss @@ -1,3 +1,3 @@ // Place all the styles related to the <%= name %> controller here. // They will automatically be included in application.css. -// You can use Sass (SCSS) here: http://sass-lang.com/ +// You can use Sass (SCSS) here: https://sass-lang.com/ diff --git a/lib/sassc/rails/functions.rb b/lib/sassc/rails/functions.rb index e621d4c..fbb84dc 100644 --- a/lib/sassc/rails/functions.rb +++ b/lib/sassc/rails/functions.rb @@ -5,7 +5,7 @@ module Sprockets module SassFunctions def asset_data_url(path) - SassC::Script::String.new("url(" + sprockets_context.asset_data_uri(path.value) + ")") + ::SassC::Script::Value::String.new("url(" + sprockets_context.asset_data_uri(path.value) + ")") end end end diff --git a/lib/sassc/rails/importer.rb b/lib/sassc/rails/importer.rb index 32ff05a..a7a8844 100644 --- a/lib/sassc/rails/importer.rb +++ b/lib/sassc/rails/importer.rb @@ -75,13 +75,13 @@ def import_for(full_path, parent_dir, options) EXTENSIONS = [ CssScssExtension.new, CssSassExtension.new, - Extension.new(".scss"), - Extension.new(".sass"), - CSSExtension.new, + SassERBExtension.new, ERBExtension.new(".scss.erb"), ERBExtension.new(".css.erb"), - SassERBExtension.new - ] + Extension.new(".scss"), + Extension.new(".sass"), + CSSExtension.new + ].freeze PREFIXS = [ "", "_" ] GLOB = /(\A|\/)(\*|\*\*\/\*)\z/ diff --git a/lib/sassc/rails/version.rb b/lib/sassc/rails/version.rb index ada3a39..e280906 100644 --- a/lib/sassc/rails/version.rb +++ b/lib/sassc/rails/version.rb @@ -2,6 +2,6 @@ module SassC module Rails - VERSION = "2.1.0" + VERSION = "2.1.2" end end diff --git a/sassc-rails.gemspec b/sassc-rails.gemspec index 68ffc39..38349f7 100644 --- a/sassc-rails.gemspec +++ b/sassc-rails.gemspec @@ -19,7 +19,7 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.add_development_dependency 'pry' - spec.add_development_dependency "bundler", "~> 1.7" + spec.add_development_dependency "bundler" spec.add_development_dependency "rake", "~> 10.0" spec.add_development_dependency 'mocha' diff --git a/test/dummy/app/assets/stylesheets/glob_multiple_extensions_test.scss b/test/dummy/app/assets/stylesheets/glob_multiple_extensions_test.scss new file mode 100644 index 0000000..b797a98 --- /dev/null +++ b/test/dummy/app/assets/stylesheets/glob_multiple_extensions_test.scss @@ -0,0 +1 @@ +@import "globbed_multiple_extensions/**/*"; diff --git a/test/dummy/app/assets/stylesheets/globbed_multiple_extensions/glob.scss.erb b/test/dummy/app/assets/stylesheets/globbed_multiple_extensions/glob.scss.erb new file mode 100644 index 0000000..5f0aa6d --- /dev/null +++ b/test/dummy/app/assets/stylesheets/globbed_multiple_extensions/glob.scss.erb @@ -0,0 +1,3 @@ +.glob { + margin: <%= 0 %>; +} diff --git a/test/sassc_rails_test.rb b/test/sassc_rails_test.rb index a92e514..b2e7a84 100644 --- a/test/sassc_rails_test.rb +++ b/test/sassc_rails_test.rb @@ -273,6 +273,16 @@ def test_allows_for_inclusion_of_inline_source_maps # assert_match /\.import-css-application/, css_output #end + def test_globbed_imports_work_with_multiple_extensions + initialize! + + asset = render_asset("glob_multiple_extensions_test.css") + + assert_equal <<-CSS, asset +.glob{margin:0} + CSS + end + def test_globbed_imports_work_when_globbed_file_is_changed skip "This seems to work in practice, possible test setup problem"