class Sexp2Ruby::Node::Case

Public Instance Methods

to_s(exp) click to toggle source
# File lib/sexp2ruby/node/case.rb, line 4
def to_s(exp)
  result = []
  expr = process exp.shift
  if expr
    result << "case #{expr}"
  else
    result << "case"
  end
  until exp.empty?
    pt = exp.shift
    if pt and pt.first == :when
      result << "#{process(pt)}"
    else
      code = indent(process(pt))
      code = indent("# do nothing") if code =~ /^\s*$/
      result << "else\n#{code}"
    end
  end
  result << "end"
  result.join(LF)
end