Podemos definir parâmetros opcionais com valores padrão em Ruby:
def validate(username, options = {})
options
end
validate 'user'
=> {}
Mas você sabia que também podemos definir o valor padrão de um parâmetro opcional usando o valor de outro parâmetro?
def welcome(username, domain, email = "#{username}@#{domain}")
email
end
welcome 'user', 'host.com'
=> 'user@host.com'