class Haml::Exec::Sass
def process_result
Processes the options set by the command-line arguments,
def process_result if @options[:interactive] require 'sass' require 'sass/repl' ::Sass::Repl.new(@options).run return end super begin input = @options[:input] output = @options[:output] tree = if input.is_a?(File) && !@options[:check_syntax] ::Sass::Files.tree_for(input.path, @options[:for_engine]) else # 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. ::Sass::Engine.new(input.read(), @options[:for_engine]).to_tree end input.close() if input.is_a?(File) output.write(tree.render) output.close() if output.is_a? File rescue ::Sass::SyntaxError => e raise e if @options[:trace] raise "Syntax error on line #{get_line e}: #{e.message}" end end