class Haml::Exec::Sass

:nodoc:
specific to Sass.
A class encapsulating executable functionality

def initialize(args)

:nodoc:
specific to Sass.
A class encapsulating executable functionality
def initialize(args)
  super
  @name = "Sass"
end

def process_result

def process_result
  super
  input = @options[:input]
  output = @options[:output]
  template = input.read()
  input.close() if input.is_a? File
  begin
    # We don't need to do any special handling of @options[:check_syntax] here,
    # because the Sass syntax checking happens alongside evaluation
    # and evaluation doesn't actually evaluate any code anyway.
    result = ::Sass::Engine.new(template, @options[:for_engine]).render
  rescue ::Sass::SyntaxError => e
    raise e if @options[:trace]
    raise "Syntax error on line #{get_line e}: #{e.message}"
  end
  output.write(result)
  output.close() if output.is_a? File
end

def set_opts(opts)

def set_opts(opts)
  super
  opts.on('-t', '--style NAME',
          'Output style. Can be nested (default), compact, compressed, or expanded.') do |name|
    @options[:for_engine][:style] = name.to_sym
  end
end