У меня есть метод, который я буду использовать sh, чтобы сделать мой код немного более разборчивым (на мой взгляд)
Мой код:
def format_chosen_address(address)
# Add country before the postcode
postcode = address.split("\n").last
country = postcode.is_welsh? ? 'WALES' : 'ENGLAND'
address.split("\n").insert(-2, country).join(' ')
end
def is_welsh?
welsh_postcodes = ['SA1 6AZ', 'SA7 9BR', 'CF10 1AX']
welsh_postcodes.include? self
end
Я получаю следующее исключение:
NoMethodError: undefined method `is_welsh?' for "SA1 6AZ":String
Где я ошибся, потому что таким образом можно использовать мысленные методы self и boolean?
Я могу заставить его работать, если я сделаю следующее, но это не так не читайте как приятно для меня.
def format_chosen_address(address)
# Add country before the postcode
postcode = address.split("\n").last
country = is_welsh?(postcode) ? 'WALES' : 'ENGLAND'
address.split("\n").insert(-2, country).join(' ')
end
def is_welsh?(postcode
welsh_postcodes = ['SA1 6AZ', 'SA7 9BR', 'CF10 1AX']
welsh_postcodes.include? postcode
end