class Haml::Exec::Sass
:nodoc:
specific to Sass.
A class encapsulating executable functionality
def initialize(args)
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