Skip to content

Commit b92be07

Browse files
authored
Merge pull request #392 from viralpraxis/fix-rescue-node-in-class-self-unparsing
Fix `rescue` in `class << self` unparsing
2 parents f273426 + 237c4d6 commit b92be07

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

lib/unparser.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@ def self.buffer(source, identification = '(string)')
250250
require 'unparser/emitter/defined'
251251
require 'unparser/emitter/dstr'
252252
require 'unparser/emitter/dsym'
253+
require 'unparser/emitter/ensure'
253254
require 'unparser/emitter/flipflop'
254255
require 'unparser/emitter/float'
255256
require 'unparser/emitter/flow_modifier'

lib/unparser/emitter/ensure.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# frozen_string_literal: true
2+
3+
module Unparser
4+
class Emitter
5+
# Emitter for ensure nodes
6+
class Ensure < self
7+
handle :ensure
8+
9+
private
10+
11+
def dispatch
12+
emit_ensure(node)
13+
end
14+
end # Ensure
15+
end # Emitter
16+
end # Unparser

test/corpus/semantic/rescue.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,11 @@ module M
33
rescue => e
44
e
55
end
6+
class A
7+
class << self
8+
rescue
9+
else
10+
ensure
11+
end
12+
end
13+

0 commit comments

Comments
 (0)