From e9a7ad6bba6bae2cfc4d8f7622b8b8eaf48346c3 Mon Sep 17 00:00:00 2001 From: "M.Shibuya" Date: Sun, 5 May 2019 11:49:24 +0900 Subject: [PATCH] Support sass-rails 6. Fixes #3129 --- Appraisals | 2 +- gemfiles/rails_6.0.gemfile | 2 +- lib/rails_admin/bootstrap-sass.rb | 6 ++++-- lib/rails_admin/bootstrap-sass/sass_functions.rb | 4 +--- rails_admin.gemspec | 2 +- spec/dummy_app/Gemfile | 12 ++++++------ 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Appraisals b/Appraisals index c081148751..8b787b8a70 100644 --- a/Appraisals +++ b/Appraisals @@ -90,7 +90,7 @@ end appraise "rails-6.0" do gem 'rails', '~> 6.0.0.rc1' - gem 'sass-rails', '~> 5.0' + gem 'sass-rails', ['>= 6.0.0.beta3', '< 7'] gem 'devise', '~> 4.4' group :test do diff --git a/gemfiles/rails_6.0.gemfile b/gemfiles/rails_6.0.gemfile index 4ea73046e8..31827032a4 100644 --- a/gemfiles/rails_6.0.gemfile +++ b/gemfiles/rails_6.0.gemfile @@ -6,7 +6,7 @@ gem "appraisal", ">= 2.0" gem "rails", "~> 6.0.0.rc1" gem "haml" gem "devise", "~> 4.4" -gem "sass-rails", "~> 5.0" +gem "sass-rails", [">= 6.0.0.beta3", "< 7"] group :active_record do gem "paper_trail", ">= 5.0" diff --git a/lib/rails_admin/bootstrap-sass.rb b/lib/rails_admin/bootstrap-sass.rb index 77a3980463..cbde68e2fd 100755 --- a/lib/rails_admin/bootstrap-sass.rb +++ b/lib/rails_admin/bootstrap-sass.rb @@ -17,8 +17,10 @@ def self.load! raise(Bootstrap::FrameworkNotFound.new('bootstrap-sass requires either Rails > 3.1 or Compass, neither of which are loaded')) end - stylesheets = File.expand_path(File.join('..', 'vendor', 'assets', 'stylesheets')) - ::Sass.load_paths << stylesheets + if defined?(::Sass) && ::Sass.respond_to?(:load_paths) + stylesheets = File.expand_path(File.join('..', 'vendor', 'assets', 'stylesheets')) + ::Sass.load_paths << stylesheets + end end def self.asset_pipeline? diff --git a/lib/rails_admin/bootstrap-sass/sass_functions.rb b/lib/rails_admin/bootstrap-sass/sass_functions.rb index 2675ddd917..146bc32666 100755 --- a/lib/rails_admin/bootstrap-sass/sass_functions.rb +++ b/lib/rails_admin/bootstrap-sass/sass_functions.rb @@ -1,5 +1,3 @@ -require 'sass' - module Sass module Script module Functions @@ -12,7 +10,7 @@ def ie_hex_str(color) alphastr = alpha.to_s(16).rjust(2, '0') Sass::Script::String.new("##{alphastr}#{color.send(:hex_str)[1..-1]}".upcase) end - declare :ie_hex_str, [:color] + declare :ie_hex_str, [:color] if respond_to?(:declare) end end end diff --git a/rails_admin.gemspec b/rails_admin.gemspec index d80f7a5576..e8fc1091b3 100644 --- a/rails_admin.gemspec +++ b/rails_admin.gemspec @@ -16,7 +16,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'rack-pjax', '>= 0.7' spec.add_dependency 'rails', ['>= 5.0', '< 7'] spec.add_dependency 'remotipart', '~> 1.3' - spec.add_dependency 'sass-rails', ['>= 4.0', '< 6'] + spec.add_dependency 'sass-rails', ['>= 4.0', '< 7'] spec.add_dependency 'activemodel-serializers-xml', '>= 1.0' spec.add_development_dependency 'bundler', '>= 1.0' spec.authors = ['Erik Michaels-Ober', 'Bogdan Gaza', 'Petteri Kaapa', 'Benoit Benezech', 'Mitsuhiro Shibuya'] diff --git a/spec/dummy_app/Gemfile b/spec/dummy_app/Gemfile index 4ee305557b..c6c8affab8 100644 --- a/spec/dummy_app/Gemfile +++ b/spec/dummy_app/Gemfile @@ -1,6 +1,6 @@ source 'https://rubygems.org' -gem 'rails', '~> 5.0' +gem 'rails', '>= 6.0.0.beta' gem 'rack-cache', require: 'rack/cache' group :active_record do @@ -14,12 +14,12 @@ group :active_record do end platforms :ruby, :mswin, :mingw do - gem 'mysql2', '~> 0.3.14' + gem 'mysql2', '>= 0.3.14' gem 'pg', '>= 0.14' - gem 'sqlite3', '~> 1.3.0' + gem 'sqlite3', '>= 1.3.0' end - gem 'paper_trail', '~> 5.0' + gem 'paper_trail', '>= 5.0' end group :mongoid do @@ -37,7 +37,7 @@ gem 'mlb', '>= 0.7' gem 'paperclip', '>= 3.4' gem 'rails_admin', path: '../../' -platforms :ruby_21, :ruby_22 do +platforms :mri do # gem 'refile', '>= 0.5', require: 'refile/rails' # gem 'refile-mini_magick', '>= 0.1.0' end @@ -45,7 +45,7 @@ end # Gems used only for assets and not required # in production environments by default. group :assets do - gem 'sass-rails', '>= 4.0.3' + gem 'sass-rails', '>= 6.0.0.beta' gem 'coffee-rails', '~> 4.0' # See https://github.com/sstephenson/execjs#readme for more supported runtimes