docs: def is_active(self, key, *instances, **kwargs):
          """
          Returns ``True`` if any of ``instances`` match an active switch. Otherwise
          returns ``False``.
  
          >>> gargoyle.is_active('my_feature', request) #doctest: +SKIP
          """
          default = kwargs.pop('default', False)
  
          # Check all parents for a disabled state
          parts = key.split(':')
          if len(parts) > 1:
              child_kwargs = kwargs.copy()
              child_kwargs['default'] = None
              result = self.is_active(':'.join(parts[:-1]), *instances, **child_kwargs)
  
              if result is False:
                  return result
              elif result is True:
                  default = result
  
          try:
              switch = self[key]
          except KeyError:
              # switch is not defined, defer to parent
              return default
  
          if switch.status == GLOBAL:
              return True
          elif switch.status == DISABLED:
              return False
          elif switch.status == INHERIT:
              return default
  
          conditions = switch.value
          # If no conditions are set, we inherit from parents
          if not conditions:
              return default
  
          if instances:
              # HACK: support request.user by swapping in User instance
              instances = list(instances)
              for v in instances:
                  if isinstance(v, HttpRequest) and hasattr(v, 'user'):
                      instances.append(v.user)
  
          # check each switch to see if it can execute
          return_value = False
  
          for switch in self._registry.itervalues():
              result = switch.has_active_condition(conditions, instances)
              if result is False:
                  return False
              elif result is True:
                  return_value = True
  
          # there were no matching conditions, so it must not be enabled
          return return_value