File: sprockets-2.x.patch

package info (click to toggle)
ruby-sass-rails 4.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,216 kB
  • ctags: 123
  • sloc: ruby: 853; makefile: 2
file content (349 lines) | stat: -rw-r--r-- 39,571 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
Description: Restore compatibility with sprockets >= 2.12
 This patch is a combination of the following upstream commits:
 - e56c2fbf60ef2bd879aae6f6163c90326b4017be
 - bd63297c31aceb079595c3a3d9007b0e4df505b6
 - a62bdf85e56a678aa5fded3d4ed0d10bbc0b7a7b
 .
 Changes to non-essential files such as Gemfile's were dropped.
 .
 metadata.yml, which is specific to the Debian package, was modified to reflect
 the changes to sass-rails.gemspec.
Author:
 Rafael Mendonça França <rafaelmfranca@gmail.com>,
 Matthew Draper <matthew@trebex.net>,
Reviewed-By: Antonio Terceiro <terceiro@debian.org>

--- a/lib/sass/rails/railtie.rb
+++ b/lib/sass/rails/railtie.rb
@@ -52,6 +52,9 @@ module Sass::Rails
       end
 
       if app.assets
+        app.assets.register_engine '.sass', Sass::Rails::SassTemplate
+        app.assets.register_engine '.scss', Sass::Rails::ScssTemplate
+
         app.assets.context_class.extend(SassContext)
         app.assets.context_class.sass_config = app.config.sass
       end
--- a/lib/sass/rails/template.rb
+++ b/lib/sass/rails/template.rb
@@ -1,28 +1,42 @@
 require "sprockets/sass_template"
 
