Ruby: 2.3.7
Rails: 4.2.10
У меня есть следующая реализация, где я хочу использовать уточнения для добавления метода в класс String
module StringExtensions
refine String do
def numeric?
str = String.new(self)
(/\A\d+\z/ =~ str) == 0
end
end
end
class ShippingAddress < Address
using StringExtensions
# ...
private
def normalise_address_1
return unless address_1.numeric?
self.address_1 = "Calle #{address_1}"
end
end
Как видно, numeric?
- усовершенствованный метод класса String.
Однако у меня не получается с NoMethodError
NoMethodError: undefined method `numeric?' for "20":String
from (pry):1:in `normalise_address_1'
Что я здесь не так делаю?