Как мне получить файл из каталога с Ruby? - PullRequest
0 голосов
/ 11 октября 2009

Я думаю, что здесь что-то упущено. У меня есть такой каталог:

myapp
|-lib
  |-package1
    |-dostuff.rb
  |-package2
    |-dostuff.rb

С консоли irb я пытаюсь протестировать библиотеку, прежде чем добавить ее в свой реальный проект (приложение Rails). Однако, набрав это:

require 'lib/package1/dostuff'

возвращает ошибку о том, что не может найти файл для загрузки. Я добавил каталог lib в путь загрузки, но не могу загрузить файл.

Что я забыл? Два имени файла не обязательно должны быть одинаковыми, но именно так они и должны начинаться (они автоматически генерируются из некоторых веб-сервисов, которые мне нужно вызывать с использованием soap4r; каждый пакет представляет отдельную группу API веб-сервисов)

Ответы [ 2 ]

5 голосов
/ 11 октября 2009

Если каталог "lib" находится в пути загрузки, требуемый аргумент должен быть относительно lib. Так что require 'package1/dostuff' без lib, иначе он будет искать lib/lib/package1/dostuff.rb.

0 голосов
/ 19 мая 2012

В Ruby 1.9 есть новый метод require_relative, который позволит вам делать require_relative "../package2/dostuff" из package1/dostuff.rb.

...