-module Sprockets
-  class SassTemplate
-    def evaluate(context, locals, &block)
-      cache_store = SassCacheStore.new(context.environment)
-
-      options = {
-        :filename => eval_file,
-        :line => line,
-        :syntax => syntax,
-        :cache_store => cache_store,
-        :importer => SassImporter.new(context, context.pathname),
-        :load_paths => context.environment.paths.map { |path| SassImporter.new(context, path) },
-        :sprockets => {
-          :context => context,
-          :environment => context.environment
+module Sass
+  module Rails
+    class SassTemplate < Sprockets::SassTemplate
+
+      def evaluate(context, locals, &block)
+        cache_store = Sprockets::SassCacheStore.new(context.environment)
+
+        options = {
+          :filename => eval_file,
+          :line => line,
+          :syntax => syntax,
+          :cache_store => cache_store,
+          :importer => SassImporter.new(context, context.pathname.to_s),
+          :load_paths => context.environment.paths.map { |path| SassImporter.new(context, path.to_s) },
+          :sprockets => {
+            :context => context,
+            :environment => context.environment
+          }
         }
-      }
 
-      sass_config = context.environment.context_class.sass_config.merge(options)
-      ::Sass::Engine.new(data, sass_config).render
-    rescue ::Sass::SyntaxError => e
-      context.__LINE__ = e.sass_backtrace.first[:line]
-      raise e
+        sass_config = context.environment.context_class.sass_config.merge(options)
+
+        ::Sass::Engine.new(data, sass_config).render
+      rescue ::Sass::SyntaxError => e
+        context.__LINE__ = e.sass_backtrace.first[:line]
+        raise e
+      end
+    end
+
+    class ScssTemplate < SassTemplate
+      def self.default_mime_type
+        'text/css'
+      end
+
+      def syntax
+        :scss
+      end
     end
   end
 end
--- a/sass-rails.gemspec
+++ b/sass-rails.gemspec
@@ -15,10 +15,10 @@ Gem::Specification.new do |s|
 
   s.rubyforge_project = "sass-rails"
 
-  s.add_dependency 'sass',            '~> 3.2.0'
+  s.add_dependency 'sass',            '~> 3.2'
   s.add_dependency 'railties',        '>= 4.0.0', '< 5.0'
   s.add_dependency 'sprockets-rails', '~> 2.0'
-  s.add_dependency 'sprockets',       '~> 2.8', '<= 2.11.0'
+  s.add_dependency 'sprockets',       '~> 2.12'
 
   s.files         = [".gitignore",".travis.yml","CHANGELOG.md","Gemfile","MIT-LICENSE","README.md","Rakefile","lib/rails/generators/sass/assets/assets_generator.rb","lib/rails/generators/sass/assets/templates/stylesheet.css.sass","lib/rails/generators/sass/scaffold/scaffold_generator.rb","lib/rails/generators/sass_scaffold.rb","lib/rails/generators/scss/assets/assets_generator.rb","lib/rails/generators/scss/assets/templates/stylesheet.css.scss","lib/rails/generators/scss/scaffold/scaffold_generator.rb","lib/sass-rails.rb","lib/sass/rails.rb","lib/sass/rails/helpers.rb","lib/sass/rails/importer.rb","lib/sass/rails/logger.rb","lib/sass/rails/railtie.rb","lib/sass/rails/template.rb","lib/sass/rails/version.rb","sass-rails.gemspec","sass-rails.gemspec.erb","test/fixtures/alternate_config_project/.gitignore","test/fixtures/alternate_config_project/Gemfile","test/fixtures/alternate_config_project/README","test/fixtures/alternate_config_project/Rakefile","test/fixtures/alternate_config_project/app/assets/images/1x1.png","test/fixtures/alternate_config_project/app/assets/images/rails.png","test/fixtures/alternate_config_project/app/assets/javascripts/application.js","test/fixtures/alternate_config_project/app/assets/stylesheets/_top_level_partial.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/application.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/css_application.css","test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/globbed.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_sass_import.css.sass","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_scss_import.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_without_css_ext.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/another_plain.css","test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/plain.css","test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/second_level.css.scss","test/fixtures/alternate_config_project/app/controllers/application_controller.rb","test/fixtures/alternate_config_project/app/helpers/application_helper.rb","test/fixtures/alternate_config_project/app/mailers/.gitkeep","test/fixtures/alternate_config_project/app/models/.gitkeep","test/fixtures/alternate_config_project/app/views/layouts/application.html.erb","test/fixtures/alternate_config_project/config.ru","test/fixtures/alternate_config_project/config/application.rb","test/fixtures/alternate_config_project/config/boot.rb","test/fixtures/alternate_config_project/config/database.yml","test/fixtures/alternate_config_project/config/environment.rb","test/fixtures/alternate_config_project/config/environments/development.rb","test/fixtures/alternate_config_project/config/environments/production.rb","test/fixtures/alternate_config_project/config/environments/test.rb","test/fixtures/alternate_config_project/config/initializers/backtrace_silencers.rb","test/fixtures/alternate_config_project/config/initializers/inflections.rb","test/fixtures/alternate_config_project/config/initializers/mime_types.rb","test/fixtures/alternate_config_project/config/initializers/secret_token.rb","test/fixtures/alternate_config_project/config/initializers/session_store.rb","test/fixtures/alternate_config_project/config/initializers/wrap_parameters.rb","test/fixtures/alternate_config_project/config/locales/en.yml","test/fixtures/alternate_config_project/config/routes.rb","test/fixtures/alternate_config_project/db/seeds.rb","test/fixtures/alternate_config_project/doc/README_FOR_APP","test/fixtures/alternate_config_project/lib/tasks/.gitkeep","test/fixtures/alternate_config_project/log/.gitkeep","test/fixtures/alternate_config_project/public/404.html","test/fixtures/alternate_config_project/public/422.html","test/fixtures/alternate_config_project/public/500.html","test/fixtures/alternate_config_project/public/favicon.ico","test/fixtures/alternate_config_project/public/index.html","test/fixtures/alternate_config_project/public/robots.txt","test/fixtures/alternate_config_project/script/rails","test/fixtures/alternate_config_project/vendor/assets/stylesheets/.gitkeep","test/fixtures/alternate_config_project/vendor/plugins/.gitkeep","test/fixtures/engine_project/.gitignore","test/fixtures/engine_project/Gemfile","test/fixtures/engine_project/MIT-LICENSE","test/fixtures/engine_project/README.rdoc","test/fixtures/engine_project/Rakefile","test/fixtures/engine_project/app/assets/images/engine_project/.keep","test/fixtures/engine_project/app/assets/javascripts/engine_project/application.js","test/fixtures/engine_project/app/assets/stylesheets/engine_project/application.css","test/fixtures/engine_project/app/controllers/engine_project/application_controller.rb","test/fixtures/engine_project/app/helpers/engine_project/application_helper.rb","test/fixtures/engine_project/app/views/layouts/engine_project/application.html.erb","test/fixtures/engine_project/config/routes.rb","test/fixtures/engine_project/engine_project.gemspec","test/fixtures/engine_project/lib/engine_project.rb","test/fixtures/engine_project/lib/engine_project/engine.rb","test/fixtures/engine_project/lib/engine_project/version.rb","test/fixtures/engine_project/lib/tasks/engine_project_tasks.rake","test/fixtures/engine_project/script/rails","test/fixtures/engine_project/test/dummy/README.rdoc","test/fixtures/engine_project/test/dummy/Rakefile","test/fixtures/engine_project/test/dummy/app/assets/javascripts/application.js","test/fixtures/engine_project/test/dummy/app/assets/stylesheets/application.css","test/fixtures/engine_project/test/dummy/app/controllers/application_controller.rb","test/fixtures/engine_project/test/dummy/app/controllers/concerns/.keep","test/fixtures/engine_project/test/dummy/app/helpers/application_helper.rb","test/fixtures/engine_project/test/dummy/app/mailers/.keep","test/fixtures/engine_project/test/dummy/app/models/.keep","test/fixtures/engine_project/test/dummy/app/models/concerns/.keep","test/fixtures/engine_project/test/dummy/app/views/layouts/application.html.erb","test/fixtures/engine_project/test/dummy/bin/bundle","test/fixtures/engine_project/test/dummy/bin/rails","test/fixtures/engine_project/test/dummy/bin/rake","test/fixtures/engine_project/test/dummy/config.ru","test/fixtures/engine_project/test/dummy/config/application.rb","test/fixtures/engine_project/test/dummy/config/boot.rb","test/fixtures/engine_project/test/dummy/config/database.yml","test/fixtures/engine_project/test/dummy/config/environment.rb","test/fixtures/engine_project/test/dummy/config/environments/development.rb","test/fixtures/engine_project/test/dummy/config/environments/production.rb","test/fixtures/engine_project/test/dummy/config/environments/test.rb","test/fixtures/engine_project/test/dummy/config/initializers/backtrace_silencers.rb","test/fixtures/engine_project/test/dummy/config/initializers/filter_parameter_logging.rb","test/fixtures/engine_project/test/dummy/config/initializers/inflections.rb","test/fixtures/engine_project/test/dummy/config/initializers/mime_types.rb","test/fixtures/engine_project/test/dummy/config/initializers/secret_token.rb","test/fixtures/engine_project/test/dummy/config/initializers/session_store.rb","test/fixtures/engine_project/test/dummy/config/initializers/wrap_parameters.rb","test/fixtures/engine_project/test/dummy/config/locales/en.yml","test/fixtures/engine_project/test/dummy/config/routes.rb","test/fixtures/engine_project/test/dummy/lib/assets/.keep","test/fixtures/engine_project/test/dummy/log/.keep","test/fixtures/engine_project/test/dummy/public/404.html","test/fixtures/engine_project/test/dummy/public/422.html","test/fixtures/engine_project/test/dummy/public/500.html","test/fixtures/engine_project/test/dummy/public/favicon.ico","test/fixtures/sass_project/.gitignore","test/fixtures/sass_project/Gemfile","test/fixtures/sass_project/README","test/fixtures/sass_project/Rakefile","test/fixtures/sass_project/app/assets/images/rails.png","test/fixtures/sass_project/app/assets/javascripts/application.js","test/fixtures/sass_project/app/assets/stylesheets/application.css","test/fixtures/sass_project/app/controllers/application_controller.rb","test/fixtures/sass_project/app/helpers/application_helper.rb","test/fixtures/sass_project/app/mailers/.gitkeep","test/fixtures/sass_project/app/models/.gitkeep","test/fixtures/sass_project/app/views/layouts/application.html.erb","test/fixtures/sass_project/config.ru","test/fixtures/sass_project/config/application.rb","test/fixtures/sass_project/config/boot.rb","test/fixtures/sass_project/config/database.yml","test/fixtures/sass_project/config/environment.rb","test/fixtures/sass_project/config/environments/development.rb","test/fixtures/sass_project/config/environments/production.rb","test/fixtures/sass_project/config/environments/test.rb","test/fixtures/sass_project/config/initializers/backtrace_silencers.rb","test/fixtures/sass_project/config/initializers/inflections.rb","test/fixtures/sass_project/config/initializers/mime_types.rb","test/fixtures/sass_project/config/initializers/secret_token.rb","test/fixtures/sass_project/config/initializers/session_store.rb","test/fixtures/sass_project/config/initializers/wrap_parameters.rb","test/fixtures/sass_project/config/locales/en.yml","test/fixtures/sass_project/config/routes.rb","test/fixtures/sass_project/db/seeds.rb","test/fixtures/sass_project/doc/README_FOR_APP","test/fixtures/sass_project/lib/tasks/.gitkeep","test/fixtures/sass_project/log/.gitkeep","test/fixtures/sass_project/public/404.html","test/fixtures/sass_project/public/422.html","test/fixtures/sass_project/public/500.html","test/fixtures/sass_project/public/favicon.ico","test/fixtures/sass_project/public/index.html","test/fixtures/sass_project/public/robots.txt","test/fixtures/sass_project/script/rails","test/fixtures/sass_project/vendor/assets/stylesheets/.gitkeep","test/fixtures/sass_project/vendor/plugins/.gitkeep","test/fixtures/scss_project/.gitignore","test/fixtures/scss_project/Gemfile","test/fixtures/scss_project/README","test/fixtures/scss_project/Rakefile","test/fixtures/scss_project/app/assets/images/1x1.png","test/fixtures/scss_project/app/assets/images/rails.png","test/fixtures/scss_project/app/assets/javascripts/application.js","test/fixtures/scss_project/app/assets/stylesheets/_top_level_partial.css.scss","test/fixtures/scss_project/app/assets/stylesheets/application.css.scss","test/fixtures/scss_project/app/assets/stylesheets/css_application.css","test/fixtures/scss_project/app/assets/stylesheets/css_erb_handler.css.erb","test/fixtures/scss_project/app/assets/stylesheets/css_sass_erb_handler.css.sass.erb","test/fixtures/scss_project/app/assets/stylesheets/css_scss_erb_handler.css.scss.erb","test/fixtures/scss_project/app/assets/stylesheets/globbed/globbed.css.scss","test/fixtures/scss_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss","test/fixtures/scss_project/app/assets/stylesheets/partials/_sass_import.css.sass","test/fixtures/scss_project/app/assets/stylesheets/partials/_scss_import.css.scss","test/fixtures/scss_project/app/assets/stylesheets/partials/_without_css_ext.scss","test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass","test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss","test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss","test/fixtures/scss_project/app/assets/stylesheets/sass_erb_handler.sass.erb","test/fixtures/scss_project/app/assets/stylesheets/scss_erb_handler.scss.erb","test/fixtures/scss_project/app/assets/stylesheets/subfolder/_defaults.css.scss","test/fixtures/scss_project/app/assets/stylesheets/subfolder/another_plain.css","test/fixtures/scss_project/app/assets/stylesheets/subfolder/plain.css","test/fixtures/scss_project/app/assets/stylesheets/subfolder/second_level.css.scss","test/fixtures/scss_project/app/controllers/application_controller.rb","test/fixtures/scss_project/app/helpers/application_helper.rb","test/fixtures/scss_project/app/mailers/.gitkeep","test/fixtures/scss_project/app/models/.gitkeep","test/fixtures/scss_project/app/views/layouts/application.html.erb","test/fixtures/scss_project/config.ru","test/fixtures/scss_project/config/application.rb","test/fixtures/scss_project/config/boot.rb","test/fixtures/scss_project/config/database.yml","test/fixtures/scss_project/config/environment.rb","test/fixtures/scss_project/config/environments/development.rb","test/fixtures/scss_project/config/environments/production.rb","test/fixtures/scss_project/config/environments/test.rb","test/fixtures/scss_project/config/initializers/backtrace_silencers.rb","test/fixtures/scss_project/config/initializers/inflections.rb","test/fixtures/scss_project/config/initializers/mime_types.rb","test/fixtures/scss_project/config/initializers/postprocessor.rb","test/fixtures/scss_project/config/initializers/secret_token.rb","test/fixtures/scss_project/config/initializers/session_store.rb","test/fixtures/scss_project/config/initializers/wrap_parameters.rb","test/fixtures/scss_project/config/locales/en.yml","test/fixtures/scss_project/config/routes.rb","test/fixtures/scss_project/db/seeds.rb","test/fixtures/scss_project/doc/README_FOR_APP","test/fixtures/scss_project/lib/tasks/.gitkeep","test/fixtures/scss_project/log/.gitkeep","test/fixtures/scss_project/public/404.html","test/fixtures/scss_project/public/422.html","test/fixtures/scss_project/public/500.html","test/fixtures/scss_project/public/favicon.ico","test/fixtures/scss_project/public/index.html","test/fixtures/scss_project/public/robots.txt","test/fixtures/scss_project/script/rails","test/fixtures/scss_project/vendor/assets/stylesheets/.gitkeep","test/fixtures/scss_project/vendor/plugins/.gitkeep","test/gemfiles/Gemfile-master","test/sass_rails_generators_test.rb","test/sass_rails_logger_test.rb","test/sass_rails_test.rb","test/support/sass_rails_test_case.rb","test/test_helper.rb"]
   s.test_files    = ["test/fixtures/alternate_config_project/.gitignore","test/fixtures/alternate_config_project/Gemfile","test/fixtures/alternate_config_project/README","test/fixtures/alternate_config_project/Rakefile","test/fixtures/alternate_config_project/app/assets/images/1x1.png","test/fixtures/alternate_config_project/app/assets/images/rails.png","test/fixtures/alternate_config_project/app/assets/javascripts/application.js","test/fixtures/alternate_config_project/app/assets/stylesheets/_top_level_partial.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/application.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/css_application.css","test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/globbed.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_sass_import.css.sass","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_scss_import.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/_without_css_ext.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss","test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/another_plain.css","test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/plain.css","test/fixtures/alternate_config_project/app/assets/stylesheets/subfolder/second_level.css.scss","test/fixtures/alternate_config_project/app/controllers/application_controller.rb","test/fixtures/alternate_config_project/app/helpers/application_helper.rb","test/fixtures/alternate_config_project/app/mailers/.gitkeep","test/fixtures/alternate_config_project/app/models/.gitkeep","test/fixtures/alternate_config_project/app/views/layouts/application.html.erb","test/fixtures/alternate_config_project/config.ru","test/fixtures/alternate_config_project/config/application.rb","test/fixtures/alternate_config_project/config/boot.rb","test/fixtures/alternate_config_project/config/database.yml","test/fixtures/alternate_config_project/config/environment.rb","test/fixtures/alternate_config_project/config/environments/development.rb","test/fixtures/alternate_config_project/config/environments/production.rb","test/fixtures/alternate_config_project/config/environments/test.rb","test/fixtures/alternate_config_project/config/initializers/backtrace_silencers.rb","test/fixtures/alternate_config_project/config/initializers/inflections.rb","test/fixtures/alternate_config_project/config/initializers/mime_types.rb","test/fixtures/alternate_config_project/config/initializers/secret_token.rb","test/fixtures/alternate_config_project/config/initializers/session_store.rb","test/fixtures/alternate_config_project/config/initializers/wrap_parameters.rb","test/fixtures/alternate_config_project/config/locales/en.yml","test/fixtures/alternate_config_project/config/routes.rb","test/fixtures/alternate_config_project/db/seeds.rb","test/fixtures/alternate_config_project/doc/README_FOR_APP","test/fixtures/alternate_config_project/lib/tasks/.gitkeep","test/fixtures/alternate_config_project/log/.gitkeep","test/fixtures/alternate_config_project/public/404.html","test/fixtures/alternate_config_project/public/422.html","test/fixtures/alternate_config_project/public/500.html","test/fixtures/alternate_config_project/public/favicon.ico","test/fixtures/alternate_config_project/public/index.html","test/fixtures/alternate_config_project/public/robots.txt","test/fixtures/alternate_config_project/script/rails","test/fixtures/alternate_config_project/vendor/assets/stylesheets/.gitkeep","test/fixtures/alternate_config_project/vendor/plugins/.gitkeep","test/fixtures/engine_project/.gitignore","test/fixtures/engine_project/Gemfile","test/fixtures/engine_project/MIT-LICENSE","test/fixtures/engine_project/README.rdoc","test/fixtures/engine_project/Rakefile","test/fixtures/engine_project/app/assets/images/engine_project/.keep","test/fixtures/engine_project/app/assets/javascripts/engine_project/application.js","test/fixtures/engine_project/app/assets/stylesheets/engine_project/application.css","test/fixtures/engine_project/app/controllers/engine_project/application_controller.rb","test/fixtures/engine_project/app/helpers/engine_project/application_helper.rb","test/fixtures/engine_project/app/views/layouts/engine_project/application.html.erb","test/fixtures/engine_project/config/routes.rb","test/fixtures/engine_project/engine_project.gemspec","test/fixtures/engine_project/lib/engine_project.rb","test/fixtures/engine_project/lib/engine_project/engine.rb","test/fixtures/engine_project/lib/engine_project/version.rb","test/fixtures/engine_project/lib/tasks/engine_project_tasks.rake","test/fixtures/engine_project/script/rails","test/fixtures/engine_project/test/dummy/README.rdoc","test/fixtures/engine_project/test/dummy/Rakefile","test/fixtures/engine_project/test/dummy/app/assets/javascripts/application.js","test/fixtures/engine_project/test/dummy/app/assets/stylesheets/application.css","test/fixtures/engine_project/test/dummy/app/controllers/application_controller.rb","test/fixtures/engine_project/test/dummy/app/controllers/concerns/.keep","test/fixtures/engine_project/test/dummy/app/helpers/application_helper.rb","test/fixtures/engine_project/test/dummy/app/mailers/.keep","test/fixtures/engine_project/test/dummy/app/models/.keep","test/fixtures/engine_project/test/dummy/app/models/concerns/.keep","test/fixtures/engine_project/test/dummy/app/views/layouts/application.html.erb","test/fixtures/engine_project/test/dummy/bin/bundle","test/fixtures/engine_project/test/dummy/bin/rails","test/fixtures/engine_project/test/dummy/bin/rake","test/fixtures/engine_project/test/dummy/config.ru","test/fixtures/engine_project/test/dummy/config/application.rb","test/fixtures/engine_project/test/dummy/config/boot.rb","test/fixtures/engine_project/test/dummy/config/database.yml","test/fixtures/engine_project/test/dummy/config/environment.rb","test/fixtures/engine_project/test/dummy/config/environments/development.rb","test/fixtures/engine_project/test/dummy/config/environments/production.rb","test/fixtures/engine_project/test/dummy/config/environments/test.rb","test/fixtures/engine_project/test/dummy/config/initializers/backtrace_silencers.rb","test/fixtures/engine_project/test/dummy/config/initializers/filter_parameter_logging.rb","test/fixtures/engine_project/test/dummy/config/initializers/inflections.rb","test/fixtures/engine_project/test/dummy/config/initializers/mime_types.rb","test/fixtures/engine_project/test/dummy/config/initializers/secret_token.rb","test/fixtures/engine_project/test/dummy/config/initializers/session_store.rb","test/fixtures/engine_project/test/dummy/config/initializers/wrap_parameters.rb","test/fixtures/engine_project/test/dummy/config/locales/en.yml","test/fixtures/engine_project/test/dummy/config/routes.rb","test/fixtures/engine_project/test/dummy/lib/assets/.keep","test/fixtures/engine_project/test/dummy/log/.keep","test/fixtures/engine_project/test/dummy/public/404.html","test/fixtures/engine_project/test/dummy/public/422.html","test/fixtures/engine_project/test/dummy/public/500.html","test/fixtures/engine_project/test/dummy/public/favicon.ico","test/fixtures/sass_project/.gitignore","test/fixtures/sass_project/Gemfile","test/fixtures/sass_project/README","test/fixtures/sass_project/Rakefile","test/fixtures/sass_project/app/assets/images/rails.png","test/fixtures/sass_project/app/assets/javascripts/application.js","test/fixtures/sass_project/app/assets/stylesheets/application.css","test/fixtures/sass_project/app/controllers/application_controller.rb","test/fixtures/sass_project/app/helpers/application_helper.rb","test/fixtures/sass_project/app/mailers/.gitkeep","test/fixtures/sass_project/app/models/.gitkeep","test/fixtures/sass_project/app/views/layouts/application.html.erb","test/fixtures/sass_project/config.ru","test/fixtures/sass_project/config/application.rb","test/fixtures/sass_project/config/boot.rb","test/fixtures/sass_project/config/database.yml","test/fixtures/sass_project/config/environment.rb","test/fixtures/sass_project/config/environments/development.rb","test/fixtures/sass_project/config/environments/production.rb","test/fixtures/sass_project/config/environments/test.rb","test/fixtures/sass_project/config/initializers/backtrace_silencers.rb","test/fixtures/sass_project/config/initializers/inflections.rb","test/fixtures/sass_project/config/initializers/mime_types.rb","test/fixtures/sass_project/config/initializers/secret_token.rb","test/fixtures/sass_project/config/initializers/session_store.rb","test/fixtures/sass_project/config/initializers/wrap_parameters.rb","test/fixtures/sass_project/config/locales/en.yml","test/fixtures/sass_project/config/routes.rb","test/fixtures/sass_project/db/seeds.rb","test/fixtures/sass_project/doc/README_FOR_APP","test/fixtures/sass_project/lib/tasks/.gitkeep","test/fixtures/sass_project/log/.gitkeep","test/fixtures/sass_project/public/404.html","test/fixtures/sass_project/public/422.html","test/fixtures/sass_project/public/500.html","test/fixtures/sass_project/public/favicon.ico","test/fixtures/sass_project/public/index.html","test/fixtures/sass_project/public/robots.txt","test/fixtures/sass_project/script/rails","test/fixtures/sass_project/vendor/assets/stylesheets/.gitkeep","test/fixtures/sass_project/vendor/plugins/.gitkeep","test/fixtures/scss_project/.gitignore","test/fixtures/scss_project/Gemfile","test/fixtures/scss_project/README","test/fixtures/scss_project/Rakefile","test/fixtures/scss_project/app/assets/images/1x1.png","test/fixtures/scss_project/app/assets/images/rails.png","test/fixtures/scss_project/app/assets/javascripts/application.js","test/fixtures/scss_project/app/assets/stylesheets/_top_level_partial.css.scss","test/fixtures/scss_project/app/assets/stylesheets/application.css.scss","test/fixtures/scss_project/app/assets/stylesheets/css_application.css","test/fixtures/scss_project/app/assets/stylesheets/css_erb_handler.css.erb","test/fixtures/scss_project/app/assets/stylesheets/css_sass_erb_handler.css.sass.erb","test/fixtures/scss_project/app/assets/stylesheets/css_scss_erb_handler.css.scss.erb","test/fixtures/scss_project/app/assets/stylesheets/globbed/globbed.css.scss","test/fixtures/scss_project/app/assets/stylesheets/globbed/nested/nested_glob.css.scss","test/fixtures/scss_project/app/assets/stylesheets/partials/_sass_import.css.sass","test/fixtures/scss_project/app/assets/stylesheets/partials/_scss_import.css.scss","test/fixtures/scss_project/app/assets/stylesheets/partials/_without_css_ext.scss","test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_sass.css.sass","test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/_relative_scss.css.scss","test/fixtures/scss_project/app/assets/stylesheets/partials/subfolder/relative_not_a_partial.css.scss","test/fixtures/scss_project/app/assets/stylesheets/sass_erb_handler.sass.erb","test/fixtures/scss_project/app/assets/stylesheets/scss_erb_handler.scss.erb","test/fixtures/scss_project/app/assets/stylesheets/subfolder/_defaults.css.scss","test/fixtures/scss_project/app/assets/stylesheets/subfolder/another_plain.css","test/fixtures/scss_project/app/assets/stylesheets/subfolder/plain.css","test/fixtures/scss_project/app/assets/stylesheets/subfolder/second_level.css.scss","test/fixtures/scss_project/app/controllers/application_controller.rb","test/fixtures/scss_project/app/helpers/application_helper.rb","test/fixtures/scss_project/app/mailers/.gitkeep","test/fixtures/scss_project/app/models/.gitkeep","test/fixtures/scss_project/app/views/layouts/application.html.erb","test/fixtures/scss_project/config.ru","test/fixtures/scss_project/config/application.rb","test/fixtures/scss_project/config/boot.rb","test/fixtures/scss_project/config/database.yml","test/fixtures/scss_project/config/environment.rb","test/fixtures/scss_project/config/environments/development.rb","test/fixtures/scss_project/config/environments/production.rb","test/fixtures/scss_project/config/environments/test.rb","test/fixtures/scss_project/config/initializers/backtrace_silencers.rb","test/fixtures/scss_project/config/initializers/inflections.rb","test/fixtures/scss_project/config/initializers/mime_types.rb","test/fixtures/scss_project/config/initializers/postprocessor.rb","test/fixtures/scss_project/config/initializers/secret_token.rb","test/fixtures/scss_project/config/initializers/session_store.rb","test/fixtures/scss_project/config/initializers/wrap_parameters.rb","test/fixtures/scss_project/config/locales/en.yml","test/fixtures/scss_project/config/routes.rb","test/fixtures/scss_project/db/seeds.rb","test/fixtures/scss_project/doc/README_FOR_APP","test/fixtures/scss_project/lib/tasks/.gitkeep","test/fixtures/scss_project/log/.gitkeep","test/fixtures/scss_project/public/404.html","test/fixtures/scss_project/public/422.html","test/fixtures/scss_project/public/500.html","test/fixtures/scss_project/public/favicon.ico","test/fixtures/scss_project/public/index.html","test/fixtures/scss_project/public/robots.txt","test/fixtures/scss_project/script/rails","test/fixtures/scss_project/vendor/assets/stylesheets/.gitkeep","test/fixtures/scss_project/vendor/plugins/.gitkeep","test/gemfiles/Gemfile-master","test/sass_rails_generators_test.rb","test/sass_rails_logger_test.rb","test/sass_rails_test.rb","test/support/sass_rails_test_case.rb","test/test_helper.rb"]
--- a/sass-rails.gemspec.erb
+++ b/sass-rails.gemspec.erb
@@ -15,10 +15,10 @@ Gem::Specification.new do |s|
 
   s.rubyforge_project = "sass-rails"
 
-  s.add_dependency 'sass',            '~> 3.2.0'
+  s.add_dependency 'sass',            '~> 3.2'
   s.add_dependency 'railties',        '>= 4.0.0', '< 5.0'
   s.add_dependency 'sprockets-rails', '~> 2.0'
-  s.add_dependency 'sprockets',       '~> 2.8', '<= 2.11.0'
+  s.add_dependency 'sprockets',       '~> 2.12'
 
   s.files         = [<%= files.map(&:inspect).join ',' %>]
   s.test_files    = [<%= test_files.map(&:inspect).join ',' %>]
--- a/lib/sass/rails/importer.rb
+++ b/lib/sass/rails/importer.rb
@@ -1,104 +1,96 @@
 require 'sprockets/sass_importer'
 
-module Sprockets
-  class SassImporter < Sass::Importers::Filesystem
-    GLOB = /\*|\[.+\]/
-
-    attr_reader :context
-    private :context
-
-    def extensions
-      {
-        'css'          => :scss,
-        'css.scss'     => :scss,
-        'css.sass'     => :sass,
-        'css.erb'      => :scss,
-        'scss.erb'     => :scss,
-        'sass.erb'     => :sass,
-        'css.scss.erb' => :scss,
-        'css.sass.erb' => :sass
-      }.merge!(super)
-    end
-
-    def find_relative(name, base, options)
-      if name =~ GLOB
-        glob_imports(name, Pathname.new(base), options)
-      else
-        engine_from_path(name, File.dirname(base), options)
-      end
-    end
-
-    def find(name, options)
-      if name =~ GLOB
-        nil # globs must be relative
-      else
-        engine_from_path(name, root, options)
-      end
-    end
-
-    def each_globbed_file(glob, base_pathname, options)
-      Dir["#{base_pathname}/#{glob}"].sort.each do |filename|
-        next if filename == options[:filename]
-        yield filename if File.directory?(filename) || context.asset_requirable?(filename)
+module Sass
+  module Rails
+    class SassImporter < Sass::Importers::Filesystem
+      GLOB = /\*|\[.+\]/
+
+      attr_reader :context
+      def initialize(context, *args)
+        @context = context
+        super(*args)
+      end
+
+      def extensions
+        {
+          'css'          => :scss,
+          'css.scss'     => :scss,
+          'css.sass'     => :sass,
+          'css.erb'      => :scss,
+          'scss.erb'     => :scss,
+          'sass.erb'     => :sass,
+          'css.scss.erb' => :scss,
+          'css.sass.erb' => :sass
+        }.merge!(super)
+      end
+
+      def find_relative(name, base, options)
+        if name =~ GLOB
+          glob_imports(name, Pathname.new(base), options)
+        else
+          engine_from_path(name, File.dirname(base), options)
+        end
       end
-    end
 
-    def glob_imports(glob, base_pathname, options)
-      contents = ""
-      each_globbed_file(glob, base_pathname.dirname, options) do |filename|
-        if File.directory?(filename)
-          depend_on(filename)
-        elsif context.asset_requirable?(filename)
-          depend_on(filename)
-          contents << "@import #{Pathname.new(filename).relative_path_from(base_pathname.dirname).to_s.inspect};\n"
+      def find(name, options)
+        if name =~ GLOB
+          nil # globs must be relative
+        else
+          engine_from_path(name, root, options)
         end
       end
-      return nil if contents.empty?
-      Sass::Engine.new(contents, options.merge(
-        :filename => base_pathname.to_s,
-        :importer => self,
-        :syntax => :scss
-      ))
-    end
 
-    private
+      private
 
-      def depend_on(filename)
-        context.depend_on(filename)
-        context.depend_on(globbed_file_parent(filename))
-      end
+        def each_globbed_file(glob, base_pathname, options)
+          Dir["#{base_pathname}/#{glob}"].sort.each do |filename|
+            next if filename == options[:filename]
+            if File.directory?(filename)
+              context.depend_on(filename)
+              context.depend_on(File.expand_path('..', filename))
+            elsif context.asset_requirable?(filename)
+              context.depend_on(File.dirname(filename))
+              yield filename
+            end
+          end
+        end
 
-      def globbed_file_parent(filename)
-        if File.directory?(filename)
-          File.expand_path('..', filename)
-        else
-          File.dirname(filename)
+        def glob_imports(glob, base_pathname, options)
+          contents = ""
+          each_globbed_file(glob, base_pathname.dirname, options) do |filename|
+            contents << "@import #{Pathname.new(filename).relative_path_from(base_pathname.dirname).to_s.inspect};\n"
+          end
+          return nil if contents.empty?
+          Sass::Engine.new(contents, options.merge(
+            :filename => base_pathname.to_s,
+            :importer => self,
+            :syntax => :scss
+          ))
         end
-      end
 
-      def engine_from_path(name, dir, options)
-        full_filename, syntax = Sass::Util.destructure(find_real_file(dir, name, options))
-        return unless full_filename && File.readable?(full_filename)
 
-        engine = Sass::Engine.new(evaluate(full_filename), options.merge(
-          syntax: syntax,
-          filename: full_filename,
-          importer: self
-        ))
+        def engine_from_path(name, dir, options)
+          full_filename, syntax = Sass::Util.destructure(find_real_file(dir, name, options))
+          return unless full_filename && File.readable?(full_filename)
+
+          context.depend_on full_filename
+          engine = Sass::Engine.new(evaluate(full_filename), options.merge(
+            syntax: syntax,
+            filename: full_filename,
+            importer: self
+          ))
 
-        if engine && (filename = engine.options[:filename])
-          @context.depend_on(filename)
+          engine
         end
 
-        engine
-      end
+        def evaluate(filename)
+          attributes = context.environment.attributes_for(filename)
+          processors = context.environment.preprocessors(attributes.content_type) +
+            attributes.engines.reverse - [Sass::Rails::ScssTemplate, Sass::Rails::SassTemplate]
 
-      def evaluate(filename)
-        attributes = context.environment.attributes_for(filename)
-        processors = context.environment.preprocessors(attributes.content_type) +
-          attributes.engines.reverse - [Sprockets::ScssTemplate, Sprockets::SassTemplate]
+          context.evaluate(filename, processors: processors)
+        end
 
-        context.evaluate(filename, processors: processors)
-      end
+    end
   end
 end
--- a/metadata.yml
+++ b/metadata.yml
@@ -17,14 +17,14 @@ dependencies:
     requirements:
     - - "~>"
       - !ruby/object:Gem::Version
-        version: 3.2.0
+        version: '3.2'
   type: :runtime
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - "~>"
       - !ruby/object:Gem::Version
-        version: 3.2.0
+        version: '3.2'
 - !ruby/object:Gem::Dependency
   name: railties
   requirement: !ruby/object:Gem::Requirement
@@ -65,20 +65,14 @@ dependencies:
     requirements:
     - - "~>"
       - !ruby/object:Gem::Version
-        version: '2.8'
-    - - "<="
-      - !ruby/object:Gem::Version
-        version: 2.11.0
+        version: '2.12'
   type: :runtime
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - "~>"
       - !ruby/object:Gem::Version
-        version: '2.8'
-    - - "<="
-      - !ruby/object:Gem::Version
-        version: 2.11.0
+        version: '2.12'
 description: Sass adapter for the Rails asset pipeline.
 email:
 - wycats@gmail.com