File tree Expand file tree Collapse file tree 3 files changed +38
-0
lines changed Expand file tree Collapse file tree 3 files changed +38
-0
lines changed Original file line number Diff line number Diff line change @@ -7,4 +7,5 @@ module Rails
7
7
require 'sass/rails/version'
8
8
require 'sass/rails/helpers'
9
9
require 'sass/rails/importer'
10
+ require 'sass/rails/template'
10
11
require 'sass/rails/railtie'
Original file line number Diff line number Diff line change 2
2
3
3
module Sass ::Rails
4
4
class Railtie < ::Rails ::Railtie
5
+ module SassContext
6
+ attr_accessor :sass_config
7
+ end
8
+
5
9
config . sass = ActiveSupport ::OrderedOptions . new
6
10
7
11
# Establish static configuration defaults
@@ -47,6 +51,11 @@ class Railtie < ::Rails::Railtie
47
51
config . sass . full_exception = app . config . consider_all_requests_local
48
52
end
49
53
54
+ if app . assets
55
+ app . assets . context_class . extend ( SassContext )
56
+ app . assets . context_class . sass_config = app . config . sass
57
+ end
58
+
50
59
Sass . logger = app . config . sass . logger
51
60
end
52
61
Original file line number Diff line number Diff line change
1
+ require "sprockets/sass_template"
2
+
3
+ module Sprockets
4
+ class SassTemplate
5
+ def evaluate ( context , locals , &block )
6
+ cache_store = SassCacheStore . new ( context . environment )
7
+
8
+ options = {
9
+ :filename => eval_file ,
10
+ :line => line ,
11
+ :syntax => syntax ,
12
+ :cache_store => cache_store ,
13
+ :importer => SassImporter . new ( context , context . pathname ) ,
14
+ :load_paths => context . environment . paths . map { |path | SassImporter . new ( context , path ) } ,
15
+ :sprockets => {
16
+ :context => context ,
17
+ :environment => context . environment
18
+ }
19
+ }
20
+
21
+ sass_config = context . environment . context_class . sass_config . merge ( options )
22
+ ::Sass ::Engine . new ( data , sass_config ) . render
23
+ rescue ::Sass ::SyntaxError => e
24
+ context . __LINE__ = e . sass_backtrace . first [ :line ]
25
+ raise e
26
+ end
27
+ end
28
+ end
You can’t perform that action at this time.
0 commit comments