Method: CliApplication::Argv#set_argv
- Defined in:
- lib/cli_application/argv.rb
#set_argv(action, key, default, description) ⇒ Object
Метод добавления аргумента командной строки. Вызывается при инициализации приложения, служит для определения списка аргументов командной строки, формирвоания подсказок и установки значения по умолчанию. В классе принят не традиционный для Linux формат командной строки. Пример вызова: add_city.rb user_id=123 name=Максим city=‘Верхние Луки’.
Параметры, добавленные данным методом доступны через переменную argv (см. примеры)
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/cli_application/argv.rb', line 52 def set_argv(action, key, default, description) key = key.downcase.strip.to_sym unless @params.keys.include?(key) @params[key] = default end case action when :bool, :boolean @params[key] = @params[key].to_s.to_bool when :split @params[key] = ::StTools::String.split(@params[key].to_s, ',', sort: true) when :range @params[key] = @params[key].to_s.to_range(sort: true, uniq: true) when :range_no_uniq @params[key] = @params[key].to_s.to_range(sort: true) when :float @params[key] = @params[key].to_s.strip.to_f when :integer @params[key] = @params[key].to_s.strip.to_i when :downcase @params[key] = @params[key].to_s.downcase when :upcase @params[key] = @params[key].to_s.upcase when :normalize @params[key] = @params[key].to_s.normalize when :caps @params[key] = @params[key].to_s.caps when :string @params[key] = @params[key].to_s else end convert_from_hash set_full(action, key, default, @params[key], description) end |