class Unparser::Emitter::DSym

Dynamic symbol literal emitter

Private Instance Methods

dispatch() click to toggle source
# File lib/unparser/emitter/dsym.rb, line 11
def dispatch
  write(':"')
  children.each do |child|
    case child.type
    when :str
      emit_str_child(child)
    when :begin
      emit_begin_child(child)
    end
  end
  write('"')
end
emit_begin_child(component) click to toggle source
# File lib/unparser/emitter/dsym.rb, line 34
def emit_begin_child(component)
  write('#{')
  visit(unwrap_single_begin(component))
  write('}')
end
emit_str_child(value) click to toggle source
# File lib/unparser/emitter/dsym.rb, line 24
def emit_str_child(value)
  string = value.children.first
  if string.end_with?("\n")
    write(string.inspect[1..-4])
    nl
  else
    write(string.inspect[1..-2])
  end
end