Class RuCodeGen::RunMode
In: lib/rucodegen/run_mode.rb
Parent: Object

Класс, основной задачей которого является определение режима работы скрипта RuCodeGen.

В начале работы скрипта нужно обратиться к методу RunMode#detect. Для получения режима в дальнейшем нужно обращаться к методу RunMode#mode.

Поддерживаются следующие режимы:

BUILD
кодогенерациия только в случае, если описание изменилось или отсутствует один из сгенерированных ранее файлов;
REBUILD
принудительная перегенерация;
CLEAN
удаление всех сгенерированных файлов;
DRY_RUN
имитация генерации, никаких дейсвтвий, кроме загрузки описания не предпринимается.

Methods

Constants

BUILD = RuCodeGenOptionHandler::BUILD   Нормальный режим кодогенерации.
REBUILD = RuCodeGenOptionHandler::REBUILD   Режим принудительной кодогенерации.
CLEAN = RuCodeGenOptionHandler::CLEAN   Режим очистки результатов кодогенерации.
DRY_RUN = RuCodeGenOptionHandler::DRY_RUN   Режим имитации кодогенерации.
UNKNOWN = RuCodeGenOptionHandler::UNKNOWN   Признак того, что текущий режим еще не определен.

Public Class methods

Добавление еще одного обработчика аргументов командной строки.

handler
объект, реализующий интерфейс OptionHandler.

[Source]

# File lib/rucodegen/run_mode.rb, line 64
        def RunMode.add_option_handler( handler )
                @@cmd_line_handler.add_option_handler( handler )
        end

Определение режима работы посредством парсинга аргументов командной строки.

[Source]

# File lib/rucodegen/run_mode.rb, line 47
        def RunMode.detect
                @@cmd_line_handler.parse( ARGV )              
                @@mode = options.rucodegen_mode
        end

Получение текущего режима работы. Если режим работы еще не был определен, то для его определения вызывается RunMode#detect.

[Source]

# File lib/rucodegen/run_mode.rb, line 55
        def RunMode.mode
                RunMode.detect if UNKNOWN == @@mode
                @@mode
        end

Получение списка опций командной строки.

Порождает исключение при попытке обращения к спику до того, как опции командной строки будут разобраны.

[Source]

# File lib/rucodegen/run_mode.rb, line 73
        def RunMode.options
                @@cmd_line_handler.options
        end

[Validate]

Hosted by uCoz