Module: AssetPocket::SourceFilter::Sass

Extended by:
Sass
Included in:
Sass
Defined in:
lib/asset_pocket/source_filter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#default_optionsObject

Returns the value of attribute default_options.



9
10
11
# File 'lib/asset_pocket/source_filter.rb', line 9

def default_options
  @default_options
end

Instance Method Details

#render(filename, content) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/asset_pocket/source_filter.rb', line 14

def render(filename, content)
    options = { :filename => filename }.merge(default_options)

    if filename =~ /\.sass$/i
        options[:syntax] = :sass
    elsif filename =~ /\.scss$/i
        options[:syntax] = :scss
    else
        return content
    end

    require 'sass' # Load only when needed

    begin
        ::Sass::Engine.new(content, options).render

    rescue ::Sass::SyntaxError => error
        "/* #{File.basename(filename)}: #{error.to_s.gsub("*/", "* /")} */"
    end
end