| 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