Помогите понять 'требовать', хотите импортировать код из lib - PullRequest
4 голосов
/ 08 марта 2011

У меня в папке / lib есть что-то вроде:

/lib/some_folder/some_file.rb
/lib/some_folder2/some_file2.rb

Теперь в моем приложении rails 3 я буду ссылаться на методы из some_file и some_file2

Как я могу ссылаться на них с помощью/ o необходимость полностью квалифицировать их на основе их модуля :: class_name.method?

1 Ответ

3 голосов
/ 08 марта 2011

Я думаю, вы могли бы использовать оператор Include, как показано в следующем примере:

module_test.rb:

module ModuleTest
  class Class1
    def do_something
      puts "Class 1 do something"
    end
  end
end

module_test2.rb:

module ModuleTest2
  class Class2
    def do_something
      puts "Class 2 do something"
    end
  end
end

Квалификация модуля:

require_relative 'module_test'
require_relative 'module_test2'

ModuleTest::Class1.new.do_something
ModuleTest2::Class2.new.do_something

Выходы:

'Class 1 do something'
'Class 2 do something'

Использование включения:

require_relative 'module_test'
require_relative 'module_test2'
include ModuleTest
include ModuleTest2

Class1.new.do_something
Class2.new.do_something

Выходы:

'Class 1 do something'
'Class 2 do something'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...