NoMethodError при использовании уточнений в модели ActiveRecord - PullRequest
0 голосов
/ 24 января 2019

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'

Что я здесь не так делаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...