def check_params_match(test_params, param_matcher)
      param_matcher.each_pair do |key, value|
        if value.is_a?(Hash)
          if test_params[key]
            result = check_params_match(test_params[key], value)

            if result == false
              return false
            else
              test_params.delete(key)
            end
          else
            # test_params did not have matching key
            return false
          end
        elsif value.nil?
          return false unless test_params.key?(key)
        else
          if test_params[key] == value
            test_params.delete(key)
          else
            return false
          end
        end
      end

      [true, test_params]
    end
def check_params_match(test_params, param_matcher)
      param_matcher.each_pair do |key, value|
        if value.is_a?(Hash)
          if test_params[key]
            result = check_params_match(test_params[key], value)

            if result == false
              return false
            else
              test_params.delete(key)
            end
          else
            # test_params did not have matching key
            return false
          end
        elsif value.nil?
          return false unless test_params.key?(key)
        else
          if test_params[key] == value
            test_params.delete(key)
          else
            return false
          end
        end
      end

      [true, test_params]
    end
Takes in a hash of params and checks to make sure keys in param_matcher
 are in test_params.  Checks for equal value unless value in param_matcher
 is nil.

 returns false or true, new_params - where the new params are a the params not
 used in the basic match.  Later some of these may be inserted into the url.