Я довольно новичок в Ruby, так голый со мной, если я просто делаю что-то глупое. У меня есть ситуация, когда я могу получить доступ к функциям модуля из одного файла, но не к другому. Эти файлы находятся в одном каталоге. Я попытаюсь воссоздать код лучшее, что я могу:Ошибка загрузки модуля в Ruby
Структура каталогов:
init.rb
lib/FileGenerator.rb
lib/AutoConfig.rb
lib/modules/helpers.rb
Библиотека/AutoConfig.rb
#!/usr/bin/env ruby
require 'filegenerator'
require 'modules/helpers'
class AutoConfig
include Helpers
def initialize
end
def myFunction
myhelper #here's the module function
end
def mySecondFunction
FileGenerator.generatorFunction # call to the FileGenerator
end
end
Библиотека/FileGenerator.rb
#!/usr/bin/env ruby
require 'modules/helpers'
class FileGenerator
include Helpers
def initialize
end
def self.generatorFunction
myhelper #here's the module function that doesn't work
end
end
lib/modules/helper.rb
#!/usr/bin/env ruby
module Helpers
def myhelper
#Do Stuff
end
end
Файл AutoConfig является основной рабочей лошадкой приложения. Когда он вызывает функцию модуля myhelper
, это не дает мне никаких проблем. AutoConfig частично выполняет вызовы FileGenerator.generatorFunction
.
FileGenerator.generatorFunction
также содержит ту же самую функцию модуля, но по какой-то причине, когда я запускаю программу, я получаю следующее сообщение об ошибке:
filegenerator.rb:26:in `generatorFunction': undefined method `myhelper' for FileGenerator:Class (NoMethodError)
Я был на этом сейчас в течение нескольких часов, пытаясь много различных комбинаций и не могу понять, где я ошибаюсь. Любая помощь будет оценена по достоинству.
К сожалению, это была опечатка в транскрипции. Обновлен вопрос – voodooGQ
Обновлен ответ –
В этом была проблема! Большое спасибо, и я обязательно поменяю имена методов! – voodooGQ