module RuboCop::Cop::AutocorrectLogic

def autocorrect?

def autocorrect?
  autocorrect_requested? && support_autocorrect? && autocorrect_enabled?
end

def autocorrect_enabled?

def autocorrect_enabled?
  # allow turning off autocorrect on a cop by cop basis
  return true unless cop_config
  return false if cop_config['AutoCorrect'] == false
  if @options.fetch(:safe_auto_correct, false)
    return cop_config.fetch('SafeAutoCorrect', true)
  end
  true
end

def autocorrect_requested?

def autocorrect_requested?
  @options.fetch(:auto_correct, false)
end

def support_autocorrect?

def support_autocorrect?
  respond_to?(:autocorrect)
end