class_docstr: Rule class to handle processing
docstr: Process will call this rule's function on the passed record
  
  Args:
      record (dict): Record that this rule should be run against
  
  Returns:
      bool: True if this rule triggers for the passed record, False otherwise
docstr_tok: ["Process","will","call","this","rule","'s","function","on","the","passed","record","Args",":","record","(","dict",")",":","Record","that","this","rule","should","be","run","against","Returns",":","bool",":","True","if","this","rule","triggers","for","the","passed","record",",","False","otherwise"]
code: def process(self, record):
      """Process will call this rule's function on the passed record
  
      Args:
          record (dict): Record that this rule should be run against
  
      Returns:
          bool: True if this rule triggers for the passed record, False otherwise
      """
      try:
          # The initial_context object must be copied. This avoids
          # bleed over from other runs of the rule using the same
          # context object
          if self.initial_context is not None:
              self.context = deepcopy(self.initial_context)
              return self.func(record, self.context)
  
          return self.func(record)
      except Exception:  # pylint: disable=broad-except
          LOGGER.exception("Encountered error with rule: %s", self.name)
          LOGGER.error(
              "Record that resulted in error:\n%s", json.dumps(record)
          )
  
      return False
  
imports: import ast
  from copy import deepcopy
  import hashlib
  import inspect
  import json
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 7 for calling the Rule obj's underlying member method code with example usage: obj.process(record) and returns: False, self, self