Рекомендуемый макет для приложения Ruby CLI - PullRequest
3 голосов
/ 14 января 2012

Во-первых, я не использую рельсы.Это ванильное рубиновое приложение.Я читал о упаковке приложения CLI ruby ​​как GEM .

Так что я думаю, что мой вопрос будет, это рубиновый путь?Подходит ли этот макет для автозагрузки классов?

Я пришел из фона PHP, где я привык к макетам приложений, которые придерживаются стиля PSR-0 (см. Раздел примеров).

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Да, способ создания и распространения приложения командной строки Ruby более или менее описан в этой статье:

  • bin - exe идет сюда
  • lib/your_app.rb - требуются все файлы в lib/your_app
  • lib/your_app/whatever.rb - модули и файлы для создания приложения командной строки
  • your_app.gemspec - гемспек; убедитесь, что вы упомянули, что есть файл bin
  • Rakefile - управление разработкой
  • test - да, тесты

Это нормально - разбить ваше приложение на классы и модули внутри lib. При распространении через RubyGems приложение командной строки будет находиться на пути пользователя и будет иметь доступ ко всему в lib.

RubyGems имеет первоклассную поддержку для распространения приложений командной строки; это не только для библиотек.

0 голосов
/ 16 апреля 2019

На самом деле вы можете выполнить любой файл ruby ​​из интерфейса командной строки (CLI), используя console_runner gem. Все, что вам нужно, это добавить аннотации ( YARD -подобный синтаксис) к вашему Ruby-коду и затем выполнить его из командной строки:

$ c_run /path/your_file.rb say_hello

/ путь / your_file.rb

# @runnable
class MyClass

    # @runnable
    def say_hello
      puts 'Hello!'
    end

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