You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: reset_password.rb
    path of file: ./repos/sorcery/lib/sorcery/model/submodules
    
    the code of the file until where you have to start completion: module Sorcery
  module Model
    module Submodules
      # This submodule adds the ability to reset password vi
    
          def deliver_reset_password_instructions!
            mail = false
            config = sorcery_config
            # hammering protection
            return false if config.reset_password_time_between_emails.present? && self.send(config.reset_password_email_sent_at_attribute_name) && self.send(config.reset_password_email_sent_at_attribute_name) > config.reset_password_time_between_emails.seconds.ago.utc
            self.class.sorcery_adapter.transaction do
              generate_reset_password_token!
              mail = send_reset_password_email! unless config.reset_password_mailer_disabled
            end
            mail
          end