global

def invalid_login_attempted

def invalid_login_attempted
  number = account_login_failures_dataset.
    returning(account_login_failures_number_column).
    where(account_login_failures_id_column=>account_id_value).
    with_sql(:update_sql, account_login_failures_number_column=>Sequel.expr(account_login_failures_number_column)+1).
    single_value
  unless number
    account_login_failures_dataset.insert(account_login_failures_id_column=>account_id_value)
    number = 1
  end
  if number >= max_invalid_logins
    @unlock_account_key_value = generate_unlock_account_key
    account_lockouts_dataset.insert(account_lockouts_id_column=>account_id_value, account_lockouts_key_column=>unlock_account_key_value)
  end
end