File tree 2 files changed +45
-0
lines changed
2 files changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ # frozen_string_literal: true
2
+
3
+ Synvert ::Rewriter . new 'ruby' , 'prefer-endless-method' do
4
+ configure ( parser : Synvert ::PRISM_PARSER )
5
+
6
+ description <<~EOS
7
+ It prefers endless method.
8
+
9
+ ```ruby
10
+ def one_plus_one
11
+ 1 + 1
12
+ end
13
+ ```
14
+
15
+ =>
16
+
17
+ ```ruby
18
+ def one_plus_one = 1 + 1
19
+ ```
20
+ EOS
21
+
22
+ within_files Synvert ::ALL_RUBY_FILES + Synvert ::ALL_RAKE_FILES do
23
+ find_node '.def_node[body!=nil][body.body.length=1]' do
24
+ replace_with 'def {{name}} = {{body}}'
25
+ end
26
+ end
27
+ end
Original file line number Diff line number Diff line change
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec . describe 'Prefer endless method' do
6
+ let ( :rewriter_name ) { 'ruby/prefer-endless-method' }
7
+ let ( :fake_file_path ) { 'foobar.rb' }
8
+ let ( :test_content ) { <<~EOS }
9
+ def one_plus_one
10
+ 1 + 1
11
+ end
12
+ EOS
13
+ let ( :test_rewritten_content ) { <<~EOS }
14
+ def one_plus_one = 1 + 1
15
+ EOS
16
+
17
+ include_examples 'convertable'
18
+ end
You can’t perform that action at this time.
0 commit comments