Method: CliApplication::Argv#initialize

Defined in:
lib/cli_application/argv.rb

#initialize(argv) ⇒ Argv

Конструктор. Вызывается при создании класса приложения. Данный класс доступен в главной функции приложения (main) через переменную argv

Examples:

Примеры использования

puts argv.city    #=> 'Москва'

Parameters:

  • argv (Array)

    аргументы командной строки, введенные пользователем



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/cli_application/argv.rb', line 12

def initialize(argv)
  @params = Hash.new
  @full = Hash.new

  argv.each do |one|
    if one.match(/[a-z\_0-9]\=/i)
      pair = one.split('=')
      # UPDATE 2015-10-26 - при указании пустого параметра при запуске скрипта
      # он становился равным самому себе, поскольку split строки вида "param="
      # возвращал pair.first равное pair.last
      @params[pair.first.to_s.strip.downcase.to_sym] = pair.last if pair.count > 1
    else
      warn "WARNING: некорректный ключ параметра командной строки: #{one.inspect} (#{File.basename(__FILE__)} at #{__LINE__})"
    end
  end
  super(@params)
end