Class: VirtualKeywords::SexpStringifier

Inherits:
Object
  • Object
show all
Defined in:
lib/virtual_keywords/sexp_stringifier.rb

Overview

Class that turns a sexp back into a string of Ruby code.

Instance Method Summary collapse

Constructor Details

#initialize(unifier = Unifier.new, ruby2ruby = Ruby2Ruby.new) ⇒ SexpStringifier

Initialize the SexpStringifier

Arguments:

unifier: (Unifier) a Unifier, used by ParseTree/ruby2ruby (optional)
ruby2ruby: (Ruby2Ruby) a Ruby2Ruby, used by ParseTree/ruby2ruby
           (optional)


14
15
16
17
# File 'lib/virtual_keywords/sexp_stringifier.rb', line 14

def initialize(unifier = Unifier.new, ruby2ruby = Ruby2Ruby.new)
  @unifier = unifier
  @ruby2ruby = ruby2ruby
end

Instance Method Details

#stringify(sexp) ⇒ Object

Turn a sexp into a string of Ruby code.

Arguments:

sexp: (Sexp) the sexp to be stringified.

Returns:

(String) Ruby code equivalent to the sexp.


26
27
28
# File 'lib/virtual_keywords/sexp_stringifier.rb', line 26

def stringify(sexp)
  @ruby2ruby.process(@unifier.process(sexp))
end