sass-rails 4.0.5 → 5.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +19 -16
- data/lib/rails/generators/sass/assets/assets_generator.rb +1 -1
- data/lib/rails/generators/sass_scaffold.rb +1 -2
- data/lib/rails/generators/scss/assets/assets_generator.rb +1 -1
- data/lib/sass/rails/cache_store.rb +31 -0
- data/lib/sass/rails/helpers.rb +4 -21
- data/lib/sass/rails/importer.rb +123 -86
- data/lib/sass/rails/logger.rb +1 -0
- data/lib/sass/rails/railtie.rb +34 -11
- data/lib/sass/rails/template.rb +67 -23
- data/lib/sass/rails/version.rb +1 -1
- metadata +33 -250
- data/.gitignore +0 -6
- data/.travis.yml +0 -25
- data/CHANGELOG.md +0 -57
- data/Gemfile +0 -4
- data/Rakefile +0 -28
- data/sass-rails.gemspec +0 -29
- data/sass-rails.gemspec.erb +0 -29
- data/test/fixtures/alternate_config_project/.gitignore +0 -5
- data/test/fixtures/alternate_config_project/Gemfile +0 -7
- data/test/fixtures/alternate_config_project/README +0 -261
- data/test/fixtures/alternate_config_project/Rakefile +0 -7
- data/test/fixtures/alternate_config_project/app/assets/images/1x1.png +0 -0
- data/test/fixtures/alternate_config_project/app/assets/images/rails.png +0 -0
- data/test/fixtures/alternate_config_project/app/assets/javascripts/application.js +0 -9
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/_top_level_partial.css.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/application.css.scss +0 -32
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/css_application.css +0 -7
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/globbed.css.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_sass_import.css.sass +0 -5
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_scss_import.css.scss +0 -9
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_without_css_ext.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass +0 -2
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/another_plain.css +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/plain.css +0 -3
- data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/second_level.css.scss +0 -1
- data/test/fixtures/alternate_config_project/app/controllers/application_controller.rb +0 -3
- data/test/fixtures/alternate_config_project/app/helpers/application_helper.rb +0 -2
- data/test/fixtures/alternate_config_project/app/mailers/.gitkeep +0 -0
- data/test/fixtures/alternate_config_project/app/models/.gitkeep +0 -0
- data/test/fixtures/alternate_config_project/app/views/layouts/application.html.erb +0 -14
- data/test/fixtures/alternate_config_project/config/application.rb +0 -49
- data/test/fixtures/alternate_config_project/config/boot.rb +0 -6
- data/test/fixtures/alternate_config_project/config/database.yml +0 -25
- data/test/fixtures/alternate_config_project/config/environment.rb +0 -5
- data/test/fixtures/alternate_config_project/config/environments/development.rb +0 -27
- data/test/fixtures/alternate_config_project/config/environments/production.rb +0 -56
- data/test/fixtures/alternate_config_project/config/environments/test.rb +0 -38
- data/test/fixtures/alternate_config_project/config/initializers/backtrace_silencers.rb +0 -7
- data/test/fixtures/alternate_config_project/config/initializers/inflections.rb +0 -10
- data/test/fixtures/alternate_config_project/config/initializers/mime_types.rb +0 -5
- data/test/fixtures/alternate_config_project/config/initializers/secret_token.rb +0 -7
- data/test/fixtures/alternate_config_project/config/initializers/session_store.rb +0 -8
- data/test/fixtures/alternate_config_project/config/initializers/wrap_parameters.rb +0 -12
- data/test/fixtures/alternate_config_project/config/locales/en.yml +0 -5
- data/test/fixtures/alternate_config_project/config/routes.rb +0 -58
- data/test/fixtures/alternate_config_project/config.ru +0 -4
- data/test/fixtures/alternate_config_project/db/seeds.rb +0 -7
- data/test/fixtures/alternate_config_project/doc/README_FOR_APP +0 -2
- data/test/fixtures/alternate_config_project/lib/tasks/.gitkeep +0 -0
- data/test/fixtures/alternate_config_project/log/.gitkeep +0 -0
- data/test/fixtures/alternate_config_project/public/404.html +0 -26
- data/test/fixtures/alternate_config_project/public/422.html +0 -26
- data/test/fixtures/alternate_config_project/public/500.html +0 -26
- data/test/fixtures/alternate_config_project/public/favicon.ico +0 -0
- data/test/fixtures/alternate_config_project/public/index.html +0 -241
- data/test/fixtures/alternate_config_project/public/robots.txt +0 -5
- data/test/fixtures/alternate_config_project/script/rails +0 -6
- data/test/fixtures/alternate_config_project/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test/fixtures/alternate_config_project/vendor/plugins/.gitkeep +0 -0
- data/test/fixtures/engine_project/.gitignore +0 -8
- data/test/fixtures/engine_project/Gemfile +0 -14
- data/test/fixtures/engine_project/MIT-LICENSE +0 -20
- data/test/fixtures/engine_project/README.rdoc +0 -3
- data/test/fixtures/engine_project/Rakefile +0 -34
- data/test/fixtures/engine_project/app/assets/images/engine_project/.keep +0 -0
- data/test/fixtures/engine_project/app/assets/javascripts/engine_project/application.js +0 -16
- data/test/fixtures/engine_project/app/assets/stylesheets/engine_project/application.css +0 -13
- data/test/fixtures/engine_project/app/controllers/engine_project/application_controller.rb +0 -4
- data/test/fixtures/engine_project/app/helpers/engine_project/application_helper.rb +0 -4
- data/test/fixtures/engine_project/app/views/layouts/engine_project/application.html.erb +0 -14
- data/test/fixtures/engine_project/config/routes.rb +0 -2
- data/test/fixtures/engine_project/engine_project.gemspec +0 -23
- data/test/fixtures/engine_project/lib/engine_project/engine.rb +0 -5
- data/test/fixtures/engine_project/lib/engine_project/version.rb +0 -3
- data/test/fixtures/engine_project/lib/engine_project.rb +0 -4
- data/test/fixtures/engine_project/lib/tasks/engine_project_tasks.rake +0 -4
- data/test/fixtures/engine_project/script/rails +0 -8
- data/test/fixtures/engine_project/test/dummy/README.rdoc +0 -28
- data/test/fixtures/engine_project/test/dummy/Rakefile +0 -6
- data/test/fixtures/engine_project/test/dummy/app/assets/javascripts/application.js +0 -16
- data/test/fixtures/engine_project/test/dummy/app/assets/stylesheets/application.css +0 -13
- data/test/fixtures/engine_project/test/dummy/app/controllers/application_controller.rb +0 -5
- data/test/fixtures/engine_project/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/fixtures/engine_project/test/dummy/app/mailers/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/app/models/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/app/models/concerns/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/fixtures/engine_project/test/dummy/bin/bundle +0 -3
- data/test/fixtures/engine_project/test/dummy/bin/rails +0 -4
- data/test/fixtures/engine_project/test/dummy/bin/rake +0 -4
- data/test/fixtures/engine_project/test/dummy/config/application.rb +0 -23
- data/test/fixtures/engine_project/test/dummy/config/boot.rb +0 -9
- data/test/fixtures/engine_project/test/dummy/config/database.yml +0 -25
- data/test/fixtures/engine_project/test/dummy/config/environment.rb +0 -5
- data/test/fixtures/engine_project/test/dummy/config/environments/development.rb +0 -27
- data/test/fixtures/engine_project/test/dummy/config/environments/production.rb +0 -80
- data/test/fixtures/engine_project/test/dummy/config/environments/test.rb +0 -36
- data/test/fixtures/engine_project/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/fixtures/engine_project/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/test/fixtures/engine_project/test/dummy/config/initializers/inflections.rb +0 -16
- data/test/fixtures/engine_project/test/dummy/config/initializers/mime_types.rb +0 -5
- data/test/fixtures/engine_project/test/dummy/config/initializers/secret_token.rb +0 -12
- data/test/fixtures/engine_project/test/dummy/config/initializers/session_store.rb +0 -3
- data/test/fixtures/engine_project/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/fixtures/engine_project/test/dummy/config/locales/en.yml +0 -23
- data/test/fixtures/engine_project/test/dummy/config/routes.rb +0 -4
- data/test/fixtures/engine_project/test/dummy/config.ru +0 -4
- data/test/fixtures/engine_project/test/dummy/lib/assets/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/log/.keep +0 -0
- data/test/fixtures/engine_project/test/dummy/public/404.html +0 -27
- data/test/fixtures/engine_project/test/dummy/public/422.html +0 -26
- data/test/fixtures/engine_project/test/dummy/public/500.html +0 -26
- data/test/fixtures/engine_project/test/dummy/public/favicon.ico +0 -0
- data/test/fixtures/sass_project/.gitignore +0 -5
- data/test/fixtures/sass_project/Gemfile +0 -7
- data/test/fixtures/sass_project/README +0 -261
- data/test/fixtures/sass_project/Rakefile +0 -7
- data/test/fixtures/sass_project/app/assets/images/rails.png +0 -0
- data/test/fixtures/sass_project/app/assets/javascripts/application.js +0 -9
- data/test/fixtures/sass_project/app/assets/stylesheets/application.css +0 -7
- data/test/fixtures/sass_project/app/controllers/application_controller.rb +0 -3
- data/test/fixtures/sass_project/app/helpers/application_helper.rb +0 -2
- data/test/fixtures/sass_project/app/mailers/.gitkeep +0 -0
- data/test/fixtures/sass_project/app/models/.gitkeep +0 -0
- data/test/fixtures/sass_project/app/views/layouts/application.html.erb +0 -14
- data/test/fixtures/sass_project/config/application.rb +0 -52
- data/test/fixtures/sass_project/config/boot.rb +0 -6
- data/test/fixtures/sass_project/config/database.yml +0 -25
- data/test/fixtures/sass_project/config/environment.rb +0 -5
- data/test/fixtures/sass_project/config/environments/development.rb +0 -21
- data/test/fixtures/sass_project/config/environments/production.rb +0 -51
- data/test/fixtures/sass_project/config/environments/test.rb +0 -36
- data/test/fixtures/sass_project/config/initializers/backtrace_silencers.rb +0 -7
- data/test/fixtures/sass_project/config/initializers/inflections.rb +0 -10
- data/test/fixtures/sass_project/config/initializers/mime_types.rb +0 -5
- data/test/fixtures/sass_project/config/initializers/secret_token.rb +0 -7
- data/test/fixtures/sass_project/config/initializers/session_store.rb +0 -8
- data/test/fixtures/sass_project/config/initializers/wrap_parameters.rb +0 -12
- data/test/fixtures/sass_project/config/locales/en.yml +0 -5
- data/test/fixtures/sass_project/config/routes.rb +0 -58
- data/test/fixtures/sass_project/config.ru +0 -4
- data/test/fixtures/sass_project/db/seeds.rb +0 -7
- data/test/fixtures/sass_project/doc/README_FOR_APP +0 -2
- data/test/fixtures/sass_project/lib/tasks/.gitkeep +0 -0
- data/test/fixtures/sass_project/log/.gitkeep +0 -0
- data/test/fixtures/sass_project/public/404.html +0 -26
- data/test/fixtures/sass_project/public/422.html +0 -26
- data/test/fixtures/sass_project/public/500.html +0 -26
- data/test/fixtures/sass_project/public/favicon.ico +0 -0
- data/test/fixtures/sass_project/public/index.html +0 -241
- data/test/fixtures/sass_project/public/robots.txt +0 -5
- data/test/fixtures/sass_project/script/rails +0 -6
- data/test/fixtures/sass_project/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test/fixtures/sass_project/vendor/plugins/.gitkeep +0 -0
- data/test/fixtures/scss_project/.gitignore +0 -5
- data/test/fixtures/scss_project/Gemfile +0 -7
- data/test/fixtures/scss_project/README +0 -261
- data/test/fixtures/scss_project/Rakefile +0 -7
- data/test/fixtures/scss_project/app/assets/images/1x1.png +0 -0
- data/test/fixtures/scss_project/app/assets/images/rails.png +0 -0
- data/test/fixtures/scss_project/app/assets/javascripts/application.js +0 -9
- data/test/fixtures/scss_project/app/assets/stylesheets/_top_level_partial.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/application.css.scss +0 -37
- data/test/fixtures/scss_project/app/assets/stylesheets/css_application.css +0 -7
- data/test/fixtures/scss_project/app/assets/stylesheets/css_erb_handler.css.erb +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/css_sass_erb_handler.css.sass.erb +0 -2
- data/test/fixtures/scss_project/app/assets/stylesheets/css_scss_erb_handler.css.scss.erb +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/globbed/globbed.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/_sass_import.css.sass +0 -5
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/_scss_import.css.scss +0 -9
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/_without_css_ext.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass +0 -2
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/sass_erb_handler.sass.erb +0 -2
- data/test/fixtures/scss_project/app/assets/stylesheets/scss_erb_handler.scss.erb +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/_defaults.css.scss +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/another_plain.css +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/plain.css +0 -3
- data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/second_level.css.scss +0 -2
- data/test/fixtures/scss_project/app/controllers/application_controller.rb +0 -3
- data/test/fixtures/scss_project/app/helpers/application_helper.rb +0 -2
- data/test/fixtures/scss_project/app/mailers/.gitkeep +0 -0
- data/test/fixtures/scss_project/app/models/.gitkeep +0 -0
- data/test/fixtures/scss_project/app/views/layouts/application.html.erb +0 -14
- data/test/fixtures/scss_project/config/application.rb +0 -49
- data/test/fixtures/scss_project/config/boot.rb +0 -6
- data/test/fixtures/scss_project/config/database.yml +0 -25
- data/test/fixtures/scss_project/config/environment.rb +0 -5
- data/test/fixtures/scss_project/config/environments/development.rb +0 -23
- data/test/fixtures/scss_project/config/environments/production.rb +0 -53
- data/test/fixtures/scss_project/config/environments/test.rb +0 -38
- data/test/fixtures/scss_project/config/initializers/backtrace_silencers.rb +0 -7
- data/test/fixtures/scss_project/config/initializers/inflections.rb +0 -10
- data/test/fixtures/scss_project/config/initializers/mime_types.rb +0 -5
- data/test/fixtures/scss_project/config/initializers/postprocessor.rb +0 -3
- data/test/fixtures/scss_project/config/initializers/secret_token.rb +0 -7
- data/test/fixtures/scss_project/config/initializers/session_store.rb +0 -8
- data/test/fixtures/scss_project/config/initializers/wrap_parameters.rb +0 -12
- data/test/fixtures/scss_project/config/locales/en.yml +0 -5
- data/test/fixtures/scss_project/config/routes.rb +0 -58
- data/test/fixtures/scss_project/config.ru +0 -4
- data/test/fixtures/scss_project/db/seeds.rb +0 -7
- data/test/fixtures/scss_project/doc/README_FOR_APP +0 -2
- data/test/fixtures/scss_project/lib/tasks/.gitkeep +0 -0
- data/test/fixtures/scss_project/log/.gitkeep +0 -0
- data/test/fixtures/scss_project/public/404.html +0 -26
- data/test/fixtures/scss_project/public/422.html +0 -26
- data/test/fixtures/scss_project/public/500.html +0 -26
- data/test/fixtures/scss_project/public/favicon.ico +0 -0
- data/test/fixtures/scss_project/public/index.html +0 -241
- data/test/fixtures/scss_project/public/robots.txt +0 -5
- data/test/fixtures/scss_project/script/rails +0 -6
- data/test/fixtures/scss_project/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test/fixtures/scss_project/vendor/plugins/.gitkeep +0 -0
- data/test/gemfiles/Gemfile-rails-4-0 +0 -6
- data/test/gemfiles/Gemfile-rails-4-1 +0 -6
- data/test/gemfiles/Gemfile-sprockets-2-11 +0 -6
- data/test/gemfiles/Gemfile-sprockets-2-12 +0 -6
- data/test/gemfiles/Gemfile-sprockets-2-8 +0 -6
- data/test/sass_rails_generators_test.rb +0 -62
- data/test/sass_rails_logger_test.rb +0 -24
- data/test/sass_rails_test.rb +0 -133
- data/test/support/sass_rails_test_case.rb +0 -166
- data/test/test_helper.rb +0 -25
- /data/lib/rails/generators/sass/assets/templates/{stylesheet.css.sass → stylesheet.sass} +0 -0
- /data/lib/rails/generators/scss/assets/templates/{stylesheet.css.scss → stylesheet.scss} +0 -0
@@ -1,166 +0,0 @@
|
|
1
|
-
unless defined?(Bundler)
|
2
|
-
$stderr.puts "You didn't run bundle exec did you? Try again: bundle exec rake test"
|
3
|
-
exit 1
|
4
|
-
end
|
5
|
-
require 'fileutils'
|
6
|
-
require 'tmpdir'
|
7
|
-
|
8
|
-
class Sass::Rails::TestCase < ActiveSupport::TestCase
|
9
|
-
|
10
|
-
class ExecutionError < StandardError
|
11
|
-
attr_accessor :output
|
12
|
-
def initialize(message, output = nil)
|
13
|
-
super(message)
|
14
|
-
self.output = output
|
15
|
-
end
|
16
|
-
def message
|
17
|
-
"#{super}\nOutput was:\n#{output}"
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
module SilentError
|
22
|
-
attr_accessor :output
|
23
|
-
def message
|
24
|
-
"#{super}\nOutput was:\n#{output}"
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
protected
|
29
|
-
|
30
|
-
def fixture_path(path)
|
31
|
-
File.expand_path("../../fixtures/#{path}", __FILE__)
|
32
|
-
end
|
33
|
-
|
34
|
-
module TestAssetPaths
|
35
|
-
attr_accessor :assets
|
36
|
-
end
|
37
|
-
|
38
|
-
def sprockets_render(project, filename)
|
39
|
-
within_rails_app(project) do
|
40
|
-
asset_output(filename)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def asset_output(filename)
|
45
|
-
runcmd "ruby script/rails runner 'puts Rails.application.assets[#{filename.inspect}]'"
|
46
|
-
end
|
47
|
-
|
48
|
-
def assert_file_exists(filename)
|
49
|
-
assert File.exists?(filename), "could not find #{filename}. PWD=#{Dir.pwd}\nDid find: #{Dir.glob(File.dirname(filename)+"/*").join(", ")}"
|
50
|
-
end
|
51
|
-
|
52
|
-
def assert_not_output(match)
|
53
|
-
assert_no_match match, $last_ouput
|
54
|
-
end
|
55
|
-
|
56
|
-
def assert_output(match)
|
57
|
-
assert $last_ouput.to_s =~ match, "#{match} was not found in #{$last_ouput.inspect}"
|
58
|
-
end
|
59
|
-
|
60
|
-
def assert_line_count(count)
|
61
|
-
last_count = $last_ouput.lines.count
|
62
|
-
assert last_count == count, "Wrong line count, expected: #{count} but got: #{last_count}"
|
63
|
-
end
|
64
|
-
# Copies a rails app fixture to a temp directory
|
65
|
-
# and changes to that directory during the yield.
|
66
|
-
#
|
67
|
-
# Automatically changes back to the working directory
|
68
|
-
# and removes the temp directory when done.
|
69
|
-
def within_rails_app(name, without_gems = [], gem_options = $gem_options)
|
70
|
-
sourcedir = File.expand_path("../../fixtures/#{name}", __FILE__)
|
71
|
-
Dir.mktmpdir do |tmpdir|
|
72
|
-
FileUtils.cp_r "#{sourcedir}/.", tmpdir
|
73
|
-
Dir.chdir(tmpdir) do
|
74
|
-
gem_options.each { |gem_name, options| modify_gem_entry gem_name, options }
|
75
|
-
without_gems.each { |gem_name| remove_gem name }
|
76
|
-
FileUtils.rm("Gemfile.lock") if File.exist?("Gemfile.lock")
|
77
|
-
runcmd "bundle install --verbose"
|
78
|
-
runcmd "bundle exec rake db:create --trace"
|
79
|
-
yield tmpdir
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
def process_gemfile(gemfile = "Gemfile", &blk)
|
85
|
-
gem_contents = File.readlines(gemfile)
|
86
|
-
gem_contents.map!(&blk)
|
87
|
-
gem_contents.compact!
|
88
|
-
File.open(gemfile, "w") do |f|
|
89
|
-
f.print(gem_contents.join(""))
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
|
-
def modify_gem_entry(gemname, options, gemfile = "Gemfile")
|
94
|
-
found = false
|
95
|
-
process_gemfile(gemfile) do |line|
|
96
|
-
if line =~ /gem *(["'])#{Regexp.escape(gemname)}\1/
|
97
|
-
found = true
|
98
|
-
gem_entry(gemname, options) + "\n"
|
99
|
-
else
|
100
|
-
line
|
101
|
-
end
|
102
|
-
end
|
103
|
-
unless found
|
104
|
-
File.open(gemfile, "a") do |f|
|
105
|
-
f.print("\n#{gem_entry(gemname, options)}\n")
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
def gem_entry(gemname, options)
|
111
|
-
entry = %Q{gem "#{gemname}", "~> #{options[:version]}"}
|
112
|
-
entry += ", :path => #{options[:path].inspect}" if options[:path]
|
113
|
-
entry
|
114
|
-
end
|
115
|
-
|
116
|
-
def remove_gem(gemname)
|
117
|
-
process_gemfile(gemfile) do |line|
|
118
|
-
line unless line =~ /gem *(["'])#{Regexp.escape(gemname)}\1/
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
def silently
|
123
|
-
output = StringIO.new
|
124
|
-
$stderr, old_stderr = output, $stderr
|
125
|
-
$stdout, old_stdout = output, $stdout
|
126
|
-
begin
|
127
|
-
yield
|
128
|
-
rescue ExecutionError => e
|
129
|
-
raise
|
130
|
-
rescue => e
|
131
|
-
e.extend(SilentError)
|
132
|
-
e.output = output.string
|
133
|
-
raise
|
134
|
-
end
|
135
|
-
ensure
|
136
|
-
$stderr = old_stderr
|
137
|
-
$stdout = old_stdout
|
138
|
-
end
|
139
|
-
|
140
|
-
# executes a system command
|
141
|
-
# raises an error if it does not complete successfully
|
142
|
-
# returns the output as a string if it does complete successfully
|
143
|
-
def runcmd(cmd, working_directory = Dir.pwd, clean_env = true, gemfile = "Gemfile", env = {})
|
144
|
-
# There's a bug in bundler where with_clean_env doesn't clear out the BUNDLE_GEMFILE environment setting
|
145
|
-
# https://github.com/carlhuda/bundler/issues/1133
|
146
|
-
env["BUNDLE_GEMFILE"] = "#{working_directory}/#{gemfile}" if clean_env
|
147
|
-
todo = Proc.new do
|
148
|
-
r, w = IO.pipe
|
149
|
-
Kernel.spawn(env, cmd, :out => w , :err => w, :chdir => working_directory)
|
150
|
-
w.close
|
151
|
-
Process.wait
|
152
|
-
output = r.read
|
153
|
-
r.close
|
154
|
-
unless $?.exitstatus == 0
|
155
|
-
raise ExecutionError, "Command failed with exit status #{$?.exitstatus}: #{cmd}", output
|
156
|
-
end
|
157
|
-
$last_ouput = output
|
158
|
-
end
|
159
|
-
if clean_env
|
160
|
-
Bundler.with_clean_env(&todo)
|
161
|
-
else
|
162
|
-
todo.call
|
163
|
-
end
|
164
|
-
end
|
165
|
-
|
166
|
-
end
|
data/test/test_helper.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# Configure Rails Envinronment
|
2
|
-
ENV["RAILS_ENV"] = "test"
|
3
|
-
|
4
|
-
require 'bundler/setup'
|
5
|
-
require 'rails'
|
6
|
-
require 'rails/test_help'
|
7
|
-
require 'sass/rails'
|
8
|
-
|
9
|
-
Rails.backtrace_cleaner.remove_silencers!
|
10
|
-
|
11
|
-
# If developing against local dependencies, this code will ensure they get picked up
|
12
|
-
# in the project fixtures that have their own bundle environment
|
13
|
-
$gem_options = {}
|
14
|
-
possible_dev_dependencies = %w(sass-rails sass rails actionpack railties sprockets journey sprockets-rails activerecord-deprecated_finders)
|
15
|
-
Bundler.load.specs.each do |s|
|
16
|
-
if possible_dev_dependencies.include?(s.name)
|
17
|
-
gem_path = s.full_gem_path
|
18
|
-
gem_options = { version: s.version}
|
19
|
-
gem_options[:path] = gem_path if File.exists?("#{gem_path}/#{s.name}.gemspec")
|
20
|
-
$gem_options[s.name] = gem_options
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# Load support files
|
25
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
File without changes
|
File without changes
|