very ugly.. sometimes I just need to passed yeah = true, but I have to
added 'hello' first.
what should I do?
Define two methods. At least from the interface this is cleaner.
Generally flags that control method behavior are considered bad
practice because they tend to make the implementation of a method more
complex and tie things together that might really be independent (just
consider what happens if you inherit a class and want to change only
one of the two variants).
Note, you can still share an internal implementation under the hood e.g.
def ss1
ss_impl "something"
end
def ss2
ss_impl "other thing"
end
private
def ss_impl(x)
...
end
But your example is really a bit short to come up with a definitive
answer how to improve this.