install mailkick gem

this gem is used to allow users to unsubscribe from the invitation email
This commit is contained in:
Rahul 2019-07-22 02:32:43 +05:30 committed by Henne Vogelsang
parent 9cc74e051c
commit f1386c30a7
No known key found for this signature in database
GPG key ID: 9D6164C2955FADE0
5 changed files with 35 additions and 1 deletions

View file

@ -223,6 +223,9 @@ gem 'nokogiri', '>= 1.8.1'
# memcached binary connector
gem 'dalli'
# Unsubscribe from email
gem 'mailkick'
# Use guard and spring for testing in development
group :development do
# to launch specs when files are modified

View file

@ -280,6 +280,8 @@ GEM
lumberjack (1.0.12)
mail (2.7.1)
mini_mime (>= 0.1.1)
mailkick (0.4.0)
activesupport (>= 5)
marcel (0.3.3)
mimemagic (~> 0.3.2)
method_source (0.8.2)
@ -669,6 +671,7 @@ DEPENDENCIES
json-schema
leaflet-rails
letter_opener
mailkick
mina
mini_magick
money-rails

View file

@ -8,6 +8,7 @@ end
class User < ApplicationRecord
rolify
mailkick_user
# prevent N+1 queries with has_cached_role? by preloading roles *always*
default_scope { preload(:roles) }

View file

@ -0,0 +1,14 @@
class InstallMailkick < ActiveRecord::Migration[5.2]
def change
create_table :mailkick_opt_outs do |t|
t.string :email
t.references :user, polymorphic: true
t.boolean :active, null: false, default: true
t.string :reason
t.string :list
t.timestamps
end
add_index :mailkick_opt_outs, :email
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2019_06_12_161235) do
ActiveRecord::Schema.define(version: 2019_07_21_210158) do
create_table "answers", force: :cascade do |t|
t.string "title"
@ -278,6 +278,19 @@ ActiveRecord::Schema.define(version: 2019_06_12_161235) do
t.string "picture"
end
create_table "mailkick_opt_outs", force: :cascade do |t|
t.string "email"
t.string "user_type"
t.integer "user_id"
t.boolean "active", default: true, null: false
t.string "reason"
t.string "list"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["email"], name: "index_mailkick_opt_outs_on_email"
t.index ["user_type", "user_id"], name: "index_mailkick_opt_outs_on_user_type_and_user_id"
end
create_table "openids", force: :cascade do |t|
t.string "provider"
t.string "email"