user_notifier 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f24cc7b18ab1bfcc57fe3749161cabc72a0f4c13
4
- data.tar.gz: 8c9e353db0723ce95b14ed101bc856c240b2964f
3
+ metadata.gz: 15379a4699aae37560c32fb9dce2e882817893b7
4
+ data.tar.gz: fa27fd436b429727aeb069eda60ae2b0759cc489
5
5
  SHA512:
6
- metadata.gz: 3f897cd93c72a5399dc14116d197457d5e437fda441d6e131614a642ccb2e75d50a12bb69f8d5c7ffaa5be0b49d986434503a4488e4e669e37343c3cac3b4eed
7
- data.tar.gz: f647500ec13d8b6d1dcd8b9fb09b5358c9f141e28c0d3686b76997968d76b3961ca17eeef3f79bd321c74439c37891a78597bb4fc1818d4f30f9632557c4e8f8
6
+ metadata.gz: a03d4da19d187480440b1987f394d7ca2ea7151cca55775f671447c1b8bc65ace63d3935c9c8859a9d3d82caa8a2b6054122a467e094f095c08d2de90062e5ce
7
+ data.tar.gz: 578fe31fb523895df0fde321e757844338b8d4baa4d28a445c4057b66aa8d1b866c68681acac8050ae4fb1d9ec9b95937f4b2369645da330dc880df19eb1e0da
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2013 YOURNAME
1
+ Copyright 2014 YOURNAME
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/Rakefile CHANGED
@@ -14,8 +14,6 @@ RDoc::Task.new(:rdoc) do |rdoc|
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
16
 
17
- APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
18
- load 'rails/tasks/engine.rake'
19
17
 
20
18
 
21
19
 
@@ -0,0 +1,26 @@
1
+ class UserNotifier::BaseMailer < ActionMailer::Base
2
+ layout UserNotifier.email_layout
3
+
4
+ def notify(notification)
5
+ @notification = notification
6
+ old_locale = I18n.locale
7
+ I18n.locale = @notification.locale
8
+ subject = render_to_string(template: "notifications_mailer/subjects/#{@notification.template_name}")
9
+ m = mail({
10
+ from: address_format(UserNotifier.system_email, @notification.from_name),
11
+ reply_to: address_format(@notification.from_email, @notification.from_name),
12
+ to: @notification.user.email,
13
+ subject: subject,
14
+ template_name: @notification.template_name
15
+ })
16
+ I18n.locale = old_locale
17
+ m
18
+ end
19
+
20
+ private
21
+ def address_format email, name
22
+ address = Mail::Address.new email
23
+ address.display_name = name
24
+ address.format
25
+ end
26
+ end
@@ -0,0 +1,32 @@
1
+ class UserNotifier::Base < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ belongs_to UserNotifier.user_class_name
4
+
5
+ def self.notify_once(template_name, user, filter, params = {})
6
+ notify(template_name, user, params) if is_unique?(template_name, filter)
7
+ end
8
+
9
+ def self.notify(template_name, user, params = {})
10
+ create!({
11
+ template_name: template_name,
12
+ locale: I18n.locale,
13
+ from_email: UserNotifier.from_email,
14
+ from_name: UserNotifier.from_name
15
+ }.merge(params)).tap{|n| n.deliver }
16
+ end
17
+
18
+ def deliver
19
+ deliver! unless self.sent_at.present?
20
+ end
21
+
22
+ def deliver!
23
+ UserNotifier::EmailWorker.perform_async(self.class.name.to_s, self.id)
24
+ self.update_attributes sent_at: Time.now()
25
+ end
26
+
27
+ private
28
+ def self.is_unique?(template_name, filter)
29
+ filter.nil? || self.where(filter.merge(template_name: template_name)).empty?
30
+ end
31
+ end
32
+
@@ -0,0 +1,23 @@
1
+ class UserNotifier::EmailWorker
2
+ include Sidekiq::Worker
3
+ sidekiq_options retry: 5
4
+
5
+ def perform model_name, notification_id
6
+ resource = notification_model(model_name).find_by id: notification_id
7
+ # We don't want to raise exceptions in case our notification does not exist in the database
8
+ if resource
9
+ mailer.notify(resource).deliver
10
+ else
11
+ raise "Notification #{notification_id} not found.. sending to retry queue"
12
+ end
13
+ end
14
+
15
+ private
16
+ def notification_model(model_name)
17
+ @klass ||= Object.const_get(model_name)
18
+ end
19
+
20
+ def mailer
21
+ UserNotifier::BaseMailer
22
+ end
23
+ end
@@ -0,0 +1,2 @@
1
+ Description:
2
+ Generates a configuration initializer
@@ -0,0 +1,11 @@
1
+ module UserNotifier
2
+ module Generators
3
+ class InstallGenerator < ::Rails::Generators::Base
4
+ source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
5
+
6
+ def copy_initializer
7
+ template 'user_notifier.rb', 'config/initializers/user_notifier.rb'
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,22 @@
1
+ UserNotifier.configure do |config|
2
+ # The system email will be used in all 'from' fields in your emails
3
+ # This avoids issues with the sender autenticity,
4
+ # we always use the reply_to to set a return address
5
+ config.system_email = 'yoursystem@yourdomain.com'
6
+
7
+ # The name of the email template in your views/layouts
8
+ config.email_layout = 'email'
9
+
10
+ # The class name of your model representing system users that will receive the notifications
11
+ # The model should have an email attribute containing the email address of the user
12
+ config.user_class_name = 'User'
13
+
14
+ # This is the default email for reply_to
15
+ # in case the notification does not have a variable from_email
16
+ config.from_email = 'default-reply-to@somedomain.com'
17
+
18
+ # This is the default name used in from and reply_to
19
+ # in case the notification does not have a variable from_name
20
+ config.from_name = 'default reply name'
21
+ end
22
+
data/lib/user_notifier.rb CHANGED
@@ -1,4 +1,11 @@
1
1
  require "user_notifier/engine"
2
+ require "user_notifier/configuration"
3
+ require "sidekiq"
2
4
 
3
5
  module UserNotifier
6
+ extend Configuration
7
+ end
8
+
9
+ ActiveSupport.on_load :active_record do
10
+ require "user_notifier/models/has_notifications"
4
11
  end
@@ -0,0 +1,38 @@
1
+ module UserNotifier
2
+ module Configuration
3
+ VALID_CONFIG_KEYS = [:system_email, :email_layout, :user_class_name, :from_email, :from_name].freeze
4
+
5
+ DEFAULT_SYSTEM_EMAIL = nil
6
+ DEFAULT_EMAIL_LAYOUT = 'email'
7
+ DEFAULT_USER_CLASS_NAME = :user
8
+ DEFAULT_FROM_EMAIL = 'no-reply@yourdomain'
9
+ DEFAULT_FROM_NAME = 'please configure a default from name'
10
+
11
+ # Build accessor methods for every config options so we can do this, for example:
12
+ # Awesome.format = <img src="http://s2.wp.com/wp-includes/images/smilies/icon_mad.gif?m=1129645325g" alt=":x" class="wp-smiley"> ml
13
+ attr_accessor *VALID_CONFIG_KEYS
14
+
15
+ # Make sure we have the default values set when we get 'extended'
16
+ def self.extended(base)
17
+ base.reset
18
+ end
19
+
20
+ def configure
21
+ yield self if block_given?
22
+ end
23
+
24
+ def options
25
+ Hash[ * VALID_CONFIG_KEYS.map { |key| [key, send(key)] }.flatten ]
26
+ end
27
+
28
+ def reset
29
+ self.system_email = DEFAULT_SYSTEM_EMAIL
30
+ self.email_layout = DEFAULT_EMAIL_LAYOUT
31
+ self.user_class_name = DEFAULT_USER_CLASS_NAME
32
+ self.from_email = DEFAULT_FROM_EMAIL
33
+ self.from_name = DEFAULT_FROM_NAME
34
+ end
35
+
36
+ end # Configuration
37
+ end
38
+
@@ -0,0 +1,43 @@
1
+ module UserNotifier
2
+ module NotificationSource
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ def notify template_name, user=nil
7
+ user ||= self
8
+ self.notifications.notify(template_name, user)
9
+ end
10
+ end
11
+
12
+ module ClassMethods
13
+ private
14
+ def set_association
15
+ create_notification_class
16
+ self.has_many :notifications, class_name: notification_class_name
17
+ end
18
+
19
+ def notification_class_name
20
+ "#{self.model_name}Notification"
21
+ end
22
+
23
+ def create_notification_class
24
+ base_class_name = notification_class_name.demodulize
25
+ unless self.parent.const_defined?(notification_class_name)
26
+ klass = Class.new UserNotifier::Base do
27
+ self.table_name = base_class_name.tableize
28
+ end
29
+ self.parent.const_set base_class_name, klass
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+ module HasNotifications
36
+ def has_notifications
37
+ include UserNotifier::NotificationSource
38
+ set_association
39
+ end
40
+ end
41
+ end
42
+
43
+ ActiveRecord::Base.extend UserNotifier::HasNotifications
@@ -1,3 +1,3 @@
1
1
  module UserNotifier
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,3 @@
1
+ class User < ActiveRecord::Base
2
+ has_notifications
3
+ end
Binary file
@@ -0,0 +1,10 @@
1
+ class CreateUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table :users do |t|
4
+ t.text :name
5
+ t.text :email
6
+
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ class CreateUserNotifications < ActiveRecord::Migration
2
+ def change
3
+ create_table :user_notifications do |t|
4
+ t.integer :user_id
5
+ t.text :from_email
6
+ t.text :from_name
7
+ t.text :template_name
8
+ t.text :locale
9
+ t.timestamp :sent_at
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,32 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended that you check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(version: 20140625183616) do
15
+
16
+ create_table "user_notifications", force: true do |t|
17
+ t.integer "user_id"
18
+ t.text "from_email"
19
+ t.text "from_name"
20
+ t.text "template_name"
21
+ t.text "locale"
22
+ t.datetime "sent_at"
23
+ end
24
+
25
+ create_table "users", force: true do |t|
26
+ t.text "name"
27
+ t.text "email"
28
+ t.datetime "created_at"
29
+ t.datetime "updated_at"
30
+ end
31
+
32
+ end
Binary file
@@ -0,0 +1,33 @@
1
+  (176.8ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
2
+  (0.3ms) select sqlite_version(*)
3
+  (132.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
4
+ ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
5
+ Migrating to CreateUsers (20140625163719)
6
+  (0.2ms) begin transaction
7
+  (1.0ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" text, "email" text, "created_at" datetime, "updated_at" datetime)
8
+ SQL (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140625163719"]]
9
+  (136.7ms) commit transaction
10
+ Migrating to CreateUserNotifications (20140625183616)
11
+  (0.3ms) begin transaction
12
+  (0.8ms) CREATE TABLE "user_notifications" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "from_email" text, "from_name" text, "template_name" text, "locale" text, "sent_at" datetime)
13
+ SQL (0.3ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140625183616"]]
14
+  (138.5ms) commit transaction
15
+ ActiveRecord::SchemaMigration Load (0.2ms) SELECT "schema_migrations".* FROM "schema_migrations"
16
+  (181.9ms) CREATE TABLE "user_notifications" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "from_email" text, "from_name" text, "template_name" text, "locale" text, "sent_at" datetime) 
17
+  (143.0ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" text, "email" text, "created_at" datetime, "updated_at" datetime)
18
+  (136.2ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
19
+  (0.3ms) select sqlite_version(*)
20
+  (143.4ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
21
+  (0.3ms) SELECT version FROM "schema_migrations"
22
+  (165.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20140625183616')
23
+  (156.1ms) INSERT INTO "schema_migrations" (version) VALUES ('20140625163719')
24
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
25
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
26
+  (163.1ms) CREATE TABLE "user_notifications" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "user_id" integer, "from_email" text, "from_name" text, "template_name" text, "locale" text, "sent_at" datetime) 
27
+  (165.4ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" text, "email" text, "created_at" datetime, "updated_at" datetime)
28
+  (165.9ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
29
+  (0.2ms) select sqlite_version(*)
30
+  (176.5ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
31
+  (0.2ms) SELECT version FROM "schema_migrations"
32
+  (166.5ms) INSERT INTO "schema_migrations" (version) VALUES ('20140625183616')
33
+  (178.1ms) INSERT INTO "schema_migrations" (version) VALUES ('20140625163719')
@@ -0,0 +1,737 @@
1
+  (0.5ms) begin transaction
2
+  (0.1ms) rollback transaction
3
+  (0.1ms) begin transaction
4
+  (0.1ms) rollback transaction
5
+  (0.1ms) begin transaction
6
+  (0.1ms) rollback transaction
7
+  (0.1ms) begin transaction
8
+  (0.1ms) rollback transaction
9
+  (0.1ms) begin transaction
10
+  (0.1ms) rollback transaction
11
+  (0.1ms) begin transaction
12
+  (0.1ms) rollback transaction
13
+  (0.1ms) begin transaction
14
+  (0.1ms) rollback transaction
15
+  (0.1ms) begin transaction
16
+  (0.1ms) rollback transaction
17
+  (0.1ms) begin transaction
18
+  (0.1ms) rollback transaction
19
+  (0.1ms) begin transaction
20
+  (0.1ms) rollback transaction
21
+  (0.1ms) begin transaction
22
+  (0.1ms) rollback transaction
23
+  (0.1ms) begin transaction
24
+  (0.1ms) rollback transaction
25
+  (0.5ms) begin transaction
26
+  (0.1ms) rollback transaction
27
+  (0.1ms) begin transaction
28
+  (0.1ms) rollback transaction
29
+  (0.1ms) begin transaction
30
+  (0.1ms) rollback transaction
31
+  (0.1ms) begin transaction
32
+  (0.1ms) rollback transaction
33
+  (0.1ms) begin transaction
34
+  (0.1ms) rollback transaction
35
+  (0.1ms) begin transaction
36
+  (0.1ms) rollback transaction
37
+  (0.1ms) begin transaction
38
+  (0.1ms) rollback transaction
39
+  (0.1ms) begin transaction
40
+  (0.1ms) rollback transaction
41
+  (0.1ms) begin transaction
42
+  (0.1ms) rollback transaction
43
+  (0.1ms) begin transaction
44
+  (0.1ms) rollback transaction
45
+  (0.1ms) begin transaction
46
+  (0.1ms) rollback transaction
47
+  (0.1ms) begin transaction
48
+  (0.1ms) rollback transaction
49
+  (0.6ms) begin transaction
50
+  (0.1ms) rollback transaction
51
+  (0.1ms) begin transaction
52
+  (0.1ms) rollback transaction
53
+  (0.1ms) begin transaction
54
+  (0.1ms) rollback transaction
55
+  (0.1ms) begin transaction
56
+  (0.1ms) rollback transaction
57
+  (0.1ms) begin transaction
58
+  (0.1ms) rollback transaction
59
+  (0.1ms) begin transaction
60
+  (0.1ms) rollback transaction
61
+  (0.1ms) begin transaction
62
+  (0.1ms) rollback transaction
63
+  (0.1ms) begin transaction
64
+  (0.1ms) rollback transaction
65
+  (0.1ms) begin transaction
66
+  (0.1ms) rollback transaction
67
+  (0.1ms) begin transaction
68
+  (0.1ms) rollback transaction
69
+  (0.1ms) begin transaction
70
+  (0.2ms) SAVEPOINT active_record_1
71
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-06-28 06:17:27.961386"], ["email", "foo@bar.com"], ["updated_at", "2014-06-28 06:17:27.961386"]]
72
+  (0.1ms) RELEASE SAVEPOINT active_record_1
73
+  (0.2ms) rollback transaction
74
+  (0.1ms) begin transaction
75
+  (0.1ms) SAVEPOINT active_record_1
76
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-06-28 06:17:27.971256"], ["email", "foo@bar.com"], ["updated_at", "2014-06-28 06:17:27.971256"]]
77
+  (0.1ms) RELEASE SAVEPOINT active_record_1
78
+  (0.2ms) SAVEPOINT active_record_1
79
+ SQL (0.5ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
80
+  (0.1ms) RELEASE SAVEPOINT active_record_1
81
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
82
+  (0.3ms) rollback transaction
83
+  (1.0ms) begin transaction
84
+  (0.1ms) SAVEPOINT active_record_1
85
+ SQL (0.5ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:23:22.322794"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:23:22.322794"]]
86
+  (0.1ms) RELEASE SAVEPOINT active_record_1
87
+  (0.1ms) SAVEPOINT active_record_1
88
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
89
+  (0.1ms) RELEASE SAVEPOINT active_record_1
90
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
91
+  (0.3ms) rollback transaction
92
+  (0.1ms) begin transaction
93
+  (0.1ms) SAVEPOINT active_record_1
94
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:23:22.421116"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:23:22.421116"]]
95
+  (0.1ms) RELEASE SAVEPOINT active_record_1
96
+  (0.2ms) rollback transaction
97
+  (0.1ms) begin transaction
98
+  (0.1ms) rollback transaction
99
+  (0.1ms) begin transaction
100
+  (0.1ms) rollback transaction
101
+  (0.1ms) begin transaction
102
+  (0.1ms) rollback transaction
103
+  (0.1ms) begin transaction
104
+  (0.1ms) rollback transaction
105
+  (0.1ms) begin transaction
106
+  (0.1ms) rollback transaction
107
+  (0.1ms) begin transaction
108
+  (0.1ms) rollback transaction
109
+  (0.1ms) begin transaction
110
+  (0.1ms) rollback transaction
111
+  (0.1ms) begin transaction
112
+  (0.1ms) rollback transaction
113
+  (0.1ms) begin transaction
114
+  (0.1ms) rollback transaction
115
+  (0.1ms) begin transaction
116
+  (0.1ms) rollback transaction
117
+  (0.4ms) begin transaction
118
+  (0.1ms) rollback transaction
119
+  (0.1ms) begin transaction
120
+  (0.1ms) SAVEPOINT active_record_1
121
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:28:22.748272"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:28:22.748272"]]
122
+  (0.1ms) RELEASE SAVEPOINT active_record_1
123
+  (0.1ms) SAVEPOINT active_record_1
124
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
125
+  (0.1ms) RELEASE SAVEPOINT active_record_1
126
+  (0.2ms) rollback transaction
127
+  (0.1ms) begin transaction
128
+  (0.0ms) SAVEPOINT active_record_1
129
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:28:22.774681"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:28:22.774681"]]
130
+  (0.1ms) RELEASE SAVEPOINT active_record_1
131
+  (0.1ms) rollback transaction
132
+  (0.1ms) begin transaction
133
+  (0.1ms) rollback transaction
134
+  (0.0ms) begin transaction
135
+  (0.0ms) rollback transaction
136
+  (0.0ms) begin transaction
137
+  (0.1ms) rollback transaction
138
+  (0.0ms) begin transaction
139
+  (0.1ms) rollback transaction
140
+  (0.0ms) begin transaction
141
+  (0.1ms) rollback transaction
142
+  (0.0ms) begin transaction
143
+  (0.0ms) rollback transaction
144
+  (0.0ms) begin transaction
145
+  (0.0ms) rollback transaction
146
+  (0.0ms) begin transaction
147
+  (0.0ms) rollback transaction
148
+  (0.0ms) begin transaction
149
+  (0.1ms) rollback transaction
150
+  (0.0ms) begin transaction
151
+  (0.1ms) rollback transaction
152
+  (0.5ms) begin transaction
153
+  (0.1ms) rollback transaction
154
+  (0.1ms) begin transaction
155
+  (0.1ms) SAVEPOINT active_record_1
156
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:30:49.125329"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:30:49.125329"]]
157
+  (0.1ms) RELEASE SAVEPOINT active_record_1
158
+  (0.1ms) SAVEPOINT active_record_1
159
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
160
+  (0.1ms) RELEASE SAVEPOINT active_record_1
161
+  (0.2ms) rollback transaction
162
+  (0.1ms) begin transaction
163
+  (0.1ms) SAVEPOINT active_record_1
164
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:30:49.152627"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:30:49.152627"]]
165
+  (0.1ms) RELEASE SAVEPOINT active_record_1
166
+  (0.1ms) rollback transaction
167
+  (0.1ms) begin transaction
168
+  (0.0ms) rollback transaction
169
+  (0.0ms) begin transaction
170
+  (0.0ms) rollback transaction
171
+  (0.0ms) begin transaction
172
+  (0.0ms) rollback transaction
173
+  (0.0ms) begin transaction
174
+  (0.0ms) rollback transaction
175
+  (0.0ms) begin transaction
176
+  (0.0ms) rollback transaction
177
+  (0.0ms) begin transaction
178
+  (0.0ms) rollback transaction
179
+  (0.0ms) begin transaction
180
+  (0.0ms) rollback transaction
181
+  (0.0ms) begin transaction
182
+  (0.0ms) rollback transaction
183
+  (0.0ms) begin transaction
184
+  (0.0ms) rollback transaction
185
+  (0.1ms) begin transaction
186
+  (0.0ms) rollback transaction
187
+  (0.5ms) begin transaction
188
+  (0.1ms) SAVEPOINT active_record_1
189
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:31:34.996452"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:31:34.996452"]]
190
+  (0.1ms) RELEASE SAVEPOINT active_record_1
191
+  (0.1ms) SAVEPOINT active_record_1
192
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
193
+  (0.1ms) RELEASE SAVEPOINT active_record_1
194
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
195
+  (0.2ms) rollback transaction
196
+  (0.1ms) begin transaction
197
+  (0.1ms) SAVEPOINT active_record_1
198
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:31:35.028003"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:31:35.028003"]]
199
+  (0.1ms) RELEASE SAVEPOINT active_record_1
200
+  (0.1ms) SAVEPOINT active_record_1
201
+ SQL (0.1ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
202
+  (0.1ms) RELEASE SAVEPOINT active_record_1
203
+  (0.1ms) rollback transaction
204
+  (0.1ms) begin transaction
205
+  (0.0ms) SAVEPOINT active_record_1
206
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:31:35.032860"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:31:35.032860"]]
207
+  (0.0ms) RELEASE SAVEPOINT active_record_1
208
+  (0.1ms) rollback transaction
209
+  (0.1ms) begin transaction
210
+  (0.1ms) rollback transaction
211
+  (0.1ms) begin transaction
212
+  (0.1ms) rollback transaction
213
+  (0.1ms) begin transaction
214
+  (0.0ms) rollback transaction
215
+  (0.1ms) begin transaction
216
+  (0.1ms) rollback transaction
217
+  (0.1ms) begin transaction
218
+  (0.1ms) rollback transaction
219
+  (0.1ms) begin transaction
220
+  (0.1ms) rollback transaction
221
+  (0.1ms) begin transaction
222
+  (0.1ms) rollback transaction
223
+  (0.1ms) begin transaction
224
+  (0.1ms) rollback transaction
225
+  (0.1ms) begin transaction
226
+  (0.1ms) rollback transaction
227
+  (0.1ms) begin transaction
228
+  (0.0ms) rollback transaction
229
+  (0.5ms) begin transaction
230
+  (0.1ms) rollback transaction
231
+  (0.0ms) begin transaction
232
+  (0.0ms) rollback transaction
233
+  (0.0ms) begin transaction
234
+  (0.0ms) rollback transaction
235
+  (0.0ms) begin transaction
236
+  (0.0ms) rollback transaction
237
+  (0.1ms) begin transaction
238
+  (0.0ms) rollback transaction
239
+  (0.0ms) begin transaction
240
+  (0.0ms) rollback transaction
241
+  (0.1ms) begin transaction
242
+  (0.0ms) rollback transaction
243
+  (0.0ms) begin transaction
244
+  (0.1ms) rollback transaction
245
+  (0.0ms) begin transaction
246
+  (0.0ms) rollback transaction
247
+  (0.0ms) begin transaction
248
+  (0.0ms) rollback transaction
249
+  (0.1ms) begin transaction
250
+  (0.1ms) SAVEPOINT active_record_1
251
+ SQL (0.6ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:32:18.673759"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:32:18.673759"]]
252
+  (0.1ms) RELEASE SAVEPOINT active_record_1
253
+  (0.2ms) rollback transaction
254
+  (0.1ms) begin transaction
255
+  (0.0ms) SAVEPOINT active_record_1
256
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:32:18.684842"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:32:18.684842"]]
257
+  (0.0ms) RELEASE SAVEPOINT active_record_1
258
+  (0.1ms) SAVEPOINT active_record_1
259
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
260
+  (0.0ms) RELEASE SAVEPOINT active_record_1
261
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
262
+  (0.4ms) rollback transaction
263
+  (0.1ms) begin transaction
264
+  (0.1ms) SAVEPOINT active_record_1
265
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:32:18.708377"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:32:18.708377"]]
266
+  (0.1ms) RELEASE SAVEPOINT active_record_1
267
+  (0.1ms) SAVEPOINT active_record_1
268
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
269
+  (0.1ms) RELEASE SAVEPOINT active_record_1
270
+  (0.2ms) rollback transaction
271
+  (0.4ms) begin transaction
272
+  (0.1ms) rollback transaction
273
+  (0.0ms) begin transaction
274
+  (0.1ms) rollback transaction
275
+  (0.1ms) begin transaction
276
+  (0.0ms) rollback transaction
277
+  (0.1ms) begin transaction
278
+  (0.0ms) rollback transaction
279
+  (0.0ms) begin transaction
280
+  (0.0ms) rollback transaction
281
+  (0.0ms) begin transaction
282
+  (0.0ms) rollback transaction
283
+  (0.0ms) begin transaction
284
+  (0.1ms) rollback transaction
285
+  (0.0ms) begin transaction
286
+  (0.0ms) rollback transaction
287
+  (0.0ms) begin transaction
288
+  (0.0ms) rollback transaction
289
+  (0.0ms) begin transaction
290
+  (0.0ms) rollback transaction
291
+  (0.1ms) begin transaction
292
+  (0.1ms) SAVEPOINT active_record_1
293
+ SQL (0.6ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:33:27.344337"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:33:27.344337"]]
294
+  (0.1ms) RELEASE SAVEPOINT active_record_1
295
+  (0.2ms) rollback transaction
296
+  (0.1ms) begin transaction
297
+  (0.0ms) SAVEPOINT active_record_1
298
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:33:27.355350"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:33:27.355350"]]
299
+  (0.1ms) RELEASE SAVEPOINT active_record_1
300
+  (0.1ms) SAVEPOINT active_record_1
301
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
302
+  (0.1ms) RELEASE SAVEPOINT active_record_1
303
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
304
+  (0.3ms) rollback transaction
305
+  (0.2ms) begin transaction
306
+  (0.1ms) SAVEPOINT active_record_1
307
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:33:27.379481"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:33:27.379481"]]
308
+  (0.1ms) RELEASE SAVEPOINT active_record_1
309
+  (0.1ms) SAVEPOINT active_record_1
310
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
311
+  (0.2ms) RELEASE SAVEPOINT active_record_1
312
+  (0.2ms) rollback transaction
313
+  (0.6ms) begin transaction
314
+  (0.1ms) rollback transaction
315
+  (0.1ms) begin transaction
316
+  (0.1ms) rollback transaction
317
+  (0.1ms) begin transaction
318
+  (0.1ms) rollback transaction
319
+  (0.1ms) begin transaction
320
+  (0.1ms) rollback transaction
321
+  (0.1ms) begin transaction
322
+  (0.1ms) rollback transaction
323
+  (0.1ms) begin transaction
324
+  (0.1ms) rollback transaction
325
+  (0.1ms) begin transaction
326
+  (0.1ms) rollback transaction
327
+  (0.1ms) begin transaction
328
+  (0.1ms) rollback transaction
329
+  (0.1ms) begin transaction
330
+  (0.1ms) rollback transaction
331
+  (0.1ms) begin transaction
332
+  (0.1ms) rollback transaction
333
+  (0.1ms) begin transaction
334
+  (0.1ms) SAVEPOINT active_record_1
335
+ SQL (0.5ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:37:10.412094"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:37:10.412094"]]
336
+  (0.1ms) RELEASE SAVEPOINT active_record_1
337
+  (0.2ms) rollback transaction
338
+  (0.1ms) begin transaction
339
+  (0.1ms) SAVEPOINT active_record_1
340
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:37:10.424469"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:37:10.424469"]]
341
+  (0.1ms) RELEASE SAVEPOINT active_record_1
342
+  (0.2ms) SAVEPOINT active_record_1
343
+ SQL (0.6ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
344
+  (0.1ms) RELEASE SAVEPOINT active_record_1
345
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
346
+  (0.3ms) rollback transaction
347
+  (0.1ms) begin transaction
348
+  (0.1ms) SAVEPOINT active_record_1
349
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:37:10.455763"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:37:10.455763"]]
350
+  (0.1ms) RELEASE SAVEPOINT active_record_1
351
+  (0.1ms) SAVEPOINT active_record_1
352
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
353
+  (0.1ms) RELEASE SAVEPOINT active_record_1
354
+  (0.2ms) rollback transaction
355
+  (0.4ms) begin transaction
356
+  (0.1ms) rollback transaction
357
+  (0.1ms) begin transaction
358
+  (0.0ms) rollback transaction
359
+  (0.1ms) begin transaction
360
+  (0.0ms) rollback transaction
361
+  (0.0ms) begin transaction
362
+  (0.0ms) rollback transaction
363
+  (0.0ms) begin transaction
364
+  (0.0ms) rollback transaction
365
+  (0.1ms) begin transaction
366
+  (0.0ms) rollback transaction
367
+  (0.1ms) begin transaction
368
+  (0.0ms) rollback transaction
369
+  (0.0ms) begin transaction
370
+  (0.0ms) rollback transaction
371
+  (0.0ms) begin transaction
372
+  (0.0ms) rollback transaction
373
+  (0.0ms) begin transaction
374
+  (0.0ms) rollback transaction
375
+  (0.1ms) begin transaction
376
+  (0.1ms) SAVEPOINT active_record_1
377
+ SQL (0.5ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:37:38.013070"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:37:38.013070"]]
378
+  (0.1ms) RELEASE SAVEPOINT active_record_1
379
+  (0.3ms) rollback transaction
380
+  (0.1ms) begin transaction
381
+  (0.1ms) SAVEPOINT active_record_1
382
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:37:38.024261"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:37:38.024261"]]
383
+  (0.1ms) RELEASE SAVEPOINT active_record_1
384
+  (0.1ms) SAVEPOINT active_record_1
385
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
386
+  (0.1ms) RELEASE SAVEPOINT active_record_1
387
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" WHERE "user_notifications"."id" = ? LIMIT 1 [["id", 1]]
388
+ UserNotification Load (0.1ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
389
+  (0.2ms) rollback transaction
390
+  (0.1ms) begin transaction
391
+  (0.1ms) SAVEPOINT active_record_1
392
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:37:38.047253"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:37:38.047253"]]
393
+  (0.1ms) RELEASE SAVEPOINT active_record_1
394
+  (0.1ms) SAVEPOINT active_record_1
395
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
396
+  (0.1ms) RELEASE SAVEPOINT active_record_1
397
+ UserNotification Load (0.1ms) SELECT "user_notifications".* FROM "user_notifications" WHERE "user_notifications"."id" = ? LIMIT 1 [["id", 1]]
398
+  (0.2ms) rollback transaction
399
+  (0.6ms) begin transaction
400
+  (0.1ms) SAVEPOINT active_record_1
401
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:38:01.882385"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:38:01.882385"]]
402
+  (0.1ms) RELEASE SAVEPOINT active_record_1
403
+  (0.1ms) SAVEPOINT active_record_1
404
+ SQL (0.4ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
405
+  (0.1ms) RELEASE SAVEPOINT active_record_1
406
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
407
+  (0.3ms) rollback transaction
408
+  (0.1ms) begin transaction
409
+  (0.1ms) SAVEPOINT active_record_1
410
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:38:01.921710"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:38:01.921710"]]
411
+  (0.2ms) RELEASE SAVEPOINT active_record_1
412
+  (0.2ms) SAVEPOINT active_record_1
413
+ SQL (0.4ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name", "user_id") VALUES (?, ?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"], ["user_id", 1]]
414
+  (0.2ms) RELEASE SAVEPOINT active_record_1
415
+  (0.3ms) rollback transaction
416
+  (0.1ms) begin transaction
417
+  (0.1ms) SAVEPOINT active_record_1
418
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-01 18:38:01.931398"], ["email", "foo@bar.com"], ["updated_at", "2014-07-01 18:38:01.931398"]]
419
+  (0.1ms) RELEASE SAVEPOINT active_record_1
420
+  (0.2ms) rollback transaction
421
+  (0.1ms) begin transaction
422
+  (0.1ms) rollback transaction
423
+  (0.1ms) begin transaction
424
+  (0.1ms) rollback transaction
425
+  (0.1ms) begin transaction
426
+  (0.1ms) rollback transaction
427
+  (0.1ms) begin transaction
428
+  (0.1ms) rollback transaction
429
+  (0.1ms) begin transaction
430
+  (0.1ms) rollback transaction
431
+  (0.1ms) begin transaction
432
+  (0.1ms) rollback transaction
433
+  (0.1ms) begin transaction
434
+  (0.1ms) rollback transaction
435
+  (0.1ms) begin transaction
436
+  (0.1ms) rollback transaction
437
+  (0.1ms) begin transaction
438
+  (0.1ms) rollback transaction
439
+  (0.1ms) begin transaction
440
+  (0.1ms) rollback transaction
441
+  (0.9ms) begin transaction
442
+  (0.1ms) SAVEPOINT active_record_1
443
+ SQL (0.5ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:50:13.484822"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:50:13.484822"]]
444
+  (0.1ms) RELEASE SAVEPOINT active_record_1
445
+  (0.2ms) rollback transaction
446
+  (0.1ms) begin transaction
447
+  (0.1ms) SAVEPOINT active_record_1
448
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:50:13.514043"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:50:13.514043"]]
449
+  (0.1ms) RELEASE SAVEPOINT active_record_1
450
+  (0.5ms) rollback transaction
451
+  (0.1ms) begin transaction
452
+  (0.1ms) SAVEPOINT active_record_1
453
+ SQL (0.5ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:50:13.530007"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:50:13.530007"]]
454
+  (0.1ms) RELEASE SAVEPOINT active_record_1
455
+  (0.2ms) rollback transaction
456
+  (0.6ms) begin transaction
457
+  (0.1ms) SAVEPOINT active_record_1
458
+ SQL (0.7ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:50:34.934541"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:50:34.934541"]]
459
+  (0.1ms) RELEASE SAVEPOINT active_record_1
460
+  (0.5ms) rollback transaction
461
+  (0.1ms) begin transaction
462
+  (0.1ms) SAVEPOINT active_record_1
463
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:50:34.947598"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:50:34.947598"]]
464
+  (0.1ms) RELEASE SAVEPOINT active_record_1
465
+  (0.1ms) SAVEPOINT active_record_1
466
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
467
+  (0.1ms) RELEASE SAVEPOINT active_record_1
468
+ UserNotification Load (0.4ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
469
+  (0.5ms) rollback transaction
470
+  (0.1ms) begin transaction
471
+  (0.1ms) SAVEPOINT active_record_1
472
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:50:35.009317"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:50:35.009317"]]
473
+  (0.1ms) RELEASE SAVEPOINT active_record_1
474
+  (0.1ms) SAVEPOINT active_record_1
475
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
476
+  (0.1ms) RELEASE SAVEPOINT active_record_1
477
+  (0.2ms) rollback transaction
478
+  (0.6ms) begin transaction
479
+  (0.1ms) SAVEPOINT active_record_1
480
+ SQL (0.6ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:53:38.072174"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:53:38.072174"]]
481
+  (0.2ms) RELEASE SAVEPOINT active_record_1
482
+  (0.4ms) rollback transaction
483
+  (0.2ms) begin transaction
484
+  (0.2ms) SAVEPOINT active_record_1
485
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:53:38.085516"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:53:38.085516"]]
486
+  (0.1ms) RELEASE SAVEPOINT active_record_1
487
+  (0.1ms) SAVEPOINT active_record_1
488
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
489
+  (0.1ms) RELEASE SAVEPOINT active_record_1
490
+  (0.2ms) rollback transaction
491
+  (0.1ms) begin transaction
492
+  (0.1ms) SAVEPOINT active_record_1
493
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:53:38.100694"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:53:38.100694"]]
494
+  (0.1ms) RELEASE SAVEPOINT active_record_1
495
+  (0.1ms) SAVEPOINT active_record_1
496
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
497
+  (0.1ms) RELEASE SAVEPOINT active_record_1
498
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
499
+  (0.4ms) rollback transaction
500
+  (0.1ms) begin transaction
501
+  (0.2ms) SAVEPOINT active_record_1
502
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:53:38.112138"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:53:38.112138"]]
503
+  (0.1ms) RELEASE SAVEPOINT active_record_1
504
+  (0.1ms) SAVEPOINT active_record_1
505
+ SQL (0.4ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
506
+  (0.1ms) RELEASE SAVEPOINT active_record_1
507
+  (0.3ms) rollback transaction
508
+  (0.6ms) begin transaction
509
+  (0.1ms) SAVEPOINT active_record_1
510
+ SQL (0.5ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:54:22.539556"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:54:22.539556"]]
511
+  (0.1ms) RELEASE SAVEPOINT active_record_1
512
+  (0.3ms) rollback transaction
513
+  (0.1ms) begin transaction
514
+  (0.1ms) SAVEPOINT active_record_1
515
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:54:22.551852"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:54:22.551852"]]
516
+  (0.1ms) RELEASE SAVEPOINT active_record_1
517
+  (0.1ms) SAVEPOINT active_record_1
518
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
519
+  (0.1ms) RELEASE SAVEPOINT active_record_1
520
+  (0.3ms) rollback transaction
521
+  (0.1ms) begin transaction
522
+  (0.1ms) SAVEPOINT active_record_1
523
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:54:22.567041"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:54:22.567041"]]
524
+  (0.1ms) RELEASE SAVEPOINT active_record_1
525
+  (0.1ms) SAVEPOINT active_record_1
526
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
527
+  (0.1ms) RELEASE SAVEPOINT active_record_1
528
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
529
+  (0.2ms) rollback transaction
530
+  (0.1ms) begin transaction
531
+  (0.1ms) SAVEPOINT active_record_1
532
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:54:22.577526"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:54:22.577526"]]
533
+  (0.1ms) RELEASE SAVEPOINT active_record_1
534
+  (0.1ms) SAVEPOINT active_record_1
535
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
536
+  (0.1ms) RELEASE SAVEPOINT active_record_1
537
+  (0.4ms) rollback transaction
538
+  (0.6ms) begin transaction
539
+  (0.1ms) SAVEPOINT active_record_1
540
+ SQL (0.6ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:54:45.427231"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:54:45.427231"]]
541
+  (0.1ms) RELEASE SAVEPOINT active_record_1
542
+  (0.3ms) rollback transaction
543
+  (0.1ms) begin transaction
544
+  (0.1ms) SAVEPOINT active_record_1
545
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:54:45.440475"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:54:45.440475"]]
546
+  (0.1ms) RELEASE SAVEPOINT active_record_1
547
+  (0.1ms) SAVEPOINT active_record_1
548
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
549
+  (0.1ms) RELEASE SAVEPOINT active_record_1
550
+  (0.2ms) rollback transaction
551
+  (0.1ms) begin transaction
552
+  (0.1ms) SAVEPOINT active_record_1
553
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:54:45.455829"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:54:45.455829"]]
554
+  (0.1ms) RELEASE SAVEPOINT active_record_1
555
+  (0.1ms) SAVEPOINT active_record_1
556
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
557
+  (0.1ms) RELEASE SAVEPOINT active_record_1
558
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
559
+  (0.4ms) rollback transaction
560
+  (0.1ms) begin transaction
561
+  (0.2ms) SAVEPOINT active_record_1
562
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:54:45.467232"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:54:45.467232"]]
563
+  (0.1ms) RELEASE SAVEPOINT active_record_1
564
+  (0.1ms) SAVEPOINT active_record_1
565
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
566
+  (0.1ms) RELEASE SAVEPOINT active_record_1
567
+  (0.3ms) rollback transaction
568
+  (0.6ms) begin transaction
569
+  (0.1ms) SAVEPOINT active_record_1
570
+ SQL (0.9ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:55:15.296813"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:55:15.296813"]]
571
+  (0.1ms) RELEASE SAVEPOINT active_record_1
572
+  (0.2ms) SAVEPOINT active_record_1
573
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
574
+  (0.1ms) RELEASE SAVEPOINT active_record_1
575
+  (0.1ms) SAVEPOINT active_record_1
576
+ SQL (0.2ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 16:55:15.316644"]]
577
+  (0.1ms) RELEASE SAVEPOINT active_record_1
578
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
579
+  (0.3ms) rollback transaction
580
+  (0.1ms) begin transaction
581
+  (0.1ms) SAVEPOINT active_record_1
582
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:55:15.326088"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:55:15.326088"]]
583
+  (0.1ms) RELEASE SAVEPOINT active_record_1
584
+  (0.1ms) SAVEPOINT active_record_1
585
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
586
+  (0.1ms) RELEASE SAVEPOINT active_record_1
587
+  (0.1ms) SAVEPOINT active_record_1
588
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 16:55:15.330802"]]
589
+  (0.1ms) RELEASE SAVEPOINT active_record_1
590
+  (0.3ms) rollback transaction
591
+  (0.1ms) begin transaction
592
+  (0.1ms) SAVEPOINT active_record_1
593
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:55:15.336139"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:55:15.336139"]]
594
+  (0.1ms) RELEASE SAVEPOINT active_record_1
595
+  (0.1ms) SAVEPOINT active_record_1
596
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
597
+  (0.1ms) RELEASE SAVEPOINT active_record_1
598
+  (0.1ms) SAVEPOINT active_record_1
599
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 16:55:15.340815"]]
600
+  (0.1ms) RELEASE SAVEPOINT active_record_1
601
+  (0.1ms) SAVEPOINT active_record_1
602
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 16:55:15.342842"]]
603
+  (0.1ms) RELEASE SAVEPOINT active_record_1
604
+  (0.2ms) rollback transaction
605
+  (0.1ms) begin transaction
606
+  (0.1ms) SAVEPOINT active_record_1
607
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:55:15.346862"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:55:15.346862"]]
608
+  (0.1ms) RELEASE SAVEPOINT active_record_1
609
+  (0.2ms) rollback transaction
610
+  (0.6ms) begin transaction
611
+  (0.1ms) SAVEPOINT active_record_1
612
+ SQL (0.6ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:59:42.315107"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:59:42.315107"]]
613
+  (0.1ms) RELEASE SAVEPOINT active_record_1
614
+  (0.2ms) rollback transaction
615
+  (0.1ms) begin transaction
616
+  (0.1ms) SAVEPOINT active_record_1
617
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:59:42.326172"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:59:42.326172"]]
618
+  (0.1ms) RELEASE SAVEPOINT active_record_1
619
+  (0.1ms) SAVEPOINT active_record_1
620
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
621
+  (0.1ms) RELEASE SAVEPOINT active_record_1
622
+  (0.1ms) SAVEPOINT active_record_1
623
+ SQL (0.2ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 16:59:42.337854"]]
624
+  (0.1ms) RELEASE SAVEPOINT active_record_1
625
+  (0.3ms) rollback transaction
626
+  (0.1ms) begin transaction
627
+  (0.1ms) SAVEPOINT active_record_1
628
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:59:42.381018"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:59:42.381018"]]
629
+  (0.1ms) RELEASE SAVEPOINT active_record_1
630
+  (0.1ms) SAVEPOINT active_record_1
631
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
632
+  (0.2ms) RELEASE SAVEPOINT active_record_1
633
+  (0.1ms) SAVEPOINT active_record_1
634
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 16:59:42.386341"]]
635
+  (0.1ms) RELEASE SAVEPOINT active_record_1
636
+  (0.3ms) rollback transaction
637
+  (0.1ms) begin transaction
638
+  (0.1ms) SAVEPOINT active_record_1
639
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:59:42.391365"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:59:42.391365"]]
640
+  (0.1ms) RELEASE SAVEPOINT active_record_1
641
+  (0.1ms) SAVEPOINT active_record_1
642
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
643
+  (0.1ms) RELEASE SAVEPOINT active_record_1
644
+  (0.1ms) SAVEPOINT active_record_1
645
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 16:59:42.394725"]]
646
+  (0.1ms) RELEASE SAVEPOINT active_record_1
647
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
648
+  (0.3ms) rollback transaction
649
+  (0.1ms) begin transaction
650
+  (0.1ms) SAVEPOINT active_record_1
651
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:59:42.402255"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:59:42.402255"]]
652
+  (0.1ms) RELEASE SAVEPOINT active_record_1
653
+  (0.1ms) SAVEPOINT active_record_1
654
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
655
+  (0.1ms) RELEASE SAVEPOINT active_record_1
656
+  (0.1ms) SAVEPOINT active_record_1
657
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 16:59:42.406977"]]
658
+  (0.1ms) RELEASE SAVEPOINT active_record_1
659
+  (0.2ms) rollback transaction
660
+  (0.1ms) begin transaction
661
+  (0.1ms) SAVEPOINT active_record_1
662
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 16:59:42.410610"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 16:59:42.410610"]]
663
+  (0.1ms) RELEASE SAVEPOINT active_record_1
664
+  (0.1ms) SAVEPOINT active_record_1
665
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
666
+  (0.1ms) RELEASE SAVEPOINT active_record_1
667
+  (0.1ms) SAVEPOINT active_record_1
668
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 16:59:42.414956"]]
669
+  (0.1ms) RELEASE SAVEPOINT active_record_1
670
+  (0.1ms) SAVEPOINT active_record_1
671
+ SQL (0.2ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 16:59:42.416668"]]
672
+  (0.1ms) RELEASE SAVEPOINT active_record_1
673
+  (0.3ms) rollback transaction
674
+  (0.6ms) begin transaction
675
+  (0.1ms) SAVEPOINT active_record_1
676
+ SQL (0.5ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 17:00:04.837963"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 17:00:04.837963"]]
677
+  (0.1ms) RELEASE SAVEPOINT active_record_1
678
+  (0.1ms) SAVEPOINT active_record_1
679
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
680
+  (0.1ms) RELEASE SAVEPOINT active_record_1
681
+  (0.1ms) SAVEPOINT active_record_1
682
+ SQL (0.2ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 17:00:04.856870"]]
683
+  (0.1ms) RELEASE SAVEPOINT active_record_1
684
+  (0.1ms) SAVEPOINT active_record_1
685
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 17:00:04.859601"]]
686
+  (0.1ms) RELEASE SAVEPOINT active_record_1
687
+  (0.3ms) rollback transaction
688
+  (0.1ms) begin transaction
689
+  (0.1ms) SAVEPOINT active_record_1
690
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 17:00:04.863491"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 17:00:04.863491"]]
691
+  (0.1ms) RELEASE SAVEPOINT active_record_1
692
+  (0.1ms) SAVEPOINT active_record_1
693
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
694
+  (0.1ms) RELEASE SAVEPOINT active_record_1
695
+  (0.1ms) SAVEPOINT active_record_1
696
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 17:00:04.866910"]]
697
+  (0.1ms) RELEASE SAVEPOINT active_record_1
698
+  (0.4ms) rollback transaction
699
+  (0.1ms) begin transaction
700
+  (0.1ms) SAVEPOINT active_record_1
701
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 17:00:04.881475"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 17:00:04.881475"]]
702
+  (0.1ms) RELEASE SAVEPOINT active_record_1
703
+  (0.1ms) SAVEPOINT active_record_1
704
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
705
+  (0.1ms) RELEASE SAVEPOINT active_record_1
706
+  (0.1ms) SAVEPOINT active_record_1
707
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 17:00:04.885742"]]
708
+  (0.1ms) RELEASE SAVEPOINT active_record_1
709
+  (0.2ms) rollback transaction
710
+  (0.1ms) begin transaction
711
+  (0.1ms) SAVEPOINT active_record_1
712
+ SQL (0.2ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 17:00:04.889612"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 17:00:04.889612"]]
713
+  (0.1ms) RELEASE SAVEPOINT active_record_1
714
+  (0.1ms) SAVEPOINT active_record_1
715
+ SQL (0.2ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
716
+  (0.1ms) RELEASE SAVEPOINT active_record_1
717
+  (0.1ms) SAVEPOINT active_record_1
718
+ SQL (0.1ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 17:00:04.892765"]]
719
+  (0.1ms) RELEASE SAVEPOINT active_record_1
720
+ UserNotification Load (0.2ms) SELECT "user_notifications".* FROM "user_notifications" ORDER BY "user_notifications"."id" DESC LIMIT 1
721
+  (0.3ms) rollback transaction
722
+  (0.1ms) begin transaction
723
+  (0.1ms) SAVEPOINT active_record_1
724
+ SQL (0.3ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 17:00:04.900215"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 17:00:04.900215"]]
725
+  (0.1ms) RELEASE SAVEPOINT active_record_1
726
+  (0.1ms) SAVEPOINT active_record_1
727
+ SQL (0.3ms) INSERT INTO "user_notifications" ("from_email", "from_name", "locale", "template_name") VALUES (?, ?, ?, ?) [["from_email", "no-reply@yourdomain"], ["from_name", "please configure a default from name"], ["locale", "en"], ["template_name", "test"]]
728
+  (0.1ms) RELEASE SAVEPOINT active_record_1
729
+  (0.1ms) SAVEPOINT active_record_1
730
+ SQL (0.2ms) UPDATE "user_notifications" SET "sent_at" = ? WHERE "user_notifications"."id" = 1 [["sent_at", "2014-07-02 17:00:04.905000"]]
731
+  (0.1ms) RELEASE SAVEPOINT active_record_1
732
+  (0.3ms) rollback transaction
733
+  (0.1ms) begin transaction
734
+  (0.1ms) SAVEPOINT active_record_1
735
+ SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "updated_at") VALUES (?, ?, ?) [["created_at", "2014-07-02 17:00:04.909783"], ["email", "foo@bar.com"], ["updated_at", "2014-07-02 17:00:04.909783"]]
736
+  (0.1ms) RELEASE SAVEPOINT active_record_1
737
+  (0.3ms) rollback transaction