So che sto facendo qualcosa di stupido o non riesco a fare qualcosa di intelligente - Sono spesso colpevole di entrambi.Rails: non posso chiamare una funzione in un modulo in/lib - cosa sto facendo male?
Ecco un esempio di ciò che mi sta causando dolore:
ho un modulo salvato in/lib come test_functions.rb che assomiglia a questo
module TestFunctions
def abc
puts 123
end
end
Entrando in script Ruby/corridore, posso vedere che il modulo sta caricando automaticamente (good ol' convenzione sulla configurazione e tutto il resto ...)
>> TestFunctions.instance_methods
=> ["abc"]
in modo che il metodo è noto, proviamo definendolo
>> TestFunctions.abc
NoMethodError: undefined method `abc' for TestFunctions:Module from (irb):3
No. Cosa ne pensi di questo?
>> TestFunctions::abc
NoMethodError: undefined method `abc' for TestFunctions:Module from (irb):4
prova Nope di nuovo.
defined?(TestFunctions::abc) #=> nil, but
TestFunctions.method_defined? :abC#=> true
Come ho detto in cima, so che sono stupido, qualcuno può dumbder me?
Hai guardato la risposta di Marcin? – m33lky