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.
Files changed (245) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +19 -16
  3. data/lib/rails/generators/sass/assets/assets_generator.rb +1 -1
  4. data/lib/rails/generators/sass_scaffold.rb +1 -2
  5. data/lib/rails/generators/scss/assets/assets_generator.rb +1 -1
  6. data/lib/sass/rails/cache_store.rb +31 -0
  7. data/lib/sass/rails/helpers.rb +4 -21
  8. data/lib/sass/rails/importer.rb +123 -86
  9. data/lib/sass/rails/logger.rb +1 -0
  10. data/lib/sass/rails/railtie.rb +34 -11
  11. data/lib/sass/rails/template.rb +67 -23
  12. data/lib/sass/rails/version.rb +1 -1
  13. metadata +33 -250
  14. data/.gitignore +0 -6
  15. data/.travis.yml +0 -25
  16. data/CHANGELOG.md +0 -57
  17. data/Gemfile +0 -4
  18. data/Rakefile +0 -28
  19. data/sass-rails.gemspec +0 -29
  20. data/sass-rails.gemspec.erb +0 -29
  21. data/test/fixtures/alternate_config_project/.gitignore +0 -5
  22. data/test/fixtures/alternate_config_project/Gemfile +0 -7
  23. data/test/fixtures/alternate_config_project/README +0 -261
  24. data/test/fixtures/alternate_config_project/Rakefile +0 -7
  25. data/test/fixtures/alternate_config_project/app/assets/images/1x1.png +0 -0
  26. data/test/fixtures/alternate_config_project/app/assets/images/rails.png +0 -0
  27. data/test/fixtures/alternate_config_project/app/assets/javascripts/application.js +0 -9
  28. data/test/fixtures/alternate_config_project/app/assets/stylesheets/_top_level_partial.css.scss +0 -3
  29. data/test/fixtures/alternate_config_project/app/assets/stylesheets/application.css.scss +0 -32
  30. data/test/fixtures/alternate_config_project/app/assets/stylesheets/css_application.css +0 -7
  31. data/test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/globbed.css.scss +0 -3
  32. data/test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss +0 -3
  33. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_sass_import.css.sass +0 -5
  34. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_scss_import.css.scss +0 -9
  35. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_without_css_ext.scss +0 -3
  36. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass +0 -2
  37. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss +0 -3
  38. data/test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss +0 -3
  39. data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/another_plain.css +0 -3
  40. data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/plain.css +0 -3
  41. data/test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/second_level.css.scss +0 -1
  42. data/test/fixtures/alternate_config_project/app/controllers/application_controller.rb +0 -3
  43. data/test/fixtures/alternate_config_project/app/helpers/application_helper.rb +0 -2
  44. data/test/fixtures/alternate_config_project/app/mailers/.gitkeep +0 -0
  45. data/test/fixtures/alternate_config_project/app/models/.gitkeep +0 -0
  46. data/test/fixtures/alternate_config_project/app/views/layouts/application.html.erb +0 -14
  47. data/test/fixtures/alternate_config_project/config/application.rb +0 -49
  48. data/test/fixtures/alternate_config_project/config/boot.rb +0 -6
  49. data/test/fixtures/alternate_config_project/config/database.yml +0 -25
  50. data/test/fixtures/alternate_config_project/config/environment.rb +0 -5
  51. data/test/fixtures/alternate_config_project/config/environments/development.rb +0 -27
  52. data/test/fixtures/alternate_config_project/config/environments/production.rb +0 -56
  53. data/test/fixtures/alternate_config_project/config/environments/test.rb +0 -38
  54. data/test/fixtures/alternate_config_project/config/initializers/backtrace_silencers.rb +0 -7
  55. data/test/fixtures/alternate_config_project/config/initializers/inflections.rb +0 -10
  56. data/test/fixtures/alternate_config_project/config/initializers/mime_types.rb +0 -5
  57. data/test/fixtures/alternate_config_project/config/initializers/secret_token.rb +0 -7
  58. data/test/fixtures/alternate_config_project/config/initializers/session_store.rb +0 -8
  59. data/test/fixtures/alternate_config_project/config/initializers/wrap_parameters.rb +0 -12
  60. data/test/fixtures/alternate_config_project/config/locales/en.yml +0 -5
  61. data/test/fixtures/alternate_config_project/config/routes.rb +0 -58
  62. data/test/fixtures/alternate_config_project/config.ru +0 -4
  63. data/test/fixtures/alternate_config_project/db/seeds.rb +0 -7
  64. data/test/fixtures/alternate_config_project/doc/README_FOR_APP +0 -2
  65. data/test/fixtures/alternate_config_project/lib/tasks/.gitkeep +0 -0
  66. data/test/fixtures/alternate_config_project/log/.gitkeep +0 -0
  67. data/test/fixtures/alternate_config_project/public/404.html +0 -26
  68. data/test/fixtures/alternate_config_project/public/422.html +0 -26
  69. data/test/fixtures/alternate_config_project/public/500.html +0 -26
  70. data/test/fixtures/alternate_config_project/public/favicon.ico +0 -0
  71. data/test/fixtures/alternate_config_project/public/index.html +0 -241
  72. data/test/fixtures/alternate_config_project/public/robots.txt +0 -5
  73. data/test/fixtures/alternate_config_project/script/rails +0 -6
  74. data/test/fixtures/alternate_config_project/vendor/assets/stylesheets/.gitkeep +0 -0
  75. data/test/fixtures/alternate_config_project/vendor/plugins/.gitkeep +0 -0
  76. data/test/fixtures/engine_project/.gitignore +0 -8
  77. data/test/fixtures/engine_project/Gemfile +0 -14
  78. data/test/fixtures/engine_project/MIT-LICENSE +0 -20
  79. data/test/fixtures/engine_project/README.rdoc +0 -3
  80. data/test/fixtures/engine_project/Rakefile +0 -34
  81. data/test/fixtures/engine_project/app/assets/images/engine_project/.keep +0 -0
  82. data/test/fixtures/engine_project/app/assets/javascripts/engine_project/application.js +0 -16
  83. data/test/fixtures/engine_project/app/assets/stylesheets/engine_project/application.css +0 -13
  84. data/test/fixtures/engine_project/app/controllers/engine_project/application_controller.rb +0 -4
  85. data/test/fixtures/engine_project/app/helpers/engine_project/application_helper.rb +0 -4
  86. data/test/fixtures/engine_project/app/views/layouts/engine_project/application.html.erb +0 -14
  87. data/test/fixtures/engine_project/config/routes.rb +0 -2
  88. data/test/fixtures/engine_project/engine_project.gemspec +0 -23
  89. data/test/fixtures/engine_project/lib/engine_project/engine.rb +0 -5
  90. data/test/fixtures/engine_project/lib/engine_project/version.rb +0 -3
  91. data/test/fixtures/engine_project/lib/engine_project.rb +0 -4
  92. data/test/fixtures/engine_project/lib/tasks/engine_project_tasks.rake +0 -4
  93. data/test/fixtures/engine_project/script/rails +0 -8
  94. data/test/fixtures/engine_project/test/dummy/README.rdoc +0 -28
  95. data/test/fixtures/engine_project/test/dummy/Rakefile +0 -6
  96. data/test/fixtures/engine_project/test/dummy/app/assets/javascripts/application.js +0 -16
  97. data/test/fixtures/engine_project/test/dummy/app/assets/stylesheets/application.css +0 -13
  98. data/test/fixtures/engine_project/test/dummy/app/controllers/application_controller.rb +0 -5
  99. data/test/fixtures/engine_project/test/dummy/app/controllers/concerns/.keep +0 -0
  100. data/test/fixtures/engine_project/test/dummy/app/helpers/application_helper.rb +0 -2
  101. data/test/fixtures/engine_project/test/dummy/app/mailers/.keep +0 -0
  102. data/test/fixtures/engine_project/test/dummy/app/models/.keep +0 -0
  103. data/test/fixtures/engine_project/test/dummy/app/models/concerns/.keep +0 -0
  104. data/test/fixtures/engine_project/test/dummy/app/views/layouts/application.html.erb +0 -14
  105. data/test/fixtures/engine_project/test/dummy/bin/bundle +0 -3
  106. data/test/fixtures/engine_project/test/dummy/bin/rails +0 -4
  107. data/test/fixtures/engine_project/test/dummy/bin/rake +0 -4
  108. data/test/fixtures/engine_project/test/dummy/config/application.rb +0 -23
  109. data/test/fixtures/engine_project/test/dummy/config/boot.rb +0 -9
  110. data/test/fixtures/engine_project/test/dummy/config/database.yml +0 -25
  111. data/test/fixtures/engine_project/test/dummy/config/environment.rb +0 -5
  112. data/test/fixtures/engine_project/test/dummy/config/environments/development.rb +0 -27
  113. data/test/fixtures/engine_project/test/dummy/config/environments/production.rb +0 -80
  114. data/test/fixtures/engine_project/test/dummy/config/environments/test.rb +0 -36
  115. data/test/fixtures/engine_project/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  116. data/test/fixtures/engine_project/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  117. data/test/fixtures/engine_project/test/dummy/config/initializers/inflections.rb +0 -16
  118. data/test/fixtures/engine_project/test/dummy/config/initializers/mime_types.rb +0 -5
  119. data/test/fixtures/engine_project/test/dummy/config/initializers/secret_token.rb +0 -12
  120. data/test/fixtures/engine_project/test/dummy/config/initializers/session_store.rb +0 -3
  121. data/test/fixtures/engine_project/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  122. data/test/fixtures/engine_project/test/dummy/config/locales/en.yml +0 -23
  123. data/test/fixtures/engine_project/test/dummy/config/routes.rb +0 -4
  124. data/test/fixtures/engine_project/test/dummy/config.ru +0 -4
  125. data/test/fixtures/engine_project/test/dummy/lib/assets/.keep +0 -0
  126. data/test/fixtures/engine_project/test/dummy/log/.keep +0 -0
  127. data/test/fixtures/engine_project/test/dummy/public/404.html +0 -27
  128. data/test/fixtures/engine_project/test/dummy/public/422.html +0 -26
  129. data/test/fixtures/engine_project/test/dummy/public/500.html +0 -26
  130. data/test/fixtures/engine_project/test/dummy/public/favicon.ico +0 -0
  131. data/test/fixtures/sass_project/.gitignore +0 -5
  132. data/test/fixtures/sass_project/Gemfile +0 -7
  133. data/test/fixtures/sass_project/README +0 -261
  134. data/test/fixtures/sass_project/Rakefile +0 -7
  135. data/test/fixtures/sass_project/app/assets/images/rails.png +0 -0
  136. data/test/fixtures/sass_project/app/assets/javascripts/application.js +0 -9
  137. data/test/fixtures/sass_project/app/assets/stylesheets/application.css +0 -7
  138. data/test/fixtures/sass_project/app/controllers/application_controller.rb +0 -3
  139. data/test/fixtures/sass_project/app/helpers/application_helper.rb +0 -2
  140. data/test/fixtures/sass_project/app/mailers/.gitkeep +0 -0
  141. data/test/fixtures/sass_project/app/models/.gitkeep +0 -0
  142. data/test/fixtures/sass_project/app/views/layouts/application.html.erb +0 -14
  143. data/test/fixtures/sass_project/config/application.rb +0 -52
  144. data/test/fixtures/sass_project/config/boot.rb +0 -6
  145. data/test/fixtures/sass_project/config/database.yml +0 -25
  146. data/test/fixtures/sass_project/config/environment.rb +0 -5
  147. data/test/fixtures/sass_project/config/environments/development.rb +0 -21
  148. data/test/fixtures/sass_project/config/environments/production.rb +0 -51
  149. data/test/fixtures/sass_project/config/environments/test.rb +0 -36
  150. data/test/fixtures/sass_project/config/initializers/backtrace_silencers.rb +0 -7
  151. data/test/fixtures/sass_project/config/initializers/inflections.rb +0 -10
  152. data/test/fixtures/sass_project/config/initializers/mime_types.rb +0 -5
  153. data/test/fixtures/sass_project/config/initializers/secret_token.rb +0 -7
  154. data/test/fixtures/sass_project/config/initializers/session_store.rb +0 -8
  155. data/test/fixtures/sass_project/config/initializers/wrap_parameters.rb +0 -12
  156. data/test/fixtures/sass_project/config/locales/en.yml +0 -5
  157. data/test/fixtures/sass_project/config/routes.rb +0 -58
  158. data/test/fixtures/sass_project/config.ru +0 -4
  159. data/test/fixtures/sass_project/db/seeds.rb +0 -7
  160. data/test/fixtures/sass_project/doc/README_FOR_APP +0 -2
  161. data/test/fixtures/sass_project/lib/tasks/.gitkeep +0 -0
  162. data/test/fixtures/sass_project/log/.gitkeep +0 -0
  163. data/test/fixtures/sass_project/public/404.html +0 -26
  164. data/test/fixtures/sass_project/public/422.html +0 -26
  165. data/test/fixtures/sass_project/public/500.html +0 -26
  166. data/test/fixtures/sass_project/public/favicon.ico +0 -0
  167. data/test/fixtures/sass_project/public/index.html +0 -241
  168. data/test/fixtures/sass_project/public/robots.txt +0 -5
  169. data/test/fixtures/sass_project/script/rails +0 -6
  170. data/test/fixtures/sass_project/vendor/assets/stylesheets/.gitkeep +0 -0
  171. data/test/fixtures/sass_project/vendor/plugins/.gitkeep +0 -0
  172. data/test/fixtures/scss_project/.gitignore +0 -5
  173. data/test/fixtures/scss_project/Gemfile +0 -7
  174. data/test/fixtures/scss_project/README +0 -261
  175. data/test/fixtures/scss_project/Rakefile +0 -7
  176. data/test/fixtures/scss_project/app/assets/images/1x1.png +0 -0
  177. data/test/fixtures/scss_project/app/assets/images/rails.png +0 -0
  178. data/test/fixtures/scss_project/app/assets/javascripts/application.js +0 -9
  179. data/test/fixtures/scss_project/app/assets/stylesheets/_top_level_partial.css.scss +0 -3
  180. data/test/fixtures/scss_project/app/assets/stylesheets/application.css.scss +0 -37
  181. data/test/fixtures/scss_project/app/assets/stylesheets/css_application.css +0 -7
  182. data/test/fixtures/scss_project/app/assets/stylesheets/css_erb_handler.css.erb +0 -3
  183. data/test/fixtures/scss_project/app/assets/stylesheets/css_sass_erb_handler.css.sass.erb +0 -2
  184. data/test/fixtures/scss_project/app/assets/stylesheets/css_scss_erb_handler.css.scss.erb +0 -3
  185. data/test/fixtures/scss_project/app/assets/stylesheets/globbed/globbed.css.scss +0 -3
  186. data/test/fixtures/scss_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss +0 -3
  187. data/test/fixtures/scss_project/app/assets/stylesheets/partials/_sass_import.css.sass +0 -5
  188. data/test/fixtures/scss_project/app/assets/stylesheets/partials/_scss_import.css.scss +0 -9
  189. data/test/fixtures/scss_project/app/assets/stylesheets/partials/_without_css_ext.scss +0 -3
  190. data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass +0 -2
  191. data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss +0 -3
  192. data/test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss +0 -3
  193. data/test/fixtures/scss_project/app/assets/stylesheets/sass_erb_handler.sass.erb +0 -2
  194. data/test/fixtures/scss_project/app/assets/stylesheets/scss_erb_handler.scss.erb +0 -3
  195. data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/_defaults.css.scss +0 -3
  196. data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/another_plain.css +0 -3
  197. data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/plain.css +0 -3
  198. data/test/fixtures/scss_project/app/assets/stylesheets/subfolder/second_level.css.scss +0 -2
  199. data/test/fixtures/scss_project/app/controllers/application_controller.rb +0 -3
  200. data/test/fixtures/scss_project/app/helpers/application_helper.rb +0 -2
  201. data/test/fixtures/scss_project/app/mailers/.gitkeep +0 -0
  202. data/test/fixtures/scss_project/app/models/.gitkeep +0 -0
  203. data/test/fixtures/scss_project/app/views/layouts/application.html.erb +0 -14
  204. data/test/fixtures/scss_project/config/application.rb +0 -49
  205. data/test/fixtures/scss_project/config/boot.rb +0 -6
  206. data/test/fixtures/scss_project/config/database.yml +0 -25
  207. data/test/fixtures/scss_project/config/environment.rb +0 -5
  208. data/test/fixtures/scss_project/config/environments/development.rb +0 -23
  209. data/test/fixtures/scss_project/config/environments/production.rb +0 -53
  210. data/test/fixtures/scss_project/config/environments/test.rb +0 -38
  211. data/test/fixtures/scss_project/config/initializers/backtrace_silencers.rb +0 -7
  212. data/test/fixtures/scss_project/config/initializers/inflections.rb +0 -10
  213. data/test/fixtures/scss_project/config/initializers/mime_types.rb +0 -5
  214. data/test/fixtures/scss_project/config/initializers/postprocessor.rb +0 -3
  215. data/test/fixtures/scss_project/config/initializers/secret_token.rb +0 -7
  216. data/test/fixtures/scss_project/config/initializers/session_store.rb +0 -8
  217. data/test/fixtures/scss_project/config/initializers/wrap_parameters.rb +0 -12
  218. data/test/fixtures/scss_project/config/locales/en.yml +0 -5
  219. data/test/fixtures/scss_project/config/routes.rb +0 -58
  220. data/test/fixtures/scss_project/config.ru +0 -4
  221. data/test/fixtures/scss_project/db/seeds.rb +0 -7
  222. data/test/fixtures/scss_project/doc/README_FOR_APP +0 -2
  223. data/test/fixtures/scss_project/lib/tasks/.gitkeep +0 -0
  224. data/test/fixtures/scss_project/log/.gitkeep +0 -0
  225. data/test/fixtures/scss_project/public/404.html +0 -26
  226. data/test/fixtures/scss_project/public/422.html +0 -26
  227. data/test/fixtures/scss_project/public/500.html +0 -26
  228. data/test/fixtures/scss_project/public/favicon.ico +0 -0
  229. data/test/fixtures/scss_project/public/index.html +0 -241
  230. data/test/fixtures/scss_project/public/robots.txt +0 -5
  231. data/test/fixtures/scss_project/script/rails +0 -6
  232. data/test/fixtures/scss_project/vendor/assets/stylesheets/.gitkeep +0 -0
  233. data/test/fixtures/scss_project/vendor/plugins/.gitkeep +0 -0
  234. data/test/gemfiles/Gemfile-rails-4-0 +0 -6
  235. data/test/gemfiles/Gemfile-rails-4-1 +0 -6
  236. data/test/gemfiles/Gemfile-sprockets-2-11 +0 -6
  237. data/test/gemfiles/Gemfile-sprockets-2-12 +0 -6
  238. data/test/gemfiles/Gemfile-sprockets-2-8 +0 -6
  239. data/test/sass_rails_generators_test.rb +0 -62
  240. data/test/sass_rails_logger_test.rb +0 -24
  241. data/test/sass_rails_test.rb +0 -133
  242. data/test/support/sass_rails_test_case.rb +0 -166
  243. data/test/test_helper.rb +0 -25
  244. /data/lib/rails/generators/sass/assets/templates/{stylesheet.css.sass → stylesheet.sass} +0 -0
  245. /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 }