Class | RuCodeGen::OptionHandler |
In: |
lib/rucodegen/cmd_line_handler.rb
|
Parent: | Object |
Базовый класс для парсинга специфических для какого-либо генератора опций командной строки.
Пример создания и использования:
class MyOptionHandler < RuCodeGen::OptionHandler def banner "My super cool generator v.1.0.23-beta3" end def setup( parser, result ) parser.on( "-C", "--cool OPTION", "cool generator option" ) do |p| result.cool_option = p end end def check( result ) fail "Cool generator must be activated by --cool" unless result.cool_option end end
Примечание. Методы OptionHandler#banner и OptionHandler#check являются необязательными и имеют реализацию по умолчанию. Предоставлять их можно только в случае необходимости.
Дополнительный баннер, который будет отображаться при выдачи справки о доступных опциях командной строки.
Должен возвращать nil, если баннер не требуется.
# File lib/rucodegen/cmd_line_handler.rb, line 42 def banner nil end
Проверка корректности значений разобранных опций, специфических для конкретного генератора.
Если дополнительная проверка не нужна, то данный метод может не переопределяться.
# File lib/rucodegen/cmd_line_handler.rb, line 66 def check( result ) end
Настройка парсера опций командной строки на специфические для генератора опции.
# File lib/rucodegen/cmd_line_handler.rb, line 53 def setup( parser, result ) fail "OptionHandler#setup must be defined in derived class" end