diff --git a/Gemfile b/Gemfile index 7b9a526..673bb11 100644 --- a/Gemfile +++ b/Gemfile @@ -6,8 +6,8 @@ group :development, :test do gem 'actionpack' gem 'byebug', platform: [:ruby], require: false gem 'rubocop', require: false - gem 'rspec-rails', '~> 3.6' - gem 'capybara', '~> 2.16' + gem 'rspec-rails', '~> 3.8' + gem 'capybara', '~> 3.14' gem 'pry-rails' end diff --git a/critical-path-css-rails.gemspec b/critical-path-css-rails.gemspec index b66cabe..41196ce 100644 --- a/critical-path-css-rails.gemspec +++ b/critical-path-css-rails.gemspec @@ -14,7 +14,7 @@ Gem::Specification.new do |gem| gem.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) } gem.require_path = 'lib' - gem.add_development_dependency 'combustion', '~> 0.7.0' + gem.add_development_dependency 'combustion', '~> 1.1.0' gem.extensions = ['ext/npm/extconf.rb'] end diff --git a/lib/critical_path_css/rails/config_loader.rb b/lib/critical_path_css/rails/config_loader.rb index 27f1d8a..079f263 100644 --- a/lib/critical_path_css/rails/config_loader.rb +++ b/lib/critical_path_css/rails/config_loader.rb @@ -22,9 +22,12 @@ def format_css_paths if config['css_path'] config['css_path'] = format_path(config['css_path']) config['css_paths'] = [] - else + elsif config['css_paths'] config['css_path'] = '' config['css_paths'] = config['css_paths'].collect { |path| format_path(path) } + else + config['css_path'] = ActionController::Base.helpers.stylesheet_path(config['manifest_name'], host: '') + config['css_paths'] = [] end end diff --git a/lib/critical_path_css/rails/version.rb b/lib/critical_path_css/rails/version.rb index 327827e..d1298d6 100644 --- a/lib/critical_path_css/rails/version.rb +++ b/lib/critical_path_css/rails/version.rb @@ -1,5 +1,5 @@ module CriticalPathCSS module Rails - VERSION = '3.0.0'.freeze + VERSION = '3.0.1'.freeze end end diff --git a/spec/lib/critical_path_css/rails/config_loader_spec.rb b/spec/lib/critical_path_css/rails/config_loader_spec.rb index d6fbfae..d5c954c 100644 --- a/spec/lib/critical_path_css/rails/config_loader_spec.rb +++ b/spec/lib/critical_path_css/rails/config_loader_spec.rb @@ -63,6 +63,32 @@ end end + context 'when no paths are specified' do + let(:config_file) { + <<~CONFIG + defaults: &defaults + base_url: http://0.0.0.0:9292 + manifest_name: application + routes: + - / + + development: + <<: *defaults + + test: + <<: *defaults + CONFIG + } + + it 'sets css_path with the path' do + expect(subject.config['css_path']).to eq '/stylesheets/application.css' + end + + it 'leaves css_paths empty' do + expect(subject.config['css_paths']).to eq [] + end + end + context 'when single css_path and multiple css_paths are both specified' do let(:config_file) { <<~CONFIG diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 6146035..8743788 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -10,6 +10,8 @@ require 'capybara/rails' RSpec.configure do |config| + config.include Capybara::DSL + config.use_transactional_fixtures = true # Enable flags like --only-failures and --next-failure