module EasyPing::Utils

Public Instance Methods

indifferent_hash(hash) click to toggle source

turn symbol keys to string keys, shallow mode

# File lib/easy_ping/utils.rb, line 4
def indifferent_hash(hash)
  Hash[hash.map {|k, v| Symbol === k ? [k.to_s, v] : [k, v] }]
end
indifferent_params(args, *names) click to toggle source
# File lib/easy_ping/utils.rb, line 8
def indifferent_params(args, *names)
  params = args.pop
  if params
    if Hash === params
      params = indifferent_hash(params)
    else
      args.push(params)
      params = {}
    end
    args.zip(names) {|arg, name| params.merge!(name => arg) if arg }
  else
    raise ArgumentError, "wrong number of arguments (0 for at least 1)"
  end

  params
end