install mailkick gem
this gem is used to allow users to unsubscribe from the invitation email
This commit is contained in:
parent
9cc74e051c
commit
f1386c30a7
5 changed files with 35 additions and 1 deletions
3
Gemfile
3
Gemfile
|
|
@ -223,6 +223,9 @@ gem 'nokogiri', '>= 1.8.1'
|
||||||
# memcached binary connector
|
# memcached binary connector
|
||||||
gem 'dalli'
|
gem 'dalli'
|
||||||
|
|
||||||
|
# Unsubscribe from email
|
||||||
|
gem 'mailkick'
|
||||||
|
|
||||||
# Use guard and spring for testing in development
|
# Use guard and spring for testing in development
|
||||||
group :development do
|
group :development do
|
||||||
# to launch specs when files are modified
|
# to launch specs when files are modified
|
||||||
|
|
|
||||||
|
|
@ -280,6 +280,8 @@ GEM
|
||||||
lumberjack (1.0.12)
|
lumberjack (1.0.12)
|
||||||
mail (2.7.1)
|
mail (2.7.1)
|
||||||
mini_mime (>= 0.1.1)
|
mini_mime (>= 0.1.1)
|
||||||
|
mailkick (0.4.0)
|
||||||
|
activesupport (>= 5)
|
||||||
marcel (0.3.3)
|
marcel (0.3.3)
|
||||||
mimemagic (~> 0.3.2)
|
mimemagic (~> 0.3.2)
|
||||||
method_source (0.8.2)
|
method_source (0.8.2)
|
||||||
|
|
@ -669,6 +671,7 @@ DEPENDENCIES
|
||||||
json-schema
|
json-schema
|
||||||
leaflet-rails
|
leaflet-rails
|
||||||
letter_opener
|
letter_opener
|
||||||
|
mailkick
|
||||||
mina
|
mina
|
||||||
mini_magick
|
mini_magick
|
||||||
money-rails
|
money-rails
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ end
|
||||||
|
|
||||||
class User < ApplicationRecord
|
class User < ApplicationRecord
|
||||||
rolify
|
rolify
|
||||||
|
mailkick_user
|
||||||
# prevent N+1 queries with has_cached_role? by preloading roles *always*
|
# prevent N+1 queries with has_cached_role? by preloading roles *always*
|
||||||
default_scope { preload(:roles) }
|
default_scope { preload(:roles) }
|
||||||
|
|
||||||
|
|
|
||||||
14
db/migrate/20190721210158_install_mailkick.rb
Normal file
14
db/migrate/20190721210158_install_mailkick.rb
Normal 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
|
||||||
15
db/schema.rb
15
db/schema.rb
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# 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|
|
create_table "answers", force: :cascade do |t|
|
||||||
t.string "title"
|
t.string "title"
|
||||||
|
|
@ -278,6 +278,19 @@ ActiveRecord::Schema.define(version: 2019_06_12_161235) do
|
||||||
t.string "picture"
|
t.string "picture"
|
||||||
end
|
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|
|
create_table "openids", force: :cascade do |t|
|
||||||
t.string "provider"
|
t.string "provider"
|
||||||
t.string "email"
|
t.string "email"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue