Hello!

Some time ago we found out that Ruby 3.0/3.1 handles the keyword method 
arguments a
bit differently than Ruby 2.5. See more details in
https://bugzilla.suse.com/show_bug.cgi?id=1195226#c4.

We fixed one place but the question was whether some other code was also 
affected.

I wrote a simple script which parses Ruby files and tries to find the 
non-matching
method calls. The script [1] is simple and can only find mismatching static 
methods
(it does not track the variable content) and still might report some false 
positives.

But it did not found any other problematic place (just some false positives).


I'm announcing this just for your future reference. In most cases using plain 
"grep"
or "ack" is enough for searching in the YaST Ruby sources.

But if you ever need to do something non-trivial where simple "grep" is not 
enough
(or the regexp would be too complicated) then an example script might be handy.


Technical details:

It uses the "rubocop-ast" library which was extracted from Rubocop and provides 
nice
functions for parsing and processing Ruby files.



Enjoy! :)

Ladislav



[1] https://github.com/yast/helper_scripts/blob/master/ruby/scan_kwoptargs/scan_keyword_arguments.rb




--
Ladislav Slezák
YaST Developer

SUSE LINUX, s.r.o.
Corso IIa
Křižíkova 148/34
18600 Praha 8

Reply via email to