Доступ к модулю в каталоге lib (Ruby on rails)

Я пытаюсь получить доступ к функции в модуле, который находится в каталоге lib моего приложения. (lib/search.rb)

На самом деле я пытаюсь найти почтовый индекс для поиска: http://joshhuckabee.com/simple-zip-code-perimeter-search-rails

Библиотека /search.rb

module Search
  def zip_code_perimeter_search(zip, radius)
   #code
  end
end

Я пытаюсь вызвать функцию zip_code_perimeter_search из консоли rails или с моего контроллера, оба раза я получаю метод undefined. Любые идеи?

Ответ 1

В консоли/контроллере:

include Search
zip_code_perimeter_search(zip, radius)

В случае, если он не загружается автоматически в Rails 3, в вашем файле config/application.rb вы можете сделать это:

# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths += Dir["#{config.root}/lib/**/"]

Ответ 2

Для вызова метода модуля непосредственно включите его в класс, а затем вызовите его в экземпляре класса.

Class call_module_method
    include Search
end

Теперь

call_module_method.new.zip_code_perimeter_search(zip, radius)

будет оценивать код внутри метода zip_code_perimeter_search(zip, radius)