Method: Array#extract_option_value

Defined in:
lib/lib/array.rb

#extract_option_value(option, args = {}) ⇒ Object



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/lib/array.rb', line 81

def extract_option_value(option, args = {})
  args[:multiple] = false if args[:multiple].nil?

  args[:separator] = '=' if args[:separator].nil?

  result = false
  if args[:multiple]
    multiple_value = []
    while include? option
      index = self.index(option)
      delete_at(index)
      result = true
      value = at(index)
      multiple_value << at(index).split(args[:separator]).first
      multiple_value << at(index).split(args[:separator]).last
      delete_at(index)
    end
    return [result, multiple_value]
  else
    value = nil
    while include? option
      index = self.index(option)
      delete_at(index)
      result = true
      value = at(index)
      delete_at(index)
    end
    return [result, value]
  end
end