class Icomoon::Cli::ParseArgv
Public Class Methods
call(argv, params)
click to toggle source
# File lib/icomoon/cli/parse_argv.rb, line 4 def self.call(argv, params) result = {} params.each do |param| param.aliases.each do |aliaz| idx = argv.find_index { |arg| argv.include? aliaz } if idx value = param.needs_value ? argv.delete_at(idx + 1) : true argv.delete_at(idx) result[param.key] = value end end end if argv.count.nonzero? Icomoon::Cli.error "Unrecognized arguments: #{argv.join(', ')}" end result end