Я знаю, что я делаю что-то глупое или не умею делать что-то умное - я часто виноват в обоих.
Вот пример того, что причиняет мне боль:
У меня есть модуль, сохраненный в /lib как test_functions.rb, который выглядит как
module TestFunctions
def abc
puts 123
end
end
Переходя в ruby script/runner, я вижу, что модуль загружается автоматически (хорошее соглашение о конфигурации и все это...)
>> TestFunctions.instance_methods
=> ["abc"]
поэтому метод известен, попробуйте назвать его
>> TestFunctions.abc
NoMethodError: undefined method `abc' for TestFunctions:Module from (irb):3
Неа. Как насчет этого?
>> TestFunctions::abc
NoMethodError: undefined method `abc' for TestFunctions:Module from (irb):4
Test Нет снова.
defined?(TestFunctions::abc) #=> nil, but
TestFunctions.method_defined? :abc #=> true
Как я сказал наверху, я знаю, что я тупой, может ли кто-нибудь меня отключить?