Ao escrever to_json
métodos personalizados em seus objetos ruby, não se esqueça de que você precisa aceitar argumentos.
O seguinte falhará com um wrong number of arguments (1 for 0) (ArgumentError)
erro:
def to_json
{'name' => name}.to_json
end
Esta é a versão correta:
def to_json(*args)
{'name' => name}.to_json(*args)
end