Web Development

There are times when you need to manually confirm users. One reason is that you didn’t realize that you need to confirm the user but you don’t have access to the account. Another reason is that you just need users to be confirmed on your local machine.

Created User

[5] pry(main)> u = User.create(email: 'mememe@yahoo.com', password: 'p@$$w0rd', company_id: 2, first_name: 'Me', last_name: 'Me', role: 'admin', facility_id: 1000)
   (0.4ms)  BEGIN
  User Exists (0.6ms)  SELECT  1 AS one FROM "users" WHERE "users"."email" = 'mememe@yahoo.com' LIMIT 1
  User Load (6.6ms)  SELECT  "users".* FROM "users" WHERE "users"."confirmation_token" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["confirmation_token", "452c89a4307e079caf88ff9b9ac83b6486871e70eebfdad20d7b910718c17bab"]]
  SQL (24.9ms)  INSERT INTO "users" ("email", "encrypted_password", "company_id", "first_name", "last_name", "role", "facility_id", "created_at", "updated_at", "confirmation_token", "confirmation_sent_at") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"  [["email", "mememe@yahoo.com"], ["encrypted_password", "$2a$10$Ar6Un0ippVPKNPBc8enPReo9ZUg9VhhKlvRGVQBcshR.kFlj5iMxW"], ["company_id", 2], ["first_name", "Me"], ["last_name", "Me"], ["role", "admin"], ["facility_id", 1000], ["created_at", "2016-10-05 06:46:20.077982"], ["updated_at", "2016-10-05 06:46:20.077982"], ["confirmation_token", "yq4kessd4D71VEZrzXSV"], ["confirmation_sent_at", "2016-10-05 06:46:20.310942"]]

Manually Confirming a User

User.last.confirm!
DEPRECATION WARNING: confirm! is deprecated in favor of confirm. (called from __pry__ at (pry):8)
   (0.2ms)  BEGIN
  SQL (6.9ms)  UPDATE "users" SET "confirmed_at" = $1, "updated_at" = $2 WHERE "users"."id" = $3  [["confirmed_at", "2016-10-05 07:10:09.147281"], ["updated_at", "2016-10-05 07:10:09.152368"], ["id", 29]]
   (6.2ms)  COMMIT
=> true

User Confirmed!

confirm! is deprecated and you must use confirm