How to Add a Blob using Rails ActiveRecord

There are ton of data types you can use on multiple RDBMS. You can use a text, integer, enum, string or blob. In Rails ActiveRecord, it is normal to use string. String is in fact the default data type(a column will be become a string if you don’t explicitly define another data type).

How to use BLOB as the data type in Rails ActiveRecord

class AddMonthsToNyC240 < ActiveRecord::Migration
  def self.up
    add_column :ny_c240s, :weeks52, :binary, :limit => 10.megabyte
  end
  def self.down
    remove_column :ny_c240s, :weeks52
  end
end
== 20161029155357 AddMonthsToNyC240: migrating ================================
-- add_column(:ny_c240s, :weeks52, :binary, {:limit=>10485760})
   -> 0.1093s
== 20161029155357 AddMonthsToNyC240: migrated (0.1095s) =======================

Blob created!

 Manually Confirm User with Devise

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

 Excel: Days Function

Compute for the number of days between two dates

Description

=DAYS(end_date, start_date)

Parameters

  • end_date – end date for computation
  • start_date – start date for computation

Screen shot 2016 10 03 at 8.40.13 am

 Excel: Date Function

Create a valid date from year, month, and day

Description

=DATE(year, month, day)

Parameters

  • year – year to use when creating the date
  • month – month to use when creating the date
  • day – day to use when creating the date

Examples

Create date for August 8, 1982

=DATE(1982, 08, 21)

Create date for October 10, 2016

=DATE(2016, 10, 10)

Create date for April 21, 2000

=DATE(2000, 04, 21)

Create date for May 5, 1983

=DATE(1983, 05, 05)

Screen shot 2016 10 03 at 8.29.36 am