class Hanami::Assets::Compilers::Sass

Sass/SCSS Compiler

@since 0.3.0 @api private

Constants

EXTENSIONS

@since 0.3.0 @api private

Public Class Methods

eligible?(name) click to toggle source

@since 0.3.0 @api private

# File lib/hanami/assets/compilers/sass.rb, line 17
def self.eligible?(name)
  name.to_s =~ EXTENSIONS
end
new(*) click to toggle source

@since 1.3.3 @api private

Calls superclass method Hanami::Assets::Compiler::new
# File lib/hanami/assets/compilers/sass.rb, line 23
def initialize(*)
  super
  require "sassc"
end

Private Instance Methods

dependencies() click to toggle source

@since 0.3.0 @api private

# File lib/hanami/assets/compilers/sass.rb, line 43
def dependencies
  renderer.dependencies.map(&:filename)
rescue source::NotRenderedError
  []
end
renderer() click to toggle source

@since 0.3.0 @api private

# File lib/hanami/assets/compilers/sass.rb, line 32
def renderer
  @renderer ||=
    ::SassC::Engine.new(
      source.read,
      syntax: target_syntax,
      load_paths: load_paths
    )
end
target_syntax() click to toggle source

@since 1.3.2 @api private

# File lib/hanami/assets/compilers/sass.rb, line 51
def target_syntax
  if source.extname =~ /sass\z/.freeze
    :sass
  else
    :scss
  end
end