Every discussion of private vs. public Ruby methods in a class shows how to declare all following methods private (or public or protected):
class airplane
def preflight
end
def engine_start
return unless preflight_complete?
end
private
def preflight_complete?
end
end
That works great most of the time, where you put all your public methods at the top, and all your private methods down below.
I've got a good-sized class with three public methods, and a few dozen private ones. The private ones are all sequenced in a logical manner for developer comfort.
Now, I find there are 2 or 3 formerly-private methods I need to make public. I don't want to pull them to the top, away from their contextual neighbors. I also find it cludgey to flop back and forth between public and private each time. This is particularly annoying if the screen size pushes the public flag out of view and it's not obvious that a second or third new method are unintentionally public just because I inserted them after the loner public method.
So, is there a graceful way to avoid flopping public/private back and forth to make just one method public?