code: function flattenKeys(obj, /*optional args: */acc, prefix, prev_method) {
      acc = acc || [];
      prefix = prefix || '';
      Object.keys(obj).forEach(function (k) {
          var split = splitURL(k);
          if (typeof obj[k] == 'function') {
              acc.push([prefix + split.url, split.method || prev_method, obj[k]])
          }
          else {
              flattenKeys(obj[k], acc, prefix + split.url, split.method);
          }
      });
      return acc;
  }
docs: /*
  Accepts a nested set of object literals and creates a single-level object
  by combining the keys.
  
  flattenKeys({'a': {'b': function () {}, 'c': function () {}}})
  {'ab': function () {}, 'ac': function () {}}