lib/hobo/patches/slop.rb in hobo-inviqa-0.0.14 vs lib/hobo/patches/slop.rb in hobo-inviqa-0.0.15

- old
+ new

@@ -44,6 +44,26 @@ end.join(' ') end old_parse!(items, &block) end + + class Option + DEFAULT_OPTIONS[:key_delimiter] = '=' + + alias :old_value= :value= + def value=(new_value) + if config[:as].to_s.downcase == 'hash' + @value ||= {} + + if new_value.respond_to?(:split) + new_array_hash = new_value.split(config[:delimiter], config[:limit]).map do |v| + v.split(config[:key_delimiter], 2) + end + @value.merge!(Hash[new_array_hash]) + end + else + self.old_value = new_value + end + end + end end