Гочась для написания рубинов - PullRequest
5 голосов
/ 11 апреля 2010

Были вопросы с ответами по как до написать рубинов, но чего следует избегать при написании рубинов? Что может вызвать проблемы у людей, использующих ваш rubygem?

1 Ответ

5 голосов
/ 11 апреля 2010

Упаковка драгоценных камней: лучшие практики дает множество советов, некоторые из которых включают

  • Не загрязнять путь глобальной загрузки. В идеале, в каталоге lib должно быть только foo.rb, а все остальные файлы - в lib/foo.

  • Не require файлы с использованием __FILE__.

  • Не полагайтесь ни на что вне пути загрузки. Папки могут иметь ту же структуру, что и в исходной версии. Например, не используйте что-то вроде

    VERSION = :: File.read (:: File.join (:: File.dirname ( FILE ), "..", "..", "VERSION")). Strip

  • Не удается $LOAD_PATH в течение lib.

  • Укажите VERSION константу.

  • Не зависит от рубинов. Человек, использующий ваш код, может использовать не рубины, а какую-то другую упаковочную систему (или не упаковочную систему). Аналогично, не упоминайте зависимости версий в самом коде или rescue Gem::LoadError.

Зависимости Rubygems. Пожалуйста ... утверждает, что вы не должны перечислять необязательные зависимости времени выполнения и должны отделить разработчика от зависимостей времени выполнения.

Из моего собственного опыта : если ничего другого, попробуйте собрать и установить свой камень локально, прежде чем выпустить его в дикую природу. Избегает выпусков коричневых бумажных пакетов.

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