-class R2Template < Tilt::Template
- self.default_mime_type = 'text/css'
+require "r2"
- def self.engine_initialized?
- defined? ::R2
- end
-
- def initialize_engine
- require_template_library "r2"
- end
-
- def prepare
- @output = R2.r2(data)
- end
-
- def evaluate(_scope, _locals, &_block)
- @output
+class R2ScssProcessor < Sprockets::ScssProcessor
+ def self.call(input)
+ output = super(input)
+ data = R2.r2(output[:data])
+ output.delete(:map)
+ output.merge(:data => data)
end
end
-Rails.application.assets.register_engine ".r2", R2Template
+Rails.application.config.assets.configure do |env|
+ env.register_mime_type "text/r2+scss", :extensions => [".r2.scss"]
+ env.register_transformer "text/r2+scss", "text/css", R2ScssProcessor
+ env.register_preprocessor "text/r2+scss", Sprockets::DirectiveProcessor.new(:comments => ["//", ["/*", "*/"]])
+end