File tree Expand file tree Collapse file tree 2 files changed +36
-1
lines changed Expand file tree Collapse file tree 2 files changed +36
-1
lines changed Original file line number Diff line number Diff line change @@ -23,7 +23,12 @@ def one_plus_one = 1 + 1
23
23
24
24
within_files Synvert ::ALL_RUBY_FILES + Synvert ::ALL_RAKE_FILES do
25
25
find_node '.def_node[body!=nil][body.body.length=1]' do
26
- body_column = mutation_adapter . get_start_loc ( node . body . body . first ) . column
26
+ first_body_node = node . body . body . first
27
+ if %i[ if_node unless_node ] . include? ( first_body_node . type ) && first_body_node . end_keyword . nil?
28
+ break
29
+ end
30
+ break if first_body_node . type == :multi_write_node
31
+ body_column = mutation_adapter . get_start_loc ( first_body_node ) . column
27
32
new_body = node . body . body . first . to_source . split ( "\n " ) . map { |line | line . sub ( /^ {#{ body_column } }/ , '' ) } . join ( "\n " )
28
33
replace_with "def {{name}}{{lparen}}{{parameters}}{{rparen}} = #{ new_body } "
29
34
end
Original file line number Diff line number Diff line change @@ -85,4 +85,34 @@ def generate_invitation_token = loop do
85
85
86
86
include_examples 'convertable'
87
87
end
88
+
89
+ context 'do not process if end_keyword is nil' do
90
+ let ( :test_content ) { <<~EOS }
91
+ def current_user
92
+ @current_user ||= User.find(session[:user_id]) if session[:user_id]
93
+ end
94
+ EOS
95
+ let ( :test_rewritten_content ) { <<~EOS }
96
+ def current_user
97
+ @current_user ||= User.find(session[:user_id]) if session[:user_id]
98
+ end
99
+ EOS
100
+
101
+ include_examples 'convertable'
102
+ end
103
+
104
+ context 'do not process for multi_write_node' do
105
+ let ( :test_content ) { <<~EOS }
106
+ def index
107
+ @pagy, @builds = pagy(@organization.builds)
108
+ end
109
+ EOS
110
+ let ( :test_rewritten_content ) { <<~EOS }
111
+ def index
112
+ @pagy, @builds = pagy(@organization.builds)
113
+ end
114
+ EOS
115
+
116
+ include_examples 'convertable'
117
+ end
88
118
end
You can’t perform that action at this time.
0 commit comments