Вы можете реализовать отсутствующий метод для анализа имени метода и восстановления длинного из сокращенного:
finit_b_tid_n_pubdte_npubid(....)
Вам просто нужно определить, что означает каждая стенография между подчеркиванием:
def method_missing(id, *args)
fields_in = id.split(/_/)
fields_out = []
fields.each do |f|
case f
when "finit"
fields_out <<= "find_or initialize"
when "b"
fields_out <<= "by"
when "n"
fields_out <<= "and"
when.....
.....
end
end
send(fields_out.join("_"), args)
end
Я не запускал это, но этого должно быть достаточно, чтобы дать вам идею.