Not this way. We would just incrementally build Ruby using previous Ruby (IOW there would be `BR: ruby` in .spec file). That would be likely good as long as Fedora does not introduce new architecture. Then we would need manually build some Ruby, probably without patches and then use this Ruby for build of Ruby with patches.
I think if we are able to do this right, then we can choose from option 1 and 2 by setting the right flags. Both options has their pros and cons.
I see. The pattern `BR: ruby` in ruby.spec file is actually like what gcc is doing as `BuildRequires: gcc, gcc-c++` in gcc.spec file. Maybe we are able to do this right.