На самом деле нет метода с именем find_by_cellphone
, это просто ActiveRecord, магически использующий Ruby's method_missing
, чтобы динамически сделать это за вас.
Чтобы сделать то, что вы хотите, просто определите find_by_cellphone
какметод класса в вашем Cellphone
классе, и он будет использовать его вместо встроенного:
def self.find_by_cellphone(number)
normalized_number = ... # normalize your number
self.where(:cellphone => normalized_number).first
end