Class: ToSource::Emitter::ReceiverCase
Constant Summary
REGISTRY
Instance Attribute Summary
#node
Instance Method Summary
collapse
build, handle, run, #source
Instance Method Details
#dispatch ⇒ Object
7
8
9
10
11
12
13
|
# File 'lib/to_source/emitter/receiver_case.rb', line 7
def dispatch
emit('case ')
visit(node.receiver)
emit_whens
emit_else
emit_end
end
|
#emit_else ⇒ Object
15
16
17
18
19
20
21
22
|
# File 'lib/to_source/emitter/receiver_case.rb', line 15
def emit_else
body = node.else
return if body.kind_of?(Rubinius::AST::NilLiteral)
emit('else')
indent
visit(body)
unindent
end
|
#emit_whens ⇒ Object
24
25
26
27
28
29
30
31
|
# File 'lib/to_source/emitter/receiver_case.rb', line 24
def emit_whens
first = true
node.whens.each do |member|
new_line if first
first = false
visit(member)
end
end
|