def evaluate_proc_values(args=[])
      args.collect do |arg|
        case arg
        when Proc
          arg.call
        when Hash
          hsh = {}
          arg.each do |k, v|
            hsh[k] = v.is_a?(Proc) ? v.call : v
          end
          hsh
        else
          arg
        end
      end
    end
def evaluate_proc_values(args=[])
      args.collect do |arg|
        case arg
        when Proc
          arg.call
        when Hash
          hsh = {}
          arg.each do |k, v|
            hsh[k] = v.is_a?(Proc) ? v.call : v
          end
          hsh
        else
          arg
        end
      end
    end
For each value in the args array, evaluate any procs.
 If the value is a hash, evaluate any values in the hash
 that are procs.