Да, параметры по умолчанию просто указываются в сигнатуре метода:
def set_blah(force=false)
do_something if new_record? || force
end
Вы можете попробовать использовать опции, чтобы сделать вашу вызывающую последовательность более читабельной:
def set_blah(options = {:force => false})
do_something if new_record? || options[:force]
end
Если указать это явно, ваша вызывающая последовательность будет выглядеть примерно так:
set_blah
или
set_blah(:force => true)
, который, кажется, проясняет в точке вызова, что делает @ set_blah @. Кроме того, ваш rdoc покажет аргументы метода по умолчанию, так что это своего рода самодокументирование.