(1.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)   (1.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version") ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" Migrating to AddUsers (20130820025256)  (0.1ms) begin transaction  (0.3ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255))  SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130820025256"]]  (1.0ms) commit transaction ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.0ms) rollback transaction  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.0ms) rollback transaction  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.1ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:35:43 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_field.html.erb (1.1ms) Rendered users/_form.html.erb (15.6ms) Completed 500 Internal Server Error in 41ms  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:36:18 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_field.html.erb (1.2ms) Rendered users/_form.html.erb (15.9ms) Completed 500 Internal Server Error in 34ms  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:37:02 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_field.html.erb (1.2ms) Rendered users/_form.html.erb (15.7ms) Completed 500 Internal Server Error in 34ms  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:38:21 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_field.html.erb (1.2ms) Rendered users/_form.html.erb (15.4ms) Completed 500 Internal Server Error in 34ms  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:38:45 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_field.html.erb (1.3ms) Rendered users/_form.html.erb (16.0ms) Completed 500 Internal Server Error in 35ms  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:40:04 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_field.html.erb (1.3ms) Rendered users/_form.html.erb (15.9ms) Completed 500 Internal Server Error in 34ms  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.0ms) rollback transaction  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) rollback transaction  (0.1ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:42:37 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_field.html.erb (1.1ms) Rendered users/_form.html.erb (16.7ms) Completed 500 Internal Server Error in 36ms  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) rollback transaction  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:43:49 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_field.html.erb (1.2ms) Rendered users/_form.html.erb (45.9ms) Completed 200 OK in 120ms (Views: 116.8ms | ActiveRecord: 0.9ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-19 20:43:49 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-19 20:43:49 -0700  (0.2ms) rollback transaction  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:49:41 -0700 Processing by UsersController#new as HTML Completed 500 Internal Server Error in 7ms  (2.5ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)   (1.0ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version") ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" Migrating to CreateFileUploadS3Files (20130710184605)  (0.0ms) begin transaction  (0.3ms) CREATE TABLE "file_upload_s3_files" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "owner_type" varchar(255) NOT NULL, "owner_id" integer NOT NULL, "name" varchar(255) NOT NULL, "bucket" varchar(255) NOT NULL, "path" varchar(255) NOT NULL, "size" integer NOT NULL, "content_type" varchar(255) NOT NULL, "scope" varchar(255) NOT NULL, "options" text, "created_at" datetime, "updated_at" datetime)  SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130710184605"]]  (0.9ms) commit transaction Migrating to AddUsers (20130820025256)  (0.0ms) begin transaction  (0.3ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255))   (0.1ms) CREATE TABLE "emails" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "subject" varchar(255), "message" varchar(255))  (0.1ms) CREATE TABLE "db_files" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "owner_type" varchar(255), "owner_id" varchar(255), "key" varchar(255))  SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130820025256"]]  (0.7ms) commit transaction ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:50:08 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_field.html.erb (1.2ms) Rendered users/_form.html.erb (15.9ms) Completed 200 OK in 64ms (Views: 59.4ms | ActiveRecord: 0.8ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-19 20:50:08 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-19 20:50:08 -0700  (0.1ms) rollback transaction  (2.6ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)   (1.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version") ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" Migrating to AddUsers (20130820025256)  (0.0ms) begin transaction  (0.3ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255))   (0.1ms) CREATE TABLE "emails" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "subject" varchar(255), "message" varchar(255))  (0.1ms) CREATE TABLE "db_files" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "owner_type" varchar(255), "owner_id" varchar(255), "key" varchar(255))  SQL (0.2ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130820025256"]]  (0.9ms) commit transaction ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- Started GET "/users/new" for 127.0.0.1 at 2013-08-19 20:51:49 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_field.html.erb (1.2ms) Rendered users/_form.html.erb (16.6ms) Completed 200 OK in 66ms (Views: 60.5ms | ActiveRecord: 0.9ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-19 20:51:49 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-19 20:51:49 -0700  (0.1ms) rollback transaction ActiveRecord::SchemaMigration Load (0.5ms) SELECT "schema_migrations".* FROM "schema_migrations" ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" Migrating to AddUsers (20130820025256)  (0.1ms) begin transaction  (1.4ms) DROP TABLE "db_files"  (0.9ms) DROP TABLE "emails"  (0.7ms) DROP TABLE "users" SQL (0.2ms) DELETE FROM "schema_migrations" WHERE "schema_migrations"."version" = '20130820025256'  (1.0ms) commit transaction ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations" Migrating to AddUsers (20130820025256)  (0.0ms) begin transaction  (0.3ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255))  (0.1ms) CREATE TABLE "emails" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "subject" varchar(255), "message" varchar(255))   (0.1ms) CREATE TABLE "db_files" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "owner_type" varchar(255), "owner_id" varchar(255), "name" varchar(255), "size" integer, "content_type" varchar(255), "data" varchar(10485760), "binary" varchar(10485760)) SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20130820025256"]]  (0.9ms) commit transaction ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"  (1.1ms) CREATE TABLE "db_files" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "owner_type" varchar(255), "owner_id" varchar(255), "name" varchar(255), "size" integer, "content_type" varchar(255), "data" varchar(10485760), "binary" varchar(10485760))   (0.9ms) CREATE TABLE "emails" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "subject" varchar(255), "message" varchar(255))  (0.9ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255))   (1.5ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)  (0.8ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")  (0.1ms) SELECT version FROM "schema_migrations"  (1.1ms) INSERT INTO "schema_migrations" (version) VALUES ('20130820025256') ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.0ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:00:44 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.5ms) Rendered users/_form.html.erb (27.7ms) Completed 200 OK in 152ms (Views: 151.2ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:00:44 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:00:44 -0700  (0.1ms) rollback transaction  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.1ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:01:02 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (18.6ms) Completed 200 OK in 64ms (Views: 63.1ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:01:02 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:01:02 -0700  (0.2ms) rollback transaction  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.1ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:03:14 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (18.1ms) Completed 200 OK in 63ms (Views: 62.1ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:03:14 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:03:14 -0700  (0.1ms) rollback transaction  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.1ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:04:02 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.6ms) Rendered users/_form.html.erb (17.6ms) Completed 200 OK in 64ms (Views: 63.3ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:04:02 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:04:02 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:04:02 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 6ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:04:02 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>""}, "commit"=>"Create User"}  (0.3ms) begin transaction  (0.0ms) rollback transaction Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.7ms) Completed 200 OK in 7ms (Views: 3.5ms | ActiveRecord: 0.3ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:04:02 -0700  (0.1ms) rollback transaction  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.1ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:04:10 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (17.7ms) Completed 200 OK in 61ms (Views: 60.5ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:04:10 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:04:10 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:04:10 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 5ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:04:10 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>""}, "commit"=>"Create User"}  (0.3ms) begin transaction  (0.0ms) rollback transaction Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 7ms (Views: 3.6ms | ActiveRecord: 0.3ms)  (0.1ms) rollback transaction  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.1ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:06:23 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (18.8ms) Completed 200 OK in 64ms (Views: 63.0ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:06:23 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:06:23 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:06:23 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 7ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:06:23 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>""}, "commit"=>"Create User"}  (0.2ms) begin transaction  (0.0ms) rollback transaction Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.6ms) Completed 200 OK in 7ms (Views: 3.5ms | ActiveRecord: 0.3ms)  (0.1ms) rollback transaction  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.0ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:07:19 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (18.3ms) Completed 200 OK in 62ms (Views: 61.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:07:19 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:07:19 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:07:19 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 8ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:07:19 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>""}, "commit"=>"Create User"}  (0.2ms) begin transaction  (0.0ms) rollback transaction Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.7ms) Completed 200 OK in 7ms (Views: 3.5ms | ActiveRecord: 0.3ms)  (0.1ms) rollback transaction  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.1ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:34:03 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.7ms) Rendered users/_form.html.erb (20.2ms) Completed 200 OK in 86ms (Views: 85.5ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:34:03 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:34:03 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:34:03 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 6ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:34:03 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>""}, "commit"=>"Create User"}  (0.3ms) begin transaction  (0.1ms) rollback transaction Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 8ms (Views: 4.0ms | ActiveRecord: 0.4ms)  (0.1ms) rollback transaction  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.1ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:34:26 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.7ms) Rendered users/_form.html.erb (17.5ms) Completed 200 OK in 61ms (Views: 60.1ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:34:26 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:34:26 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:34:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]}  (0.4ms) rollback transaction Completed 200 OK in 6ms (Views: 1.6ms | ActiveRecord: 0.0ms)  (0.2ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.0ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:34:40 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.7ms) Rendered users/_form.html.erb (17.7ms) Completed 200 OK in 62ms (Views: 61.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:34:40 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:34:40 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:34:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 6ms (Views: 1.1ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:34:40 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>""}, "commit"=>"Create User"}  (0.3ms) begin transaction  (0.0ms) rollback transaction Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.7ms) Completed 200 OK in 7ms (Views: 3.5ms | ActiveRecord: 0.3ms)  (0.1ms) rollback transaction  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.1ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:35:06 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (17.5ms) Completed 200 OK in 63ms (Views: 62.3ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:35:06 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:35:06 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:35:06 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]}  (0.3ms) rollback transaction Completed in 6ms  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.1ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:35:41 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (18.2ms) Completed 200 OK in 62ms (Views: 61.0ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:35:41 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:35:41 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:35:41 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:35:41 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"408714788"}}, "commit"=>"Create User"}  (0.1ms) begin transaction  (0.0ms) rollback transaction Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 29ms (Views: 3.7ms | ActiveRecord: 0.4ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:35:41 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"408714788"}}, "commit"=>"Create User"}  (0.0ms) begin transaction SQL (0.4ms) INSERT INTO "users" ("name") VALUES (?) [["name", "John Smith"]] Binary data inserted for `string` type on column `content_type` SQL (2.2ms) INSERT INTO "db_files" ("content_type", "data", "name", "owner_id", "owner_type", "size") VALUES (?, ?, ?, ?, ?, ?) [["content_type", "image/jpeg"], ["data", "\xFF\xD8\xFF\xE0\0\u0010JFIF\0\u0001\u0001\0\0\u0001\0\u0001\0\0\xFF\xFE\0>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality\n\xFF\xDB\0C\0\b\u0006\u0006\a\u0006\u0005\b\a\a\a\t\t\b\n\f\u0014\r\f\v\v\f\u0019\u0012\u0013\u000F\u0014\u001D\u001A\u001F\u001E\u001D\u001A\u001C\u001C $.' \",#\u001C\u001C(7),01444\u001F'9=82<.342\xFF\xDB\0C\u0001\t\t\t\f\v\f\u0018\r\r\u00182!\u001C!22222222222222222222222222222222222222222222222222\xFF\xC0\0\u0011\b\0\xC8\0\xC8\u0003\u0001\"\0\u0002\u0011\u0001\u0003\u0011\u0001\xFF\xC4\0\u001F\0\0\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0001\0\0\0\0\0\0\0\0\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\n\v\xFF\xC4\0\xB5\u0010\0\u0002\u0001\u0003\u0003\u0002\u0004\u0003\u0005\u0005\u0004\u0004\0\0\u0001}\u0001\u0002\u0003\0\u0004\u0011\u0005\u0012!1A\u0006\u0013Qa\a\"q\u00142\x81\x91\xA1\b#B\xB1\xC1\u0015R\xD1\xF0$3br\x82\t\n\u0016\u0017\u0018\u0019\u001A%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8A\x92\x93\x94\x95\x96\x97\x98\x99\x9A\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFF\xC4\0\u001F\u0001\0\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\0\0\0\0\0\0\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\n\v\xFF\xC4\0\xB5\u0011\0\u0002\u0001\u0002\u0004\u0004\u0003\u0004\a\u0005\u0004\u0004\0\u0001\u0002w\0\u0001\u0002\u0003\u0011\u0004\u0005!1\u0006\u0012AQ\aaq\u0013\"2\x81\b\u0014B\x91\xA1\xB1\xC1\t#3R\xF0\u0015br\xD1\n\u0016$4\xE1%\xF1\u0017\u0018\u0019\u001A&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x92\x93\x94\x95\x96\x97\x98\x99\x9A\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFF\xDA\0\f\u0003\u0001\0\u0002\u0011\u0003\u0011\0?\0\xEA\xF7\xB7\xA9\xA3{z\x9An\u0005\u0015\xEC\u001F\u001E;{z\x9A7\xB7\xA9\xA6Q@\u000F\xDE\xD9\xEAk7\\\xD7 д\xC9/.\u001F\x85\xE1\u0013<\xB9\xEC*\xF1eEfc\x85Q\x92}\xAB\xCAumI\xBCM\xAE\xBC\xD9&\xC2Ѷć\xA37\xADcZ\xA7\";pxwVv\xE8B%\xBDյ\u0013\xAA\xEA.\xDEc\u000F\xDCŞ#Z\xBD\xE6\xC9\xD4\xC8\xDFJg\xF9\xC5\u0015\xE77ws\xE8\x92QVC\xFC\xE9?\xBEԞt\x9F\xF3ѩ\xB5\x85\xAD\xEB\xEBc\x98-\xF0\xD7\u001D\xCFe\xA43n{\xF4\xB6\\\xCDr\u0010{\xB75\x957\x8B\xAC\xA3$$ҹ\u001E\x99\xAE\u001A{\x99\xAEd/4\x8C\xE4\x9C\xFC\xC75\u0015\0v\xAD\xE3X\x81\xE2)\x8F\xFC\n\xAE[x\x9A\u0019쥹f\x925\x8C\x80T\xB7R\u007F\xFDU\xE7Թ \u0011\x93\x83ڀ=\u001A\xC3_\x83Q\x90G\f\xCF\xE6c;Mh\xF9\xD2s\xFB\xC6\xEB\xD8חZ\xDD\xCDg)\x96\u0017\xDA\xF8\xC6\xEA\xDAе\xF7\xB7\x9C\xC3t\xEC\xF1\xC8~\xF3\u001C\x90h\u0003\xB7\xF3d\xFF\0\x9E\x8DG\x9D'\xF7ژ\b# \xE4\u001EA\xA2\x80\ep\xA6\xE6\u0006\x8AṘߥixG\xC4S\xE9W\x89\xA1\xEA\u0012\xB3\xDB7\xFCz\xCCǧ\xFB&\xB3\xF1Uo\xED~\xD7jB\x9CH\xBF4l:\x86\u0015p\x9B\x8C\xAEe^\x9A\xA9\u000EVz\xFE\xF6\xFE\xF1\xA3{z\x9A\xE7<\u001D\xAD\u001DgBG\x98\xFF\0\xA4\xC0|\x99\xB3\xEA;\xD7C\x81\x8A\xF4\xE3.et|\xC5jn\x94\xAC;{z\x9A7\xB7\xA9\xA6\xE0PEQ\x98\xE2\xED\xEAh\xA6b\x8A\0\\\xD1E%\0-\u001E\x9C\xFDi(\xC7\u001E懰-\xCEWǺ\xB3\xD8h\u0002\xDE\u0006\xDB=\xEB\x88S\xD7\u001D\xCDr\u0016v\xEBkk\u001C)\xFC\u0003\x93\xEFޮ\xF8\xC2\u007F\xB7\xF8\xDA\vnLvp\x96ǣ6?¡\xFA\u000F¼\xDCD\xB9\xA5c\xE9p4\xB9)!}i\xF1\xC14\xAAZ8\x9D\xC0\xEAUx\xAD\xDF\rxu\xB5iL\u{C2DA8}~\x85\x8F\xA5z5\xBD\xB5\xBD\xACK\u001C1\" \u0018\xC0Q\\U+(\xE8z\x94\xB0\xEEJ\xEC\xF0}kQ:m\x9B\u001Cbf\xF9T\u0011\x82=\xEBϤv\x91˳\u0016cԞ\xF5\xF4ί\xE1\xDD#Xs\xF6\xDB\b\xA4\xED\x9C`\xFEb\xB9k\xBF\x84\xFA\u0005\xC1-\u0003\xDD[\x9FEpW\xF5\u0014G\u0011\u0017\xB8兗C\xC3(\xAFZ\xB8\xF85\u0019\xE6\r`\xAF\xB3ß\xE4Eak?\vuM2\u0004\x92\xDEe\xBC\xCB`\x84L\u00100Nz\x9FJ\xD1U\x83ٙ:\u0013]\u000E\n\x8A\xE8\xF4\x8F\u0005k\u001A\xCD\xC2G\r\xB9\x8D\u0018\u001F\xDEH0\xA3\u0015\xD5C\xF0r\xF8\x91\xE7jp\xA7\xAE\xD8\xCB\u007FQM\xCE+\xA8\x95)>\x87\x99`Ӏ>\x86\xBD\x86\xD3\xE0\xED\x82\xE0\xDD\xEAS\xC9\xEB\xE5\xA8O\xE7\x9A\xE8\xAC>\u001ExoO \xAD\x8F\x9EãLۿN\u0005f\xEB\xC1\u001A\xAC4\xD9\xE7~\u0012\u0017\xBA\x9D\x8F\x90\x90<\xAF\u0019\xC0 v\xAD˻\e\xAB\u00196\xDC\xC2\xF1\x92?\x88W\xA8X[\xC1c\x84\xB6\x868P\xF5\u0011\xA8Q\xFAU\xEB\xAB+k\xD8\fW\u0011,\x88\u07BD\u007F:\xC9b55xM\u000F\u0019\xA2\xB7\xBCE\xE1\xD94y\xFC\xD8\xF2֮p\xAC\u007F\x84\xFA\u001A\xC1\xFD+\xAA2R\xD5\u001Cr\x8B\x8B\xB33\u2EF8\xD0\xFCAi.\x9Fq\xE5\xBD܁d\x89\xB9F\u001E\xA7=\xEBؐ\x9D\x8B\x9D\xB9\xC7;zW\x8Dk\x89\u0017\xF6yv@d\xDC\u0004g\xBA\xB6G5\xEA\xBA\r\xB4\x96\x9A\u0015\x942\xC8\xD2H\xB1\r\xCC\xC7$\x93\xCF\xF5\xAE\xDC+g\x8B\x9AA$\x99\xA3E%\u0015\xD8x\xE2\xD1IE\0-\u0014Q@\tG|\xD2\xD2v4=\x87\u0015v\x8F$\x92_\xB4\xF8\xAFZ\xB8?\xF3\xD1Q}\xB0+B\xCAկo\xA1\xB6N\xB2\xB8\u001CzVN\x9F\xF3^jnz\x9B\xA7\xFEu\xDAx\"\xD8M\xAE4\x8C?\xD4\xC6X}x\u001FּjҲl\xFA\xFC\xE6\xB4\xF6R\xECg\xED\xA1{\\\xF5\xAE\xD9\xED\xED^g\xE3\u001DF\e\xFDaD\u00042\xC0\x9B\f\x83\xA3\u001C\x9E+\xAD\xB0\xD7,u\xBB\u0011h\xB7\u0002\v\xC9AC\u0013\u001CH\x84\u007F\xF5\xB1\xF5\u0015\xC4k\xBA\u0005Ί\xFEd\x98krx\x97\u0016\u0018\"!\xFA\x9C\xFF\0Z\xF5\xB0\xBF\u0011\xF3\xB9\x9BJ\x9A6\r\u0014\xB4Wq\xE0\xA1(\xA0\xD1@\vF(\xCD%\0-&}1\\\u007F\x8D5\xDB\xDBi\xEC\xF4m)\xB1}xq\xB8uU\xF5\u001F\xADf'\x845\x84\r6\x9B\xE3\a\x9FP\x8C\x92\xF0\x99I\u0004\xFAu\xAEZ\x98\xA8\xC2\\\xA7\xA5\x87˧V\u001C\xC8\xC7\xF1\x8Cw\u0016\x9E1\xBE\xFB+*\xCB=\xB2\xCA3\xDF\a\u0015\xA3\xF0\x97W\xD7\xEF59\xAC\xFC\xC1&\x9F\u0018-1q\x92\x87\xB6\xDF\u007F\xE9\x9A\xE1\xBC_\xAB_jW\xF1&\xA5\u0001\x86\xFE\xDD\f2\xF1\x8D\xDC\xF0\u007FZ\xF4/\x81\xE9\x8B]]\xBFۈ~\x8D^uy&\x9BG\xD0`\xE1(\xDA2\xE8z]\u058D\xA6\\\xEF\x92kH\v\xB7,\xE5Fs\xEB\\\xC5\xD46P\xA4\x8B \x84\xC2:\xB3\u0001\x8CWi&\xDF-\xB7.\u139E\xB5\xE3\xBA\xEBj\u0017\xBE#[\v;D\x81\xE5|%\xC5\xF7\xDC_\xF7Cp\u000F\xD0W\u0015;\xB7k\x9E\x9DNX\xAB\xD8v\xA1\xA5\xF8:\xF8\xB1g\xB7\x89\xCFx\x9F\u001C\xFE\u0015\x84|\r\e\xC9\xE7hz\xC2;)\xC8\u0004\xF2\u000F\xD4Vֱ\xE0\xBF\xECye]c\\\xBB\xD4&6\xE6[qk.\u0014\xBF\xF7y\xCF\xE9U|)\xE1\x9B\xEDV\xF1\xA2\xFBla\x84^b\xA5\xDBn\u001F@O*}\xC5t\xED\xD4\xE6v\x96\xB6'\xB1\xF1'\x8B\xFC8\u0004Z\xA5\x9C\x97֫\xC1\x93\xA9\u0003\xFD\xEF\xF1\xAFDѵhu\xBD.;\xF8\u0015\xD1_?+u\u00188\xFE\x95\x99k.CA*\xEC\x9E\u001C,\x88[~\u000F\u05F8\xF7\xAD\xEBH\x84V\xE1@\xE4\xF3XTi\x9D4\xD3]I\xBD:b\xB8\xEF\u001Akڝ\x8C\xD0\xD8\xE96\u000Fs3\r\xCE\xFBI\t\xE9\xFE}\xAB\xB1\u001C\x8A\xAB\u007F\u0019x\x83\u000E\xAAk8\xBB;\x9AM6\xACy,\xB6\u001E9\xD5\xD7d\xD7-\u0004M\xD5D\x81\a\xE4*\x97\xFC ְ>5Mr\b\xD8\xF5U<\xFE\xB5\xE97)%\xFC\x9Fٖ\xC2#<\xA3\xE6i\xA4؈\xB9\xE4\x9F_\xA7z\xE0u\xFD\u0006\xEBL\xD5\xE6\xB77\xD3M\u0004N\xA1\xBE\xCAB\u0003\xCF%@\xAE\xA8\xCA\xE8\xE4\x945\xB1r\xC7\xC2\u001E\u0012b\u0010^\v\x97\xFF\0\xAE\xD8\xCF\xE5V\xEE\xBE\e\xE8\xD7\n\r\xB3K\u0001\xF5\u000F\xB8~\xB4[x\u001FQ\xBE\x92\xFAO\u000E\xEBM%\xB5\xB6\xDC[\xEA\u000E?y\x91\x9Cs\xC7\xE9Rx[P\x9AK\xA9-nmg\xB6\x963\xB1\x91ra'\xDB=?\u000E(\x972W\xB8C\x92N\xCD\u001AZ_\xC3{\xE8Dr\u001DU\u001F\xCA\0۸\u001F2\xF3\xD0\xFB\n\xAD\xF1\u007FO\xBEm\u001A\xC7Q\x96\xF4\x98\xE2+\u0014\x96\xE0\xE1K\x9C\x9D½#I]\xB6I\xF2\x90O\\\xD7\u0015\xF1\x90\xE3\xC1\xB1\x81\xDE\xE5?\x91\xACi\u0379\x9AԦ\x956y,W\u0017\xF3h\u0012\xFD\xA7\x98T\xAE\xC6n\xAC3ҽ\xB3\xC37\xCD\u007F\xE1\xFBI\xE4\x80\xC1\xF2\u0005\n}\a\u0019\u0015\xE0V\u0017\xF7\u001Fh\xB6VSt\xA8\xF9\x8E\u0017\xE4\u0016\xED\xC5zr\xF8WZ\xBB\xB7K\xBDw\xC5\r\xA6\xBB\xE0\xC5n\u001C\xA8O\xC35\xE9Ӭ\xA9\xBB\xB3\xC3\xC4ae\x88\\\xA8\xF4jZ\xE1|+\xABjz\u007F\x88%\xF0ֳpn$\v\xE6[\xCE\xC7;\u05EF^\xFCf\xBB\x9FJ\xEF\xA7QM]\u001F?\x88\xA1*\u0013\xE5`h\xA0\xD1Z\u001C\xEC)h\xA2\x82\x97\xC4yv\xBBq#|F\xD4$\u001Fz\xC7O-\u001F\xB1ڧ\x8F\xFB\xE8֕\xFD\x96\x91\xA6xwL\x9E\u0011$Z\xB9\x85f\x86kt&Gb\u0001;\xBDFN9\xA8浏\xFE\u0016\xF4\x90\\\u0002#\xD4l\xFC\xB0~\xAA\a\xFE\xCB]Ž\xB5\xBE\x89\xA4Ƴ\xCA\u0019l\xE3\xDB\xE7H\u0006@\u0015\xE1❪X\xFBL\xBD~\xE14y\u007F\x8B\x9E\xD3[Ѵ\xBF\u0012I\0KȮ\u0016\xDA\xFAuặ\x85-\xACW\x84T\x8C)\x98\xFA\xF1ں\x81ӊE\u0001\u0014*\x80\xAA\u0006\0\u0003\0\nZ\x86\xEE\xEERV\nF\0\x8C\u001E\xF4\xA2\x8E\xF4\u0015\xA9\xCCkzjCt\xB7\xCFn\x97\u0016\xC4bUh\xC34\u007F\xED\u000F\xE5\xF8\xD4I\xE1\xFD*\xF65\x92+\vfS\xC8h\xD4/\u{AEB46}A\u001Cs\xEBX\xD3h\e%3\xE9\xB7Of璘\xDD\u0019\xFC;~\u0018\xAAR\xE8C\x8D\x9DʑxR\xC9\u0001_\xB1E\xB4\xF2C\xFC\xC3\xF25\xAFkie`\u0010\xCC\u0010&q\u001CAq\x93\xD8\u0001T\x84\u001E\"_\x97\xED\xB68\xEC\xCD\u0003\u0013\xFF\0\xA1՛\u001D-\xA1\xB9K\xBB맻\xB8NT\x9F\x95\u0014\xFB/\xF5\xA1\xEB\xD4IY\xE8\x8D-\eP\x9FQ\x8EGhQ-\xF2|\xA6^\xBDH\xDA\xCAz\u0011\xD0\xD5/\u0016\xF8b/\u0015\xE9\xD1\xD9\xCFp\xD0D\x92\x89\u0019\x94rp?\xFA\xF5\xBC\x8B\u0018\\\xA2*\xE4\xE4\xE0u5K\\\xBB\u0016:\u001D\xED\xC98\xF2\xE1c\x9FC\x8E)A\xFB\xDA\u000Ek\xDCw\xC2\xD0[/ʎ\xEC2\xE7ڥ\xC1\xAD\xC7\u001A\x91\x96\xC6\xD5>\u0014\xDF \u0006\x99ҭ\xDAG\x85,G=\xA9\u001A\u00161^%\xAD\xEB\xF2\xC7\xF1N\xEFR\x86\xC6K\xE8,\x82ö1\xF7F9?\x9E\xEA\xF5\xFDkS\x8BH\xD1\xEEo\xE6p\x89\u0014d\xE4\xFA\xE3\xFCk\xCF~\u001CX\xC8\xDAe\xEE\xAFp\x98\x97P\x9D\xA4\xE7\xFB\xB9\xFF\0\u001C\xD7^\u0012\x8F<\x8F31\xC5,<\n\xF7\x9E1\u05FCF\x9F`\xF0\xF6\x91qj$\xE2K\x99\xFER\xB9\xEB\x8A\xDD\xF0\xBF\x84\xED\xFC=\u0013J\xEF\xE7\xDF\xCB̳\x9EO\xB8\u0015Ѕ\b\n\xAA\x803\xD8R\xF5\xAF^\x8E\u001A4\xB5>c\u0015\x98\u052E\xAD\xD0)h\xA2\xBAO8CE\u0006\x8A\0ZJZ(\u0001(\xA0\xD1@\0\xA8\xAE\xAD\xA2\xBC\xB5\x96\xDAe\u000F\u0014\xAAU\x94\xF7\u0015-\u001C}=\xE8v\xB5\x98Ԛi\xA3ά/\xAF\xBE\u001Ak\u0006\xDE\xE4<\xFA\u0005\xC3\u0012\x8C9\xF2\x89\xEF^\xADiwk\xA9٥Ŵ\xAB4\u0012\0Uא\u007F±\xAFl\xED\xB5\vW\xB6\xBA\x85e\x85\xC6\u0019\\d~\u0015\xC1\xBE\x93\xAFx\u0016\xE9\xEF|>\xEDu\xA7\u0012L\x96\x8D\x92\0\xEF^N+\u0005\u007Fz\a\xD3\xE5\xF9\xAC_\xB9P\xF4\xE9\xA11\x9C\xF5S\xD0\xD5;\xDB+}B٭\xEE\xA2Y\"a\x82\b\xEF\xEBY\xFE\u001C\xF1֑\xE2H\xC4^`\xB7\xBC\xE8\xD6\xF2\x9F\x9B\xF0\xF5\xAD\xE9`1\xF2\xBC\xA7j\xF2\x9C\\\u001D\x99\xEF\xA9BkFd\xE9\x93\xDDxq>\xCCt\xF8u==G\xC9\xF2\u00014c\xF1\xEA\u0005^\xFF\0\x84\xC7O\u001FsJ\xD4\t\xFE\xE8\xB4a\x8FҒE,\xBF+m5\x97}\xAAMa\x85x\xA4v##b\x96\xFF\0\xF5V\xF0\xACь\xF0\xC9\xEBsL\xF8ē\xFB\xAF\u000F߷\xD60\xBFΐ\xF8\xA3X\x90~\xE7A(:\x8F:u\xC7\xE4\rsPx\x92{\x96u\u0016\u{929C0}\x8B\xBC\x8F\xAF\xA5kF\xB77\u0018\xDC_\u0004d\xE4\xF4\xAAu\xD9\u0011\xC2ǹb\xFA\xE7Y\xF1\u001A,Z\xB4\x91\xDB\xD9/[[f?\xBD\xFF\0y\xBD=\xAA\xD4h\xB0\xA2\xC7\u001A\u0005U\u0018\0\f\fSbA\u001A\x85\u0019>\xF5f\u0018|Ӓ~^\xFCW<\xE6\xE4Θӌ\u0005\x82\u0002\xE7sp=\xEA{\xBB\xCB}>\xD1\xEEn\xA5Ha\x8Cr\xCCp\u0005s~$\xF1ޓ\xE1\xB41\u0019>\xD1w\x8C-\xBCM\x96\xFC}+\x8BM+^\xF1\xDD\xD2\xDE\xEB\xB2=\xA6\x9B\x9C\xC7j\x99P\xC3\xE9\xFDMkG\r*\x8C\xE6\xC4\xE3i\xD0Z\xB1u=J\xF3\xE2N\xB1\xF6;0\xF1hVϗ\x94\x8Cy\xA4w5\xDF\xDB[Ggm\u0015\xB4J\u00168\xD4*\x81\xD8\ne\x95\x95\xBE\x9Fk\u001D\xAD\xACK\u001CQ\x8C*\xA8\xED\xFDj\xC5{\xB4(*J\xC7\xC7\xE3q\x92\xC4\xCA\xFD\u0003\xB9\xA2\x96\x8A\xE88B\x92\x8A^\xB4\0\x87\x9A(\"\x8A\0Z)\u0005-\0%/j);\xF3@\\JZ\xA9\xA8\xEAV\x9AU\xA3\xDD^J\"\x8D{\x93\xD7ڸs\xE3\u001F\u0011x\x92\xE9\xED|+\xA3\xBC\x83\xFEz\xB2\xEE#\xDF\xD0~\xB5\u0013\xAB\u0018nt\xD0\xC2T\xAB\xB2=\u000E\x8A\xE2\a\x84\xFE/H\u0003\t\xA0R{\u001D\x9C\u007F㴿\xF0\x88\xFC^\u001C\xF9\xF0~i\xFF\0\xC4V\u001FYGb\xCB&\xBA\x99\xDA\xFF\0\x87`\xF1?\xC4\v\r\u0017K\x89-\xAE\xDB繸\x89q\xB4u\xCF\u001E\xDC\xD5g\xF1g\x8A|\t\xE2;\x9F\u000F\xEA\r\xFD\xA9\u001D\xB3\u0015\u001Eb\x92̝A\a\xAFO\\\xD7_\xF0~\xDE}3ǚ톺\xA3\xFBw`o1\x8Er3\x93\x8E\x9FZ\xE9\xFE*x\u000E}z\u0018u\xCD\u0018l֬\xC7ˏ\xF9j\xA3\xB7ָjr\xCD\xEC{T9\xA9E+\x9C\xB6\x97\xF1\u0003A\xD5p\xA6o\xB1\xCCz\xC5?\u0018\xF6\xCFz\xE9\xE3d\x9D7F\xCB\"\xFF\0\xB2r\rye\xA7\xF6\u000F\x897Z\xEA\xB6\tg\xAA\xC7\xF2ȟ\xEA\xCE{\x91\xD3?\x8DN<\u0019\xA8i\xC7~\x8B\xAF]ۨ\xE4Fĕ\xFD\u000E?J\xE4\x958\xECzP\xAB&\x8FM\u0011\xED\xE0.=\x80\xA4vT\\\xB9\n\xBD\xCBq^q\xBB\xE22b4֭\xD9zd\xA2d~kP\xCD\xE1\x8D\u007FS\u0005\xF5\xBF\u0011Nb\xFE$\x8F\xE5\a\xFA~\x95\n\x92\xEE_\xB4k\xA1\xD6k\u001E8дp\xCB-Кa\xD2(y&\xB8\xFF\0\xF8L\xBCI\xE3\x8Dv\xDB\xC3\xFA\"\u001D6;\x87\nYF]W\xBB1\xF6\u001C\xF1\x8A\xCFk]\u001FO\xBA]7ö\aT\xD5\xE4;\u0015\x9B\xF7\x81I\xEE{~\x95\xED\xDF\r>\u001E\x8F\nZɨ\xEA,'֮\xC7\xEF\x9F9\u0011\x8F\xEE\xADo\nQH\xE4\xABZOK\x9EM\xA4\xF8j\u001F\t|E\xB9\xD25\x84K\xA9\xCAo\xB5\xB9\x94}\xE2y\xC8\xF7\xFE\xB5\xE8\xFD\x87\0\u0001\xD0\n\xE5>\"i\xFA\x9F\x8E~+\xA6\x93\xA1\xA59Sv\x98R\xD1EQ\x98\x86\x8A\r\u0014\0\xB4QI@\u00056I\u0012$i\u001C\x80\xAA\v\u001F\xA0\xEBN\xAEw\xC77\xCDa\xE1+\xD7F*\xEE\xA25#\xDC\xF3\xFAT\xCD\xDA-\x9AQ\x87<\xD4NsF\xD2.\xFE,x\xD2X\xE4\x91\xE2\xD0\xEC\u000Ed+\xFC\\\xF0\a\xB9\xC7\xE0\u0005}\r\xA4\xE9:n\x83b\xB6zu\xACv\xF1\"\xFD\xD4\u001C\xB6;\x93\xDC\xD7\u0019\xF0WF\x8BL\xF8wkp\u0014\t\xAF\x99\xA7\x91\xBB\x9EJ\x81\xFA~\xB5\xD8\xC7!\x93P\xB8\xE7!b ~b\xBC\xB6ܝ\xD9\xF5\u0011\x8A\x84TQ4\u001A\x92O8\x88!\u0019\xCF53I\u001D\xC7ʒ\r\xCAÌ\xD6>\x9D\xFF\0!\b\xFF\0\xE0_\xC8\xD3FF\xA60q\xFB\xCE\xDFZv\u0005#\xCE<{7\xFC\"\xFF\0\u00164?\u0013\u0001\xB2\xDEf\u0016\xD7,;\x8E\x84\x9F\xF8\r{>\u0001\e\x87>\xF5\xE6_\u0015\xF4o\xED\x9F\f\xEA(\x833\xC0\xBEt^\xB9^q\xF8\xD7E\xF0\xE3_\u001E\"\xF0\u0016\x97z\xEF\xBAU\x84E6O\xF1\xA7\xCAO\xE6*Z\xB1I܃\xC6\u001F\u000E<9\xE2\x95{\x8B\xD8M\xADҍ\xDFl\x81\x820\xC7s\xD8\u05CA\xC5r\xDE\u0017խe\xB4כZ\xD0^\xE5\xEDe\x91\xE3Ǘ \xC7\a9\xF5\u0015\xDD|A\xF1\x85\xE7\x88\xF5c\xE0\xAF\v9i\e徻_\xBB\u0018\xFE\xEEkN\xFF\0\xE1\xF6\x9E>\u0015\xFF\0`Z\xA02\xA3\u0019\u0016`>c0\xEAߏJ\x99B\xE8\xB8\xD4q\x92+\xDE\xDC[Yi\xD3^\xC8\u0010\xC5\u0012o\xC8\xEE1\x9F\xF0\xAF=\xD04\xD5\xF1\xB5\xED\xB3\xEB\xFE*\x97O\x86\xFAW\u0016\xD61\xA6\xD3\"\x8F\xF6\xBA\u000E\xBD\xC1\xAC\xB1\xAC\xEA>\"Ӵ\xEF\a*\xBA\xDE\xFD\xA0\xC1r\xDF\xEC.?\xFA\xFF\0\x90\xAF[\xD4\xFE\u001Ci\xDA׆\"\xD3\xED\xCFٯ4\xF8\x83Z\\\xA7\u0005\\\u007F0O\xF9⳥G\x97Vm^\xBF3I\u001D\x8F\x85\xBC\u000F\xA0\xF8N\u0012\x9A]\x92\xAB\x91\xF3N\xFF\04\x8D\xF5?\xE1[\xB7\x93\xC3ce=\xD4Ͳ(Q\xA4v\xF4\0d\x9FҼ\xC3\xE1\xEF\xC4;\x95\xBD\xFF\0\x84S\xC5c\xEC\xFA\xBC_,3\xB9\u0001g\u001D\x87\xD7\xF9֧\xC6=u\xB4\x9F\x87\xB7\x91D\u07FF\xBFŬ{{\xEE\xE1\x87\xFD\xF3\x9A\xD6\xC6\e\x9C\xC7\xC29\xA4\xBB\x9F\\\xF1D\xF1\xE6\xEBR\xB9`\x87\xB0Py\xFDk\xD7\xEE/\xA2\xB7\xE1\xC9ݎ\x82\xB8_\vh\xBF\xF0\x8F\xF8v\xC3M \a\x8A%\xF31\xFD\xE3\xC9\xFDk\xA5\xD5x\xBC\xFC\u0005_.\xA6|\xCCқQH\u00166e$H\xB9\u0015\u0012\xD4\xE0\xF1~\x80\xBEL&@\xB7P\xA8\xF9T\xFA\xFD\u000F \xD6\xF6\x93\xA8ūiv\xF7\xD0\xFDِ6=\u000Fq^\x8F\xE2\xDD.=gº\xA5\x84\x88\u0018Kn\xD8\a\xFB\xC0d~\xA2\xBC'\xE1uӶ\x8F{a)\xFD\xE5\xAC\xF8>\xD9\xC8\xFEk[\xE1\xA7iX\xE1\xCCh\xA9S\xE6;δQ\xDC\xD2\xD7y\xE0\x88h\xA0\xD1@\vI\x9A3K\x9A\0J\xE3\xFE&\u007Fȝ/\xFDt_\xEB]\x85q\xFF\0\u0013?\xE4N\x97\xFE\xBA\xAF\xF5\xAC\xEA|,\xE8\xC2\u007F\u0016'\xAB\xFC2\xFF\0\x92m\xA1\x9F\xFAw\xFF\0ٍiY\u007F\xC7\xED\xD7\xFB\x87\xF9\x8A\xCD\xF8e\xFF\0$\xD7B\xFF\0\xAF\u007F\xFD\x98֝\xA0\xC5\xFD\xCF\xFB\x87\xF9ך\x8F\xA5\x91_N\xFF\0\x90\x84\u007F\xF0/\xE4i?\xE6$?\xEB\xA7\xF5\xA5\xD3\u007F\xE4!\u001F\xFC\v\xF9\u001AO\xF9\x89\u000F\xFA\xE9\xFDkN\xA6lMI\u0003\xDDʌ\u0001\r\xC75\xE1V\xD7^'\xF0ί\xAD\xF8\aB\x84\x83=\xD9x\xE5'\xFDTM\xD0\xFE+\x8A\xF7}C\xFE?\x9E\xA3\xD4,-\"\xD4\xDA\xF1 As4`<\x98\xE5\x80\u0018\u001CԵt\x87~S\x98\xD3<(\xBE\t\xF0\xBC\u001Fٶ\u007Foԥ\xF9\xEEd.\u0015\xA4cדڢռC\xAA\xCF\xE1\xA9,d\xD05[\te;\u0012\xE61\u0014\xAA\xA4\xFF\0\xBA\xE4\xFE\x95\xDA^\x83\xF6;S\xEDڠ\xBD\x8EY\xBC8\xF1A/\x933\xE5\u0016A\xFC'\a\x9A\u001Eþ\xA7\x84\xF8*O\xF8G3,_\xF0dz/j2(\xA2\xBD3\xE6@\x9A(\xA2\x80?\xFF\xD9"], ["name", "avatar.jpeg"], ["owner_id", 1], ["owner_type", "User"], ["size", 7874]]  (5051.1ms) commit transaction SQLite3::BusyException: database is locked: commit transaction  (1.7ms) rollback transaction Completed 500 Internal Server Error in 5063ms  (0.3ms) begin transaction -------------------------- FileUploadTest: test_truth --------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) rollback transaction  (0.0ms) begin transaction ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM "users"  (0.1ms) SELECT COUNT(*) FROM "db_files" Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:36:21 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.7ms) Rendered users/_form.html.erb (17.6ms) Completed 200 OK in 62ms (Views: 61.2ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:36:21 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:36:21 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:36:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:36:21 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"392711711"}}, "commit"=>"Create User"}  (0.1ms) begin transaction  (0.1ms) rollback transaction Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 27ms (Views: 3.7ms | ActiveRecord: 0.4ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:36:21 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"392711711"}}, "commit"=>"Create User"}  (0.0ms) begin transaction SQL (0.3ms) INSERT INTO "users" ("name") VALUES (?) [["name", "John Smith"]] Binary data inserted for `string` type on column `content_type` SQL (1.4ms) INSERT INTO "db_files" ("content_type", "data", "name", "owner_id", "owner_type", "size") VALUES (?, ?, ?, ?, ?, ?) [["content_type", "image/jpeg"], ["data", "\xFF\xD8\xFF\xE0\0\u0010JFIF\0\u0001\u0001\0\0\u0001\0\u0001\0\0\xFF\xFE\0>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality\n\xFF\xDB\0C\0\b\u0006\u0006\a\u0006\u0005\b\a\a\a\t\t\b\n\f\u0014\r\f\v\v\f\u0019\u0012\u0013\u000F\u0014\u001D\u001A\u001F\u001E\u001D\u001A\u001C\u001C $.' \",#\u001C\u001C(7),01444\u001F'9=82<.342\xFF\xDB\0C\u0001\t\t\t\f\v\f\u0018\r\r\u00182!\u001C!22222222222222222222222222222222222222222222222222\xFF\xC0\0\u0011\b\0\xC8\0\xC8\u0003\u0001\"\0\u0002\u0011\u0001\u0003\u0011\u0001\xFF\xC4\0\u001F\0\0\u0001\u0005\u0001\u0001\u0001\u0001\u0001\u0001\0\0\0\0\0\0\0\0\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\n\v\xFF\xC4\0\xB5\u0010\0\u0002\u0001\u0003\u0003\u0002\u0004\u0003\u0005\u0005\u0004\u0004\0\0\u0001}\u0001\u0002\u0003\0\u0004\u0011\u0005\u0012!1A\u0006\u0013Qa\a\"q\u00142\x81\x91\xA1\b#B\xB1\xC1\u0015R\xD1\xF0$3br\x82\t\n\u0016\u0017\u0018\u0019\u001A%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x83\x84\x85\x86\x87\x88\x89\x8A\x92\x93\x94\x95\x96\x97\x98\x99\x9A\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFF\xC4\0\u001F\u0001\0\u0003\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\0\0\0\0\0\0\u0001\u0002\u0003\u0004\u0005\u0006\a\b\t\n\v\xFF\xC4\0\xB5\u0011\0\u0002\u0001\u0002\u0004\u0004\u0003\u0004\a\u0005\u0004\u0004\0\u0001\u0002w\0\u0001\u0002\u0003\u0011\u0004\u0005!1\u0006\u0012AQ\aaq\u0013\"2\x81\b\u0014B\x91\xA1\xB1\xC1\t#3R\xF0\u0015br\xD1\n\u0016$4\xE1%\xF1\u0017\u0018\u0019\u001A&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x92\x93\x94\x95\x96\x97\x98\x99\x9A\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFF\xDA\0\f\u0003\u0001\0\u0002\u0011\u0003\u0011\0?\0\xEA\xF7\xB7\xA9\xA3{z\x9An\u0005\u0015\xEC\u001F\u001E;{z\x9A7\xB7\xA9\xA6Q@\u000F\xDE\xD9\xEAk7\\\xD7 д\xC9/.\u001F\x85\xE1\u0013<\xB9\xEC*\xF1eEfc\x85Q\x92}\xAB\xCAumI\xBCM\xAE\xBC\xD9&\xC2Ѷć\xA37\xADcZ\xA7\";pxwVv\xE8B%\xBDյ\u0013\xAA\xEA.\xDEc\u000F\xDCŞ#Z\xBD\xE6\xC9\xD4\xC8\xDFJg\xF9\xC5\u0015\xE77ws\xE8\x92QVC\xFC\xE9?\xBEԞt\x9F\xF3ѩ\xB5\x85\xAD\xEB\xEBc\x98-\xF0\xD7\u001D\xCFe\xA43n{\xF4\xB6\\\xCDr\u0010{\xB75\x957\x8B\xAC\xA3$$ҹ\u001E\x99\xAE\u001A{\x99\xAEd/4\x8C\xE4\x9C\xFC\xC75\u0015\0v\xAD\xE3X\x81\xE2)\x8F\xFC\n\xAE[x\x9A\u0019쥹f\x925\x8C\x80T\xB7R\u007F\xFDU\xE7Թ \u0011\x93\x83ڀ=\u001A\xC3_\x83Q\x90G\f\xCF\xE6c;Mh\xF9\xD2s\xFB\xC6\xEB\xD8חZ\xDD\xCDg)\x96\u0017\xDA\xF8\xC6\xEA\xDAе\xF7\xB7\x9C\xC3t\xEC\xF1\xC8~\xF3\u001C\x90h\u0003\xB7\xF3d\xFF\0\x9E\x8DG\x9D'\xF7ژ\b# \xE4\u001EA\xA2\x80\ep\xA6\xE6\u0006\x8AṘߥixG\xC4S\xE9W\x89\xA1\xEA\u0012\xB3\xDB7\xFCz\xCCǧ\xFB&\xB3\xF1Uo\xED~\xD7jB\x9CH\xBF4l:\x86\u0015p\x9B\x8C\xAEe^\x9A\xA9\u000EVz\xFE\xF6\xFE\xF1\xA3{z\x9A\xE7<\u001D\xAD\u001DgBG\x98\xFF\0\xA4\xC0|\x99\xB3\xEA;\xD7C\x81\x8A\xF4\xE3.et|\xC5jn\x94\xAC;{z\x9A7\xB7\xA9\xA6\xE0PEQ\x98\xE2\xED\xEAh\xA6b\x8A\0\\\xD1E%\0-\u001E\x9C\xFDi(\xC7\u001E懰-\xCEWǺ\xB3\xD8h\u0002\xDE\u0006\xDB=\xEB\x88S\xD7\u001D\xCDr\u0016v\xEBkk\u001C)\xFC\u0003\x93\xEFޮ\xF8\xC2\u007F\xB7\xF8\xDA\vnLvp\x96ǣ6?¡\xFA\u000F¼\xDCD\xB9\xA5c\xE9p4\xB9)!}i\xF1\xC14\xAAZ8\x9D\xC0\xEAUx\xAD\xDF\rxu\xB5iL\u{C2DA8}~\x85\x8F\xA5z5\xBD\xB5\xBD\xACK\u001C1\" \u0018\xC0Q\\U+(\xE8z\x94\xB0\xEEJ\xEC\xF0}kQ:m\x9B\u001Cbf\xF9T\u0011\x82=\xEBϤv\x91˳\u0016cԞ\xF5\xF4ί\xE1\xDD#Xs\xF6\xDB\b\xA4\xED\x9C`\xFEb\xB9k\xBF\x84\xFA\u0005\xC1-\u0003\xDD[\x9FEpW\xF5\u0014G\u0011\u0017\xB8兗C\xC3(\xAFZ\xB8\xF85\u0019\xE6\r`\xAF\xB3ß\xE4Eak?\vuM2\u0004\x92\xDEe\xBC\xCB`\x84L\u00100Nz\x9FJ\xD1U\x83ٙ:\u0013]\u000E\n\x8A\xE8\xF4\x8F\u0005k\u001A\xCD\xC2G\r\xB9\x8D\u0018\u001F\xDEH0\xA3\u0015\xD5C\xF0r\xF8\x91\xE7jp\xA7\xAE\xD8\xCB\u007FQM\xCE+\xA8\x95)>\x87\x99`Ӏ>\x86\xBD\x86\xD3\xE0\xED\x82\xE0\xDD\xEAS\xC9\xEB\xE5\xA8O\xE7\x9A\xE8\xAC>\u001ExoO \xAD\x8F\x9EãLۿN\u0005f\xEB\xC1\u001A\xAC4\xD9\xE7~\u0012\u0017\xBA\x9D\x8F\x90\x90<\xAF\u0019\xC0 v\xAD˻\e\xAB\u00196\xDC\xC2\xF1\x92?\x88W\xA8X[\xC1c\x84\xB6\x868P\xF5\u0011\xA8Q\xFAU\xEB\xAB+k\xD8\fW\u0011,\x88\u07BD\u007F:\xC9b55xM\u000F\u0019\xA2\xB7\xBCE\xE1\xD94y\xFC\xD8\xF2֮p\xAC\u007F\x84\xFA\u001A\xC1\xFD+\xAA2R\xD5\u001Cr\x8B\x8B\xB33\u2EF8\xD0\xFCAi.\x9Fq\xE5\xBD܁d\x89\xB9F\u001E\xA7=\xEBؐ\x9D\x8B\x9D\xB9\xC7;zW\x8Dk\x89\u0017\xF6yv@d\xDC\u0004g\xBA\xB6G5\xEA\xBA\r\xB4\x96\x9A\u0015\x942\xC8\xD2H\xB1\r\xCC\xC7$\x93\xCF\xF5\xAE\xDC+g\x8B\x9AA$\x99\xA3E%\u0015\xD8x\xE2\xD1IE\0-\u0014Q@\tG|\xD2\xD2v4=\x87\u0015v\x8F$\x92_\xB4\xF8\xAFZ\xB8?\xF3\xD1Q}\xB0+B\xCAկo\xA1\xB6N\xB2\xB8\u001CzVN\x9F\xF3^jnz\x9B\xA7\xFEu\xDAx\"\xD8M\xAE4\x8C?\xD4\xC6X}x\u001FּjҲl\xFA\xFC\xE6\xB4\xF6R\xECg\xED\xA1{\\\xF5\xAE\xD9\xED\xED^g\xE3\u001DF\e\xFDaD\u00042\xC0\x9B\f\x83\xA3\u001C\x9E+\xAD\xB0\xD7,u\xBB\u0011h\xB7\u0002\v\xC9AC\u0013\u001CH\x84\u007F\xF5\xB1\xF5\u0015\xC4k\xBA\u0005Ί\xFEd\x98krx\x97\u0016\u0018\"!\xFA\x9C\xFF\0Z\xF5\xB0\xBF\u0011\xF3\xB9\x9BJ\x9A6\r\u0014\xB4Wq\xE0\xA1(\xA0\xD1@\vF(\xCD%\0-&}1\\\u007F\x8D5\xDB\xDBi\xEC\xF4m)\xB1}xq\xB8uU\xF5\u001F\xADf'\x845\x84\r6\x9B\xE3\a\x9FP\x8C\x92\xF0\x99I\u0004\xFAu\xAEZ\x98\xA8\xC2\\\xA7\xA5\x87˧V\u001C\xC8\xC7\xF1\x8Cw\u0016\x9E1\xBE\xFB+*\xCB=\xB2\xCA3\xDF\a\u0015\xA3\xF0\x97W\xD7\xEF59\xAC\xFC\xC1&\x9F\u0018-1q\x92\x87\xB6\xDF\u007F\xE9\x9A\xE1\xBC_\xAB_jW\xF1&\xA5\u0001\x86\xFE\xDD\f2\xF1\x8D\xDC\xF0\u007FZ\xF4/\x81\xE9\x8B]]\xBFۈ~\x8D^uy&\x9BG\xD0`\xE1(\xDA2\xE8z]\u058D\xA6\\\xEF\x92kH\v\xB7,\xE5Fs\xEB\\\xC5\xD46P\xA4\x8B \x84\xC2:\xB3\u0001\x8CWi&\xDF-\xB7.\u139E\xB5\xE3\xBA\xEBj\u0017\xBE#[\v;D\x81\xE5|%\xC5\xF7\xDC_\xF7Cp\u000F\xD0W\u0015;\xB7k\x9E\x9DNX\xAB\xD8v\xA1\xA5\xF8:\xF8\xB1g\xB7\x89\xCFx\x9F\u001C\xFE\u0015\x84|\r\e\xC9\xE7hz\xC2;)\xC8\u0004\xF2\u000F\xD4Vֱ\xE0\xBF\xECye]c\\\xBB\xD4&6\xE6[qk.\u0014\xBF\xF7y\xCF\xE9U|)\xE1\x9B\xEDV\xF1\xA2\xFBla\x84^b\xA5\xDBn\u001F@O*}\xC5t\xED\xD4\xE6v\x96\xB6'\xB1\xF1'\x8B\xFC8\u0004Z\xA5\x9C\x97֫\xC1\x93\xA9\u0003\xFD\xEF\xF1\xAFDѵhu\xBD.;\xF8\u0015\xD1_?+u\u00188\xFE\x95\x99k.CA*\xEC\x9E\u001C,\x88[~\u000F\u05F8\xF7\xAD\xEBH\x84V\xE1@\xE4\xF3XTi\x9D4\xD3]I\xBD:b\xB8\xEF\u001Akڝ\x8C\xD0\xD8\xE96\u000Fs3\r\xCE\xFBI\t\xE9\xFE}\xAB\xB1\u001C\x8A\xAB\u007F\u0019x\x83\u000E\xAAk8\xBB;\x9AM6\xACy,\xB6\u001E9\xD5\xD7d\xD7-\u0004M\xD5D\x81\a\xE4*\x97\xFC ְ>5Mr\b\xD8\xF5U<\xFE\xB5\xE97)%\xFC\x9Fٖ\xC2#<\xA3\xE6i\xA4؈\xB9\xE4\x9F_\xA7z\xE0u\xFD\u0006\xEBL\xD5\xE6\xB77\xD3M\u0004N\xA1\xBE\xCAB\u0003\xCF%@\xAE\xA8\xCA\xE8\xE4\x945\xB1r\xC7\xC2\u001E\u0012b\u0010^\v\x97\xFF\0\xAE\xD8\xCF\xE5V\xEE\xBE\e\xE8\xD7\n\r\xB3K\u0001\xF5\u000F\xB8~\xB4[x\u001FQ\xBE\x92\xFAO\u000E\xEBM%\xB5\xB6\xDC[\xEA\u000E?y\x91\x9Cs\xC7\xE9Rx[P\x9AK\xA9-nmg\xB6\x963\xB1\x91ra'\xDB=?\u000E(\x972W\xB8C\x92N\xCD\u001AZ_\xC3{\xE8Dr\u001DU\u001F\xCA\0۸\u001F2\xF3\xD0\xFB\n\xAD\xF1\u007FO\xBEm\u001A\xC7Q\x96\xF4\x98\xE2+\u0014\x96\xE0\xE1K\x9C\x9D½#I]\xB6I\xF2\x90O\\\xD7\u0015\xF1\x90\xE3\xC1\xB1\x81\xDE\xE5?\x91\xACi\u0379\x9AԦ\x956y,W\u0017\xF3h\u0012\xFD\xA7\x98T\xAE\xC6n\xAC3ҽ\xB3\xC37\xCD\u007F\xE1\xFBI\xE4\x80\xC1\xF2\u0005\n}\a\u0019\u0015\xE0V\u0017\xF7\u001Fh\xB6VSt\xA8\xF9\x8E\u0017\xE4\u0016\xED\xC5zr\xF8WZ\xBB\xB7K\xBDw\xC5\r\xA6\xBB\xE0\xC5n\u001C\xA8O\xC35\xE9Ӭ\xA9\xBB\xB3\xC3\xC4ae\x88\\\xA8\xF4jZ\xE1|+\xABjz\u007F\x88%\xF0ֳpn$\v\xE6[\xCE\xC7;\u05EF^\xFCf\xBB\x9FJ\xEF\xA7QM]\u001F?\x88\xA1*\u0013\xE5`h\xA0\xD1Z\u001C\xEC)h\xA2\x82\x97\xC4yv\xBBq#|F\xD4$\u001Fz\xC7O-\u001F\xB1ڧ\x8F\xFB\xE8֕\xFD\x96\x91\xA6xwL\x9E\u0011$Z\xB9\x85f\x86kt&Gb\u0001;\xBDFN9\xA8浏\xFE\u0016\xF4\x90\\\u0002#\xD4l\xFC\xB0~\xAA\a\xFE\xCB]Ž\xB5\xBE\x89\xA4Ƴ\xCA\u0019l\xE3\xDB\xE7H\u0006@\u0015\xE1❪X\xFBL\xBD~\xE14y\u007F\x8B\x9E\xD3[Ѵ\xBF\u0012I\0KȮ\u0016\xDA\xFAuặ\x85-\xACW\x84T\x8C)\x98\xFA\xF1ں\x81ӊE\u0001\u0014*\x80\xAA\u0006\0\u0003\0\nZ\x86\xEE\xEERV\nF\0\x8C\u001E\xF4\xA2\x8E\xF4\u0015\xA9\xCCkzjCt\xB7\xCFn\x97\u0016\xC4bUh\xC34\u007F\xED\u000F\xE5\xF8\xD4I\xE1\xFD*\xF65\x92+\vfS\xC8h\xD4/\u{AEB46}A\u001Cs\xEBX\xD3h\e%3\xE9\xB7Of璘\xDD\u0019\xFC;~\u0018\xAAR\xE8C\x8D\x9DʑxR\xC9\u0001_\xB1E\xB4\xF2C\xFC\xC3\xF25\xAFkie`\u0010\xCC\u0010&q\u001CAq\x93\xD8\u0001T\x84\u001E\"_\x97\xED\xB68\xEC\xCD\u0003\u0013\xFF\0\xA1՛\u001D-\xA1\xB9K\xBB맻\xB8NT\x9F\x95\u0014\xFB/\xF5\xA1\xEB\xD4IY\xE8\x8D-\eP\x9FQ\x8EGhQ-\xF2|\xA6^\xBDH\xDA\xCAz\u0011\xD0\xD5/\u0016\xF8b/\u0015\xE9\xD1\xD9\xCFp\xD0D\x92\x89\u0019\x94rp?\xFA\xF5\xBC\x8B\u0018\\\xA2*\xE4\xE4\xE0u5K\\\xBB\u0016:\u001D\xED\xC98\xF2\xE1c\x9FC\x8E)A\xFB\xDA\u000Ek\xDCw\xC2\xD0[/ʎ\xEC2\xE7ڥ\xC1\xAD\xC7\u001A\x91\x96\xC6\xD5>\u0014\xDF \u0006\x99ҭ\xDAG\x85,G=\xA9\u001A\u00161^%\xAD\xEB\xF2\xC7\xF1N\xEFR\x86\xC6K\xE8,\x82ö1\xF7F9?\x9E\xEA\xF5\xFDkS\x8BH\xD1\xEEo\xE6p\x89\u0014d\xE4\xFA\xE3\xFCk\xCF~\u001CX\xC8\xDAe\xEE\xAFp\x98\x97P\x9D\xA4\xE7\xFB\xB9\xFF\0\u001C\xD7^\u0012\x8F<\x8F31\xC5,<\n\xF7\x9E1\u05FCF\x9F`\xF0\xF6\x91qj$\xE2K\x99\xFER\xB9\xEB\x8A\xDD\xF0\xBF\x84\xED\xFC=\u0013J\xEF\xE7\xDF\xCB̳\x9EO\xB8\u0015Ѕ\b\n\xAA\x803\xD8R\xF5\xAF^\x8E\u001A4\xB5>c\u0015\x98\u052E\xAD\xD0)h\xA2\xBAO8CE\u0006\x8A\0ZJZ(\u0001(\xA0\xD1@\0\xA8\xAE\xAD\xA2\xBC\xB5\x96\xDAe\u000F\u0014\xAAU\x94\xF7\u0015-\u001C}=\xE8v\xB5\x98Ԛi\xA3ά/\xAF\xBE\u001Ak\u0006\xDE\xE4<\xFA\u0005\xC3\u0012\x8C9\xF2\x89\xEF^\xADiwk\xA9٥Ŵ\xAB4\u0012\0Uא\u007F±\xAFl\xED\xB5\vW\xB6\xBA\x85e\x85\xC6\u0019\\d~\u0015\xC1\xBE\x93\xAFx\u0016\xE9\xEF|>\xEDu\xA7\u0012L\x96\x8D\x92\0\xEF^N+\u0005\u007Fz\a\xD3\xE5\xF9\xAC_\xB9P\xF4\xE9\xA11\x9C\xF5S\xD0\xD5;\xDB+}B٭\xEE\xA2Y\"a\x82\b\xEF\xEBY\xFE\u001C\xF1֑\xE2H\xC4^`\xB7\xBC\xE8\xD6\xF2\x9F\x9B\xF0\xF5\xAD\xE9`1\xF2\xBC\xA7j\xF2\x9C\\\u001D\x99\xEF\xA9BkFd\xE9\x93\xDDxq>\xCCt\xF8u==G\xC9\xF2\u00014c\xF1\xEA\u0005^\xFF\0\x84\xC7O\u001FsJ\xD4\t\xFE\xE8\xB4a\x8FҒE,\xBF+m5\x97}\xAAMa\x85x\xA4v##b\x96\xFF\0\xF5V\xF0\xACь\xF0\xC9\xEBsL\xF8ē\xFB\xAF\u000F߷\xD60\xBFΐ\xF8\xA3X\x90~\xE7A(:\x8F:u\xC7\xE4\rsPx\x92{\x96u\u0016\u{929C0}\x8B\xBC\x8F\xAF\xA5kF\xB77\u0018\xDC_\u0004d\xE4\xF4\xAAu\xD9\u0011\xC2ǹb\xFA\xE7Y\xF1\u001A,Z\xB4\x91\xDB\xD9/[[f?\xBD\xFF\0y\xBD=\xAA\xD4h\xB0\xA2\xC7\u001A\u0005U\u0018\0\f\fSbA\u001A\x85\u0019>\xF5f\u0018|Ӓ~^\xFCW<\xE6\xE4Θӌ\u0005\x82\u0002\xE7sp=\xEA{\xBB\xCB}>\xD1\xEEn\xA5Ha\x8Cr\xCCp\u0005s~$\xF1ޓ\xE1\xB41\u0019>\xD1w\x8C-\xBCM\x96\xFC}+\x8BM+^\xF1\xDD\xD2\xDE\xEB\xB2=\xA6\x9B\x9C\xC7j\x99P\xC3\xE9\xFDMkG\r*\x8C\xE6\xC4\xE3i\xD0Z\xB1u=J\xF3\xE2N\xB1\xF6;0\xF1hVϗ\x94\x8Cy\xA4w5\xDF\xDB[Ggm\u0015\xB4J\u00168\xD4*\x81\xD8\ne\x95\x95\xBE\x9Fk\u001D\xAD\xACK\u001CQ\x8C*\xA8\xED\xFDj\xC5{\xB4(*J\xC7\xC7\xE3q\x92\xC4\xCA\xFD\u0003\xB9\xA2\x96\x8A\xE88B\x92\x8A^\xB4\0\x87\x9A(\"\x8A\0Z)\u0005-\0%/j);\xF3@\\JZ\xA9\xA8\xEAV\x9AU\xA3\xDD^J\"\x8D{\x93\xD7ڸs\xE3\u001F\u0011x\x92\xE9\xED|+\xA3\xBC\x83\xFEz\xB2\xEE#\xDF\xD0~\xB5\u0013\xAB\u0018nt\xD0\xC2T\xAB\xB2=\u000E\x8A\xE2\a\x84\xFE/H\u0003\t\xA0R{\u001D\x9C\u007F㴿\xF0\x88\xFC^\u001C\xF9\xF0~i\xFF\0\xC4V\u001FYGb\xCB&\xBA\x99\xDA\xFF\0\x87`\xF1?\xC4\v\r\u0017K\x89-\xAE\xDB繸\x89q\xB4u\xCF\u001E\xDC\xD5g\xF1g\x8A|\t\xE2;\x9F\u000F\xEA\r\xFD\xA9\u001D\xB3\u0015\u001Eb\x92̝A\a\xAFO\\\xD7_\xF0~\xDE}3ǚ톺\xA3\xFBw`o1\x8Er3\x93\x8E\x9FZ\xE9\xFE*x\u000E}z\u0018u\xCD\u0018l֬\xC7ˏ\xF9j\xA3\xB7ָjr\xCD\xEC{T9\xA9E+\x9C\xB6\x97\xF1\u0003A\xD5p\xA6o\xB1\xCCz\xC5?\u0018\xF6\xCFz\xE9\xE3d\x9D7F\xCB\"\xFF\0\xB2r\rye\xA7\xF6\u000F\x897Z\xEA\xB6\tg\xAA\xC7\xF2ȟ\xEA\xCE{\x91\xD3?\x8DN<\u0019\xA8i\xC7~\x8B\xAF]ۨ\xE4Fĕ\xFD\u000E?J\xE4\x958\xECzP\xAB&\x8FM\u0011\xED\xE0.=\x80\xA4vT\\\xB9\n\xBD\xCBq^q\xBB\xE22b4֭\xD9zd\xA2d~kP\xCD\xE1\x8D\u007FS\u0005\xF5\xBF\u0011Nb\xFE$\x8F\xE5\a\xFA~\x95\n\x92\xEE_\xB4k\xA1\xD6k\u001E8дp\xCB-Кa\xD2(y&\xB8\xFF\0\xF8L\xBCI\xE3\x8Dv\xDB\xC3\xFA\"\u001D6;\x87\nYF]W\xBB1\xF6\u001C\xF1\x8A\xCFk]\u001FO\xBA]7ö\aT\xD5\xE4;\u0015\x9B\xF7\x81I\xEE{~\x95\xED\xDF\r>\u001E\x8F\nZɨ\xEA,'֮\xC7\xEF\x9F9\u0011\x8F\xEE\xADo\nQH\xE4\xABZOK\x9EM\xA4\xF8j\u001F\t|E\xB9\xD25\x84K\xA9\xCAo\xB5\xB9\x94}\xE2y\xC8\xF7\xFE\xB5\xE8\xFD\x87\0\u0001\xD0\n\xE5>\"i\xFA\x9F\x8E~+\xA6\x93\xA1\xA59Sv\x98R\xD1EQ\x98\x86\x8A\r\u0014\0\xB4QI@\u00056I\u0012$i\u001C\x80\xAA\v\u001F\xA0\xEBN\xAEw\xC77\xCDa\xE1+\xD7F*\xEE\xA25#\xDC\xF3\xFAT\xCD\xDA-\x9AQ\x87<\xD4NsF\xD2.\xFE,x\xD2X\xE4\x91\xE2\xD0\xEC\u000Ed+\xFC\\\xF0\a\xB9\xC7\xE0\u0005}\r\xA4\xE9:n\x83b\xB6zu\xACv\xF1\"\xFD\xD4\u001C\xB6;\x93\xDC\xD7\u0019\xF0WF\x8BL\xF8wkp\u0014\t\xAF\x99\xA7\x91\xBB\x9EJ\x81\xFA~\xB5\xD8\xC7!\x93P\xB8\xE7!b ~b\xBC\xB6ܝ\xD9\xF5\u0011\x8A\x84TQ4\u001A\x92O8\x88!\u0019\xCF53I\u001D\xC7ʒ\r\xCAÌ\xD6>\x9D\xFF\0!\b\xFF\0\xE0_\xC8\xD3FF\xA60q\xFB\xCE\xDFZv\u0005#\xCE<{7\xFC\"\xFF\0\u00164?\u0013\u0001\xB2\xDEf\u0016\xD7,;\x8E\x84\x9F\xF8\r{>\u0001\e\x87>\xF5\xE6_\u0015\xF4o\xED\x9F\f\xEA(\x833\xC0\xBEt^\xB9^q\xF8\xD7E\xF0\xE3_\u001E\"\xF0\u0016\x97z\xEF\xBAU\x84E6O\xF1\xA7\xCAO\xE6*Z\xB1I܃\xC6\u001F\u000E<9\xE2\x95{\x8B\xD8M\xADҍ\xDFl\x81\x820\xC7s\xD8\u05CA\xC5r\xDE\u0017խe\xB4כZ\xD0^\xE5\xEDe\x91\xE3Ǘ \xC7\a9\xF5\u0015\xDD|A\xF1\x85\xE7\x88\xF5c\xE0\xAF\v9i\e徻_\xBB\u0018\xFE\xEEkN\xFF\0\xE1\xF6\x9E>\u0015\xFF\0`Z\xA02\xA3\u0019\u0016`>c0\xEAߏJ\x99B\xE8\xB8\xD4q\x92+\xDE\xDC[Yi\xD3^\xC8\u0010\xC5\u0012o\xC8\xEE1\x9F\xF0\xAF=\xD04\xD5\xF1\xB5\xED\xB3\xEB\xFE*\x97O\x86\xFAW\u0016\xD61\xA6\xD3\"\x8F\xF6\xBA\u000E\xBD\xC1\xAC\xB1\xAC\xEA>\"Ӵ\xEF\a*\xBA\xDE\xFD\xA0\xC1r\xDF\xEC.?\xFA\xFF\0\x90\xAF[\xD4\xFE\u001Ci\xDA׆\"\xD3\xED\xCFٯ4\xF8\x83Z\\\xA7\u0005\\\u007F0O\xF9⳥G\x97Vm^\xBF3I\u001D\x8F\x85\xBC\u000F\xA0\xF8N\u0012\x9A]\x92\xAB\x91\xF3N\xFF\04\x8D\xF5?\xE1[\xB7\x93\xC3ce=\xD4Ͳ(Q\xA4v\xF4\0d\x9FҼ\xC3\xE1\xEF\xC4;\x95\xBD\xFF\0\x84S\xC5c\xEC\xFA\xBC_,3\xB9\u0001g\u001D\x87\xD7\xF9֧\xC6=u\xB4\x9F\x87\xB7\x91D\u07FF\xBFŬ{{\xEE\xE1\x87\xFD\xF3\x9A\xD6\xC6\e\x9C\xC7\xC29\xA4\xBB\x9F\\\xF1D\xF1\xE6\xEBR\xB9`\x87\xB0Py\xFDk\xD7\xEE/\xA2\xB7\xE1\xC9ݎ\x82\xB8_\vh\xBF\xF0\x8F\xF8v\xC3M \a\x8A%\xF31\xFD\xE3\xC9\xFDk\xA5\xD5x\xBC\xFC\u0005_.\xA6|\xCCқQH\u00166e$H\xB9\u0015\u0012\xD4\xE0\xF1~\x80\xBEL&@\xB7P\xA8\xF9T\xFA\xFD\u000F \xD6\xF6\x93\xA8ūiv\xF7\xD0\xFDِ6=\u000Fq^\x8F\xE2\xDD.=gº\xA5\x84\x88\u0018Kn\xD8\a\xFB\xC0d~\xA2\xBC'\xE1uӶ\x8F{a)\xFD\xE5\xAC\xF8>\xD9\xC8\xFEk[\xE1\xA7iX\xE1\xCCh\xA9S\xE6;δQ\xDC\xD2\xD7y\xE0\x88h\xA0\xD1@\vI\x9A3K\x9A\0J\xE3\xFE&\u007Fȝ/\xFDt_\xEB]\x85q\xFF\0\u0013?\xE4N\x97\xFE\xBA\xAF\xF5\xAC\xEA|,\xE8\xC2\u007F\u0016'\xAB\xFC2\xFF\0\x92m\xA1\x9F\xFAw\xFF\0ٍiY\u007F\xC7\xED\xD7\xFB\x87\xF9\x8A\xCD\xF8e\xFF\0$\xD7B\xFF\0\xAF\u007F\xFD\x98֝\xA0\xC5\xFD\xCF\xFB\x87\xF9ך\x8F\xA5\x91_N\xFF\0\x90\x84\u007F\xF0/\xE4i?\xE6$?\xEB\xA7\xF5\xA5\xD3\u007F\xE4!\u001F\xFC\v\xF9\u001AO\xF9\x89\u000F\xFA\xE9\xFDkN\xA6lMI\u0003\xDDʌ\u0001\r\xC75\xE1V\xD7^'\xF0ί\xAD\xF8\aB\x84\x83=\xD9x\xE5'\xFDTM\xD0\xFE+\x8A\xF7}C\xFE?\x9E\xA3\xD4,-\"\xD4\xDA\xF1 As4`<\x98\xE5\x80\u0018\u001CԵt\x87~S\x98\xD3<(\xBE\t\xF0\xBC\u001Fٶ\u007Foԥ\xF9\xEEd.\u0015\xA4cדڢռC\xAA\xCF\xE1\xA9,d\xD05[\te;\u0012\xE61\u0014\xAA\xA4\xFF\0\xBA\xE4\xFE\x95\xDA^\x83\xF6;S\xEDڠ\xBD\x8EY\xBC8\xF1A/\x933\xE5\u0016A\xFC'\a\x9A\u001Eþ\xA7\x84\xF8*O\xF8G3,_\xF0dz/j2(\xA2\xBD3\xE6@\x9A(\xA2\x80?\xFF\xD9"], ["name", "avatar.jpeg"], ["owner_id", 1], ["owner_type", "User"], ["size", 7874]]  (5051.4ms) commit transaction SQLite3::BusyException: database is locked: commit transaction  (1.9ms) rollback transaction Completed 500 Internal Server Error in 5063ms  (25.3ms) CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB  (32.9ms) CREATE UNIQUE INDEX `unique_schema_migrations` ON `schema_migrations` (`version`) ActiveRecord::SchemaMigration Load (0.7ms) SELECT `schema_migrations`.* FROM `schema_migrations` Migrating to AddUsers (20130820025256)  (19.2ms) CREATE TABLE `users` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `name` varchar(255)) ENGINE=InnoDB  (17.0ms) CREATE TABLE `emails` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `subject` varchar(255), `message` varchar(255)) ENGINE=InnoDB  (14.1ms) CREATE TABLE `db_files` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `owner_type` varchar(255), `owner_id` varchar(255), `name` varchar(255), `size` int(11), `content_type` varchar(255), `data` blob(10485760)) ENGINE=InnoDB  (0.2ms) BEGIN SQL (0.6ms) INSERT INTO `schema_migrations` (`version`) VALUES ('20130820025256')  (0.2ms) COMMIT ActiveRecord::SchemaMigration Load (0.3ms) SELECT `schema_migrations`.* FROM `schema_migrations`  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (1.1ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:45:24 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (18.7ms) Completed 200 OK in 62ms (Views: 61.5ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:45:24 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:45:24 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:45:24 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:45:24 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"396958565"}}, "commit"=>"Create User"}  (0.1ms) BEGIN  (0.2ms) ROLLBACK Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 54ms (Views: 3.7ms | ActiveRecord: 1.5ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:45:25 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"396958565"}}, "commit"=>"Create User"}  (0.1ms) BEGIN SQL (2.5ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 1, 'User', 7874)  (0.7ms) COMMIT Redirected to http://127.0.0.1:52398/users/1 Completed 302 Found in 16ms (ActiveRecord: 7.3ms) Started GET "/users/1" for 127.0.0.1 at 2013-08-20 10:45:25 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"1"} User Load (1.8ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1 DbFile Load (1.1ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 1 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 11ms (Views: 4.5ms | ActiveRecord: 4.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.7ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:46:15 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.7ms) Rendered users/_form.html.erb (18.1ms) Completed 200 OK in 61ms (Views: 60.9ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:46:15 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:46:15 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:46:15 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:46:15 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"450019150"}}, "commit"=>"Create User"}  (0.2ms) BEGIN  (0.2ms) ROLLBACK Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (3.3ms) Completed 200 OK in 57ms (Views: 4.2ms | ActiveRecord: 3.9ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:46:15 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"450019150"}}, "commit"=>"Create User"}  (0.1ms) BEGIN SQL (0.9ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.6ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 2, 'User', 7874)  (0.6ms) COMMIT Redirected to http://127.0.0.1:52410/users/2 Completed 302 Found in 12ms (ActiveRecord: 4.3ms) Started GET "/users/2" for 127.0.0.1 at 2013-08-20 10:46:15 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"2"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 2 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 2 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 9ms (Views: 4.1ms | ActiveRecord: 2.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.3ms) ROLLBACK  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:46:25 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (18.5ms) Completed 200 OK in 63ms (Views: 62.1ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:46:25 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:46:25 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:46:25 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:46:25 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"140809894"}}, "commit"=>"Create User"}  (0.2ms) BEGIN  (0.2ms) ROLLBACK Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.0ms) Completed 200 OK in 28ms (Views: 3.9ms | ActiveRecord: 3.7ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:46:25 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"140809894"}}, "commit"=>"Create User"}  (0.1ms) BEGIN SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (2.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 3, 'User', 7874)  (0.7ms) COMMIT Redirected to http://127.0.0.1:52419/users/3 Completed 302 Found in 13ms (ActiveRecord: 5.1ms) Started GET "/users/3" for 127.0.0.1 at 2013-08-20 10:46:25 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"3"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 3 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 3 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 8ms (Views: 3.8ms | ActiveRecord: 2.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.3ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.0ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:47:06 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.7ms) Rendered users/_form.html.erb (17.9ms) Completed 200 OK in 61ms (Views: 60.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:47:06 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:47:06 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:47:07 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:47:07 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"988212014"}}, "commit"=>"Create User"}  (0.2ms) BEGIN  (0.2ms) ROLLBACK Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 54ms (Views: 3.6ms | ActiveRecord: 1.7ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:47:07 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"988212014"}}, "commit"=>"Create User"}  (0.1ms) BEGIN SQL (0.4ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (1.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 4, 'User', 7874)  (0.4ms) COMMIT Redirected to http://127.0.0.1:52435/users/4 Completed 302 Found in 11ms (ActiveRecord: 3.1ms) Started GET "/users/4" for 127.0.0.1 at 2013-08-20 10:47:07 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"4"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 4 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 4 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 10ms (Views: 4.4ms | ActiveRecord: 3.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.3ms) ROLLBACK  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.5ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:48:40 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (18.3ms) Completed 200 OK in 64ms (Views: 63.1ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:48:40 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:48:40 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:48:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:48:40 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"899974314"}}, "commit"=>"Create User"}  (0.1ms) BEGIN  (0.2ms) ROLLBACK Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 28ms (Views: 3.8ms | ActiveRecord: 3.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:48:40 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"899974314"}}, "commit"=>"Create User"}  (0.1ms) BEGIN SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (1.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 5, 'User', 7874)  (0.5ms) COMMIT Redirected to http://127.0.0.1:52446/users/5 Completed 302 Found in 12ms (ActiveRecord: 4.2ms) Started GET "/users/5" for 127.0.0.1 at 2013-08-20 10:48:40 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"5"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 5 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 5 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 9ms (Views: 4.2ms | ActiveRecord: 2.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.3ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:50:03 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (45.4ms) Completed 200 OK in 63ms (Views: 62.4ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:50:03 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:50:03 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:50:04 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:50:04 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"510795345"}}, "commit"=>"Create User"}  (0.2ms) BEGIN  (0.1ms) ROLLBACK Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 55ms (Views: 3.7ms | ActiveRecord: 3.2ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:50:04 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"510795345"}}, "commit"=>"Create User"}  (0.1ms) BEGIN SQL (0.9ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.8ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 6, 'User', 7874)  (0.5ms) COMMIT Redirected to http://127.0.0.1:52462/users/6 Completed 302 Found in 11ms (ActiveRecord: 3.4ms) Started GET "/users/6" for 127.0.0.1 at 2013-08-20 10:50:04 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"6"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 6 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 6 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 9ms (Views: 4.2ms | ActiveRecord: 2.4ms) User Load (0.2ms) SELECT `users`.* FROM `users`  (0.3ms) ROLLBACK  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:51:09 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.7ms) Rendered users/_form.html.erb (17.4ms) Completed 200 OK in 62ms (Views: 61.3ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:51:09 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:51:09 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:51:09 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:51:09 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"622675761"}}, "commit"=>"Create User"}  (0.1ms) BEGIN  (0.2ms) ROLLBACK Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.0ms) Completed 200 OK in 56ms (Views: 3.9ms | ActiveRecord: 2.7ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:51:09 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"622675761"}}, "commit"=>"Create User"}  (0.2ms) BEGIN SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.8ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 7, 'User', 7874)  (0.5ms) COMMIT Redirected to http://127.0.0.1:52478/users/7 Completed 302 Found in 11ms (ActiveRecord: 2.7ms) Started GET "/users/7" for 127.0.0.1 at 2013-08-20 10:51:09 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"7"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 7 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 7 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 9ms (Views: 4.3ms | ActiveRecord: 2.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files`  (0.1ms) SELECT COUNT(*) FROM `users`  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:51:39 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (18.1ms) Completed 200 OK in 63ms (Views: 62.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:51:39 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:51:39 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:51:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:51:39 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"157279852"}}, "commit"=>"Create User"}  (0.1ms) BEGIN  (0.2ms) ROLLBACK Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 27ms (Views: 3.7ms | ActiveRecord: 3.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:51:39 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"157279852"}}, "commit"=>"Create User"}  (0.1ms) BEGIN SQL (0.7ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.7ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 8, 'User', 7874)  (0.4ms) COMMIT Redirected to http://127.0.0.1:52487/users/8 Completed 302 Found in 11ms (ActiveRecord: 3.0ms) Started GET "/users/8" for 127.0.0.1 at 2013-08-20 10:51:39 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"8"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 8 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 8 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 9ms (Views: 4.3ms | ActiveRecord: 2.3ms)  (0.5ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files`  (0.2ms) SELECT COUNT(*) FROM `users`  (0.3ms) ROLLBACK  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:53:25 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (18.2ms) Completed 200 OK in 61ms (Views: 60.5ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:53:25 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:53:25 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:53:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:53:26 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"74979461"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 25ms (Views: 3.7ms | ActiveRecord: 0.3ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:53:26 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"74979461"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (1.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 9, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:52498/users/9 Completed 302 Found in 10ms (ActiveRecord: 2.6ms) Started GET "/users/9" for 127.0.0.1 at 2013-08-20 10:53:26 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"9"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 9 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 9 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 6ms (Views: 4.0ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files`  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files`  (0.9ms) ROLLBACK  (0.3ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------ User Load (0.2ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (1.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (1.4ms) SELECT `db_files`.* FROM `db_files`  (0.3ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ---------------------------------------------- User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.3ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file ----------------------------------------------- User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:56:16 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (14.4ms) Completed 200 OK in 58ms (Views: 57.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:56:16 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:56:16 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:56:16 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:56:16 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"128436132"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 14ms (Views: 3.8ms | ActiveRecord: 0.4ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:56:16 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"128436132"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (2.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 10, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:52536/users/10 Completed 302 Found in 11ms (ActiveRecord: 3.0ms) Started GET "/users/10" for 127.0.0.1 at 2013-08-20 10:56:16 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"10"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 10 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 10 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 6ms (Views: 4.1ms | ActiveRecord: 0.8ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files`  (1.2ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------ User Load (0.2ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ---------------------------------------------- User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.3ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 10:56:44 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (15.4ms) Completed 200 OK in 60ms (Views: 59.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 10:56:44 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 10:56:44 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 10:56:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:56:44 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"674025378"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 13ms (Views: 3.8ms | ActiveRecord: 0.4ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 10:56:45 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"674025378"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 11, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:52553/users/11 Completed 302 Found in 8ms (ActiveRecord: 1.0ms) Started GET "/users/11" for 127.0.0.1 at 2013-08-20 10:56:45 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"11"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 11 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 11 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 6ms (Views: 3.9ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 11  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 11  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:16:36 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.5ms) Rendered users/_form.html.erb (25.6ms) Completed 200 OK in 80ms (Views: 79.2ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 12:16:36 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 12:16:36 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:16:36 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:16:36 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 9ms (Views: 0.8ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:16:36 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"111005270"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.7ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 12, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55293/users/12 Completed 302 Found in 54ms (ActiveRecord: 1.4ms) Started GET "/users/12" for 127.0.0.1 at 2013-08-20 12:16:36 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"12"} User Load (0.6ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 12 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 12 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 7ms (Views: 4.1ms | ActiveRecord: 1.0ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 12  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 12  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.7ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 13, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1 Started GET "/users/13/edit" for 127.0.0.1 at 2013-08-20 12:16:36 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"13"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 13 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 13 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.1ms) Rendered users/_form.html.erb (6.4ms) Completed 200 OK in 9ms (Views: 7.5ms | ActiveRecord: 0.5ms) Started GET "/images/SOMEURL" for 127.0.0.1 at 2013-08-20 12:16:36 -0700 User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 13  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 13  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:16:38 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.5ms) Completed 200 OK in 4ms (Views: 3.4ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:16:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:16:38 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"182810981"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_2  (0.2ms) ROLLBACK TO SAVEPOINT active_record_2 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.6ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 9ms (Views: 3.7ms | ActiveRecord: 0.4ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:16:38 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"182810981"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 14, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:55293/users/14 Completed 302 Found in 6ms (ActiveRecord: 0.8ms) Started GET "/users/14" for 127.0.0.1 at 2013-08-20 12:16:38 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"14"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 14 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 14 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.7ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 14  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 14  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.0ms) Rendered users/_form.html.erb (18.3ms) Completed 200 OK in 62ms (Views: 61.2ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"188787"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 15, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55315/users/15 Completed 302 Found in 27ms (ActiveRecord: 2.0ms) Started GET "/users/15" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"15"} User Load (0.5ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 15 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 15 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 7ms (Views: 4.1ms | ActiveRecord: 0.8ms)  (0.4ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 15  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 15  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.2ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 16, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1 Started GET "/users/16/edit" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"16"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 16 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 16 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.3ms) Rendered users/_form.html.erb (6.7ms) Completed 200 OK in 9ms (Views: 7.8ms | ActiveRecord: 0.7ms) Started GET "/images/SOMEURL" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 16  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 16  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 4ms (Views: 3.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"390233617"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_2  (0.3ms) ROLLBACK TO SAVEPOINT active_record_2 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.6ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 9ms (Views: 3.7ms | ActiveRecord: 0.6ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"390233617"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_2 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 17, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:55315/users/17 Completed 302 Found in 6ms (ActiveRecord: 0.9ms) Started GET "/users/17" for 127.0.0.1 at 2013-08-20 12:17:24 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"17"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 17 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 17 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.7ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 17  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 17  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.4ms) ROLLBACK TO SAVEPOINT active_record_1  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (45.9ms) Completed 200 OK in 63ms (Views: 62.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"804210652"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 18, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55684/users/18 Completed 302 Found in 26ms (ActiveRecord: 0.8ms) Started GET "/users/18" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"18"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 18 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 18 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 7ms (Views: 4.3ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 18  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (29.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.4ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 18  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.5ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 19, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1 Started GET "/users/19/edit" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"19"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 19 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 19 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 7ms (Views: 5.1ms | ActiveRecord: 0.8ms) Started GET "/db_files/19/pic.jpg" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"19", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 19 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.4ms) User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 19  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 19  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.5ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.3ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"330832837"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.6ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 8ms (Views: 3.6ms | ActiveRecord: 0.4ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"330832837"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 20, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55684/users/20 Completed 302 Found in 6ms (ActiveRecord: 0.8ms) Started GET "/users/20" for 127.0.0.1 at 2013-08-20 12:24:38 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"20"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 20 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 20 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 1.8ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 20  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (2.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 20  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.7ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:35:40 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.6ms) Rendered users/_form.html.erb (17.3ms) Completed 200 OK in 72ms (Views: 71.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 12:35:40 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 12:35:40 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:35:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:35:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:35:40 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"840502298"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.8ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 21, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55805/users/21 Completed 302 Found in 27ms (ActiveRecord: 2.4ms) Started GET "/users/21" for 127.0.0.1 at 2013-08-20 12:35:40 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"21"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 21 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 21 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 7ms (Views: 4.1ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 21  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 21  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.7ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 22, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1 Started GET "/users/22/edit" for 127.0.0.1 at 2013-08-20 12:35:40 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"22"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 22 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 22 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.3ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.7ms) Started GET "/db_files/22/pic.jpg" for 127.0.0.1 at 2013-08-20 12:35:40 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"22", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 22 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.4ms) User Load (0.4ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 22  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 22  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.9ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:35:43 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:35:43 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:35:43 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"422470949"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.6ms) Rendered users/_form.html.erb (2.7ms) Completed 200 OK in 8ms (Views: 3.6ms | ActiveRecord: 0.3ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:35:43 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"422470949"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 23, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55805/users/23 Completed 302 Found in 6ms (ActiveRecord: 1.2ms) Started GET "/users/23" for 127.0.0.1 at 2013-08-20 12:35:43 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"23"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 23 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 23 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.7ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 23  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 23  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:36:30 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (17.5ms) Completed 200 OK in 60ms (Views: 59.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 12:36:30 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 12:36:30 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:36:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:36:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 33ms (Views: 0.7ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:36:30 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"398259359"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 24, 'User', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55814/users/24 Completed 302 Found in 24ms (ActiveRecord: 0.9ms) Started GET "/users/24" for 127.0.0.1 at 2013-08-20 12:36:30 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"24"} User Load (0.9ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 24 LIMIT 1 DbFile Load (0.9ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 24 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 8ms (Views: 4.6ms | ActiveRecord: 1.9ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 24  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 24  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 25, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1 Started GET "/users/25/edit" for 127.0.0.1 at 2013-08-20 12:36:30 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"25"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 25 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 25 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.6ms) Started GET "/db_files/25/pic.jpg" for 127.0.0.1 at 2013-08-20 12:36:30 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"25", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 25 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:36:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.6ms | ActiveRecord: 0.0ms) User Load (0.4ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (1.4ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 25  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 25  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:36:31 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.3ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:36:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:36:31 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"247293201"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.6ms) Rendered users/_form.html.erb (2.7ms) Completed 200 OK in 9ms (Views: 3.6ms | ActiveRecord: 0.3ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:36:31 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"247293201"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (2.1ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 26, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55814/users/26 Completed 302 Found in 9ms (ActiveRecord: 3.0ms) Started GET "/users/26" for 127.0.0.1 at 2013-08-20 12:36:31 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"26"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 26 LIMIT 1 DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 26 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.7ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 26  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 26  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:38:21 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (18.3ms) Completed 200 OK in 62ms (Views: 61.3ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 12:38:21 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 12:38:21 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:38:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 6ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:38:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:38:21 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"12727701"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 27, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55831/users/27 Completed 302 Found in 24ms (ActiveRecord: 1.0ms) Started GET "/users/27" for 127.0.0.1 at 2013-08-20 12:38:21 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"27"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 27 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 27 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 6ms (Views: 3.9ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 27  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 27  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 28, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/28/edit" for 127.0.0.1 at 2013-08-20 12:38:21 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"28"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 28 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 28 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 5.0ms | ActiveRecord: 0.6ms) Started GET "/db_files/28/pic.jpg" for 127.0.0.1 at 2013-08-20 12:38:21 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"28", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 28 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:38:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 28  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 28  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:38:24 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.3ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:38:24 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:38:24 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"667465641"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.6ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 10ms (Views: 3.8ms | ActiveRecord: 0.3ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:38:24 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"667465641"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 29, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55831/users/29 Completed 302 Found in 40ms (ActiveRecord: 0.9ms) Started GET "/users/29" for 127.0.0.1 at 2013-08-20 12:38:24 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"29"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 29 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 29 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 29  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 29  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.7ms) ROLLBACK  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:38:38 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (17.9ms) Completed 200 OK in 62ms (Views: 61.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 12:38:38 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 12:38:38 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:38:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:38:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:38:38 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"687195047"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 30, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55840/users/30 Completed 302 Found in 56ms (ActiveRecord: 0.9ms) Started GET "/users/30" for 127.0.0.1 at 2013-08-20 12:38:38 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"30"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 30 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 30 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 7ms (Views: 4.1ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 30  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 30  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.7ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.7ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 31, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/31/edit" for 127.0.0.1 at 2013-08-20 12:38:38 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"31"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 31 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 31 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 7ms (Views: 5.3ms | ActiveRecord: 0.5ms) Started GET "/db_files/31/pic.jpg" for 127.0.0.1 at 2013-08-20 12:38:38 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"31", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 31 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:38:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.5ms | ActiveRecord: 0.0ms) Started PATCH "/users/31" for 127.0.0.1 at 2013-08-20 12:38:39 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"key"=>"44040831"}}, "commit"=>"Update User", "id"=>"31"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 31 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 31 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `db_files` SET `owner_id` = NULL WHERE `db_files`.`id` = 31 SQL (0.2ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 31 SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 31, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55840/users/31 Completed 302 Found in 9ms (ActiveRecord: 1.5ms) Started GET "/users/31" for 127.0.0.1 at 2013-08-20 12:38:39 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"31"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 31 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 31 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 31  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 31  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 32  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 12:38:39 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.5ms) Rendered users/_form.html.erb (3.2ms) Completed 200 OK in 5ms (Views: 4.5ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 12:38:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:38:39 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"278386256"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.2ms) Completed 200 OK in 10ms (Views: 4.2ms | ActiveRecord: 0.4ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 12:38:39 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"278386256"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1 SQL (2.7ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 32, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:55840/users/32 Completed 302 Found in 10ms (ActiveRecord: 3.2ms) Started GET "/users/32" for 127.0.0.1 at 2013-08-20 12:38:39 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"32"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 32 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 32 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 4ms (Views: 2.9ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 32  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 33  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 15:56:56 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (18.3ms) Completed 200 OK in 112ms (Views: 111.3ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 15:56:56 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 15:56:56 -0700 User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.5ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.4ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.4ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.4ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 33, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/33/edit" for 127.0.0.1 at 2013-08-20 15:56:58 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"33"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 33 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 33 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.0ms) Rendered users/_form.html.erb (7.2ms) Completed 200 OK in 10ms (Views: 8.3ms | ActiveRecord: 0.6ms) Started GET "/db_files/34/pic.jpg" for 127.0.0.1 at 2013-08-20 15:56:58 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"34", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 34 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.3ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 33  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.7ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 34  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 34, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/34/edit" for 127.0.0.1 at 2013-08-20 15:57:00 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"34"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 34 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 34 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.9ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.5ms) Started GET "/db_files/35/pic.jpg" for 127.0.0.1 at 2013-08-20 15:57:00 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"35", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 35 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 34  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 35  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 15:57:02 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.2ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.8ms) ROLLBACK  (0.2ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 15:59:40 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (18.9ms) Rendered users/new.html.erb within layouts/application (21.5ms) Completed 200 OK in 76ms (Views: 75.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 15:59:41 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 15:59:41 -0700 User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.3ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.8ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (1.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 35, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/35/edit" for 127.0.0.1 at 2013-08-20 15:59:43 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"35"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 35 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 35 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.0ms) Rendered users/_form.html.erb (7.1ms) Completed 200 OK in 10ms (Views: 8.3ms | ActiveRecord: 0.7ms) Started GET "/db_files/36/pic.jpg" for 127.0.0.1 at 2013-08-20 15:59:43 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"36", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 36 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 35  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 36  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.5ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 36, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/36/edit" for 127.0.0.1 at 2013-08-20 15:59:45 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"36"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 36 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 36 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.5ms) Completed 200 OK in 7ms (Views: 5.0ms | ActiveRecord: 0.8ms) Started GET "/db_files/37/pic.jpg" for 127.0.0.1 at 2013-08-20 15:59:45 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"37", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 37 LIMIT 1 Sent data (0.4ms) Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.3ms) User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 36  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 37  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.3ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 15:59:47 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 4ms (Views: 3.7ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 15:59:47 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.2ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:01:05 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (18.0ms) Rendered users/new.html.erb within layouts/application (20.4ms) Completed 200 OK in 60ms (Views: 59.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:01:06 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:01:06 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:01:06 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 37, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/37/edit" for 127.0.0.1 at 2013-08-20 16:01:08 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"37"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 37 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 37 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (6.7ms) Completed 200 OK in 10ms (Views: 7.9ms | ActiveRecord: 0.6ms) Started GET "/db_files/38/pic.jpg" for 127.0.0.1 at 2013-08-20 16:01:08 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"38", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 38 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:01:08 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 37  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 38  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 38, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/38/edit" for 127.0.0.1 at 2013-08-20 16:01:10 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"38"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 38 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 38 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.6ms) Started GET "/db_files/39/pic.jpg" for 127.0.0.1 at 2013-08-20 16:01:10 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"39", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 39 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 38  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 39  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.0ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:01:12 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:01:12 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.2ms) RELEASE SAVEPOINT active_record_1  (2.5ms) ROLLBACK  (0.2ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.4ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:01:31 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.7ms) Rendered users/_form.html.erb (18.6ms) Rendered users/new.html.erb within layouts/application (21.2ms) Completed 200 OK in 62ms (Views: 61.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:01:31 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:01:31 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:01:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.5ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 39, 'User', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/39/edit" for 127.0.0.1 at 2013-08-20 16:01:33 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"39"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 39 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 39 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.0ms) Rendered users/_form.html.erb (7.1ms) Completed 200 OK in 10ms (Views: 8.5ms | ActiveRecord: 0.6ms) Started GET "/db_files/40/pic.jpg" for 127.0.0.1 at 2013-08-20 16:01:33 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"40", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 40 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:01:33 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 39  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 40  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 40, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/40/edit" for 127.0.0.1 at 2013-08-20 16:01:35 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"40"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 40 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 40 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.9ms) Completed 200 OK in 6ms (Views: 4.4ms | ActiveRecord: 0.6ms) Started GET "/db_files/41/pic.jpg" for 127.0.0.1 at 2013-08-20 16:01:35 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"41", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 41 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) User Load (0.4ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 40  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 41  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.5ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:01:37 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:01:37 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.3ms) ROLLBACK  (0.2ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (17.7ms) Rendered users/new.html.erb within layouts/application (20.1ms) Completed 200 OK in 73ms (Views: 72.1ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"827143483"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 41, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59330/users/41 Completed 302 Found in 25ms (ActiveRecord: 1.7ms) Started GET "/users/41" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"41"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 41 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 41 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Rendered users/show.html.erb within layouts/application (3.5ms) Completed 200 OK in 7ms (Views: 4.2ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.3ms) SAVEPOINT active_record_1 SQL (0.9ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 41  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 42  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 42, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/42/edit" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"42"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 42 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 42 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.3ms) Completed 200 OK in 8ms (Views: 5.6ms | ActiveRecord: 0.7ms) Started GET "/db_files/43/pic.jpg" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"43", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 43 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/42" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"key"=>"503873134"}}, "commit"=>"Update User", "id"=>"42"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 42 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 42 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `db_files` SET `owner_id` = NULL WHERE `db_files`.`id` = 43 SQL (0.2ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 42 SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 42, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59330/users/42 Completed 302 Found in 9ms (ActiveRecord: 1.7ms) Started GET "/users/42" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"42"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 42 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 42 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 42  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 43  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 44  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 43, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/43/edit" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"43"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 43 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 43 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.6ms) Completed 200 OK in 7ms (Views: 5.8ms | ActiveRecord: 0.5ms) Started GET "/db_files/45/pic.jpg" for 127.0.0.1 at 2013-08-20 16:10:51 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"45", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 45 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (2.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 43  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 45  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:10:53 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 4ms (Views: 3.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:10:53 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:10:56 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"426564781"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 9ms (Views: 3.7ms | ActiveRecord: 0.4ms) Started GET "/redis_files/426564781/preview" for 127.0.0.1 at 2013-08-20 16:10:56 -0700 Started POST "/users" for 127.0.0.1 at 2013-08-20 16:10:56 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"426564781"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 44, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59330/users/44 Completed 302 Found in 6ms (ActiveRecord: 0.9ms) Started GET "/users/44" for 127.0.0.1 at 2013-08-20 16:10:56 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"44"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 44 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 44 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 44  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 46  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.4ms) Rendered users/_form.html.erb (18.9ms) Rendered users/new.html.erb within layouts/application (21.5ms) Completed 200 OK in 62ms (Views: 61.9ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"762567524"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 45, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59358/users/45 Completed 302 Found in 24ms (ActiveRecord: 0.9ms) Started GET "/users/45" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"45"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 45 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 45 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Rendered users/show.html.erb within layouts/application (3.5ms) Completed 200 OK in 7ms (Views: 4.1ms | ActiveRecord: 0.8ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 45  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 47  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 46, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/46/edit" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"46"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 46 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 46 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.5ms) Completed 200 OK in 7ms (Views: 5.9ms | ActiveRecord: 0.7ms) Started GET "/db_files/48/pic.jpg" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"48", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 48 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/46" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"48", "key"=>"768986393"}}, "commit"=>"Update User", "id"=>"46"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 46 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 46 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 46 SQL (0.4ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 46 WHERE `db_files`.`id` = 48  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59358/users/46 Completed 302 Found in 9ms (ActiveRecord: 1.4ms) Started GET "/users/46" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"46"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 46 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 46 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 46 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 46 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 46  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 48  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 47, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/47/edit" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"47"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 47 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 47 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 6ms (Views: 4.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/49/pic.jpg" for 127.0.0.1 at 2013-08-20 16:12:59 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"49", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 49 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (2.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 47  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 49  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:13:01 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 4ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:13:01 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:13:04 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"288388539"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.6ms) Rendered users/_form.html.erb (2.7ms) Completed 200 OK in 8ms (Views: 3.5ms | ActiveRecord: 0.3ms) Started GET "/redis_files/288388539/preview" for 127.0.0.1 at 2013-08-20 16:13:04 -0700 Started POST "/users" for 127.0.0.1 at 2013-08-20 16:13:04 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"288388539"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 48, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59358/users/48 Completed 302 Found in 6ms (ActiveRecord: 1.0ms) Started GET "/users/48" for 127.0.0.1 at 2013-08-20 16:13:04 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"48"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 48 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 48 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.8ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 48  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 50  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.3ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (18.0ms) Rendered users/new.html.erb within layouts/application (20.4ms) Completed 200 OK in 61ms (Views: 60.8ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"510894052"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 49, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59375/users/49 Completed 302 Found in 25ms (ActiveRecord: 0.8ms) Started GET "/users/49" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"49"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 49 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 49 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Rendered users/show.html.erb within layouts/application (3.6ms) Completed 200 OK in 7ms (Views: 4.4ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.3ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 49  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 51  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 50, 'User', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/50/edit" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"50"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 50 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 50 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 7ms (Views: 5.2ms | ActiveRecord: 0.7ms) Started GET "/db_files/52/pic.jpg" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"52", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 52 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/50" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"52", "key"=>"935953494"}}, "commit"=>"Update User", "id"=>"50"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 50 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 50 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 50 SQL (0.6ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 50 WHERE `db_files`.`id` = 52  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59375/users/50 Completed 302 Found in 9ms (ActiveRecord: 1.9ms) Started GET "/users/50" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"50"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 50 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 50 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 4ms (Views: 2.1ms | ActiveRecord: 0.8ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 50 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 50 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 50  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 52  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 51, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/51/edit" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"51"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 51 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 51 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.5ms) Completed 200 OK in 5ms (Views: 4.1ms | ActiveRecord: 0.5ms) Started GET "/db_files/53/pic.jpg" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"53", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 53 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 51  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 53  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.4ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"690637595"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.6ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 10ms (Views: 3.8ms | ActiveRecord: 0.4ms) Started GET "/redis_files/690637595/preview" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Started POST "/users" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"690637595"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1 SQL (0.8ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 52, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59375/users/52 Completed 302 Found in 7ms (ActiveRecord: 1.5ms) Started GET "/users/52" for 127.0.0.1 at 2013-08-20 16:13:44 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"52"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 52 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 52 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.3ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 52  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 54  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.7ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.0ms) Rendered users/_form.html.erb (18.6ms) Completed 200 OK in 63ms (Views: 62.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"170121794"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.9ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 53, 'User', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59411/users/53 Completed 302 Found in 26ms (ActiveRecord: 2.6ms) Started GET "/users/53" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"53"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 53 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 53 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 7ms (Views: 4.3ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 53  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 55  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 54, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/54/edit" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"54"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 54 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 54 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.7ms) Started GET "/db_files/56/pic.jpg" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"56", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 56 LIMIT 1 Sent data (1.0ms) Completed 200 OK in 2ms (Views: 0.9ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/54" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"56", "key"=>"670388925"}}, "commit"=>"Update User", "id"=>"54"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 54 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 54 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 54 SQL (0.4ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 54 WHERE `db_files`.`id` = 56  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59411/users/54 Completed 302 Found in 8ms (ActiveRecord: 1.6ms) Started GET "/users/54" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"54"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 54 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 54 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 54 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 54 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 54  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 56  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.3ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 55, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/55/edit" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"55"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 55 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 55 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.4ms | ActiveRecord: 0.5ms) Started GET "/db_files/57/pic.jpg" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"57", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 57 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 55  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 57  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.5ms) Completed 200 OK in 4ms (Views: 3.4ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"635613057"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 9ms (Views: 3.7ms | ActiveRecord: 0.3ms) Started GET "/redis_files/635613057/preview" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Started POST "/users" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"635613057"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 56, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59411/users/56 Completed 302 Found in 6ms (ActiveRecord: 0.9ms) Started GET "/users/56" for 127.0.0.1 at 2013-08-20 16:21:38 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"56"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 56 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 56 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.8ms | ActiveRecord: 0.4ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 56  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 58  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:22:39 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (19.0ms) Completed 200 OK in 65ms (Views: 64.0ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:22:39 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:22:39 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"53768149"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 57, 'User', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59429/users/57 Completed 302 Found in 25ms (ActiveRecord: 0.8ms) Started GET "/users/57" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"57"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 57 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 57 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 6ms (Views: 4.0ms | ActiveRecord: 0.5ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 57  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 59  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.9ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 58, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/58/edit" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"58"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 58 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 58 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.3ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.7ms) Started GET "/db_files/60/pic.jpg" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"60", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 60 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/58" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"60", "key"=>"546725348"}}, "commit"=>"Update User", "id"=>"58"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 58 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 58 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.4ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 58 SQL (2.9ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 58 WHERE `db_files`.`id` = 60  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59429/users/58 Completed 302 Found in 11ms (ActiveRecord: 4.2ms) Started GET "/users/58" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"58"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 58 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 58 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 58 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 58 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 58  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 60  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.7ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 59, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/59/edit" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"59"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 59 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 59 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.4ms | ActiveRecord: 0.7ms) Started GET "/db_files/61/pic.jpg" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"61", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 61 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 59  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 61  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.5ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"890304394"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.3ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 10ms (Views: 3.8ms | ActiveRecord: 0.5ms) Started GET "/file_upload/redis_files/890304394/preview" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"890304394"} Completed 500 Internal Server Error in 1ms Started POST "/users" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"890304394"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 60, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59429/users/60 Completed 302 Found in 6ms (ActiveRecord: 1.1ms) Started GET "/users/60" for 127.0.0.1 at 2013-08-20 16:22:40 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"60"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 60 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 60 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 60  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 62  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:23:10 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (18.5ms) Completed 200 OK in 63ms (Views: 62.2ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:23:10 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:23:10 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:10 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:10 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:23:10 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"633365112"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 61, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59440/users/61 Completed 302 Found in 24ms (ActiveRecord: 0.9ms) Started GET "/users/61" for 127.0.0.1 at 2013-08-20 16:23:10 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"61"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 61 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 61 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 6ms (Views: 4.1ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 61  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 63  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.3ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 62, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/62/edit" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"62"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 62 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 62 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 5.0ms | ActiveRecord: 0.5ms) Started GET "/db_files/64/pic.jpg" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"64", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 64 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/62" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"64", "key"=>"690893342"}}, "commit"=>"Update User", "id"=>"62"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 62 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 62 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 62 SQL (0.5ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 62 WHERE `db_files`.`id` = 64  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59440/users/62 Completed 302 Found in 9ms (ActiveRecord: 1.7ms) Started GET "/users/62" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"62"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 62 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 62 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 62 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 62 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 62  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 64  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 63, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/63/edit" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"63"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 63 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 63 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (3.9ms) Completed 200 OK in 6ms (Views: 4.4ms | ActiveRecord: 0.6ms) Started GET "/db_files/65/pic.jpg" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"65", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 65 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 63  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 65  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.5ms) Completed 200 OK in 4ms (Views: 3.4ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"882321701"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.6ms) Rendered users/_form.html.erb (2.6ms) Completed 200 OK in 8ms (Views: 3.3ms | ActiveRecord: 0.3ms) Started GET "/file_upload/redis_files/882321701/preview" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"882321701"} Completed 500 Internal Server Error in 1ms Started POST "/users" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"882321701"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (2.1ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 64, 'User', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59440/users/64 Completed 302 Found in 8ms (ActiveRecord: 3.1ms) Started GET "/users/64" for 127.0.0.1 at 2013-08-20 16:23:11 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"64"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 64 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 64 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.7ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 64  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 66  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.3ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:23:25 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (17.5ms) Completed 200 OK in 62ms (Views: 61.0ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"71399886"}}, "commit"=>"Create User"}  (0.4ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 65, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59449/users/65 Completed 302 Found in 25ms (ActiveRecord: 0.8ms) Started GET "/users/65" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"65"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 65 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 65 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (1.0ms) Completed 200 OK in 7ms (Views: 4.8ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.8ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 65  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 67  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 66, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/66/edit" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"66"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 66 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 66 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.8ms) Completed 200 OK in 7ms (Views: 6.0ms | ActiveRecord: 0.6ms) Started GET "/db_files/68/pic.jpg" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"68", "name"=>"pic"} DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 68 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.5ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/66" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"68", "key"=>"829334675"}}, "commit"=>"Update User", "id"=>"66"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 66 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 66 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.4ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 66 SQL (0.6ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 66 WHERE `db_files`.`id` = 68  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59449/users/66 Completed 302 Found in 9ms (ActiveRecord: 1.8ms) Started GET "/users/66" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"66"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 66 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 66 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 66 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 66 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 66  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 68  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 67, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/67/edit" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"67"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 67 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 67 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 6ms (Views: 4.3ms | ActiveRecord: 0.5ms) Started GET "/db_files/69/pic.jpg" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"69", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 69 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 67  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 69  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.2ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"714006591"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 9ms (Views: 3.6ms | ActiveRecord: 0.5ms) Started GET "/file_upload/redis_files/714006591/preview" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"714006591"} Completed 500 Internal Server Error in 2ms Started POST "/users" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"714006591"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 68, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59449/users/68 Completed 302 Found in 6ms (ActiveRecord: 1.0ms) Started GET "/users/68" for 127.0.0.1 at 2013-08-20 16:23:26 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"68"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 68 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 68 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 68  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 70  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:23:57 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.1ms) Rendered users/_form.html.erb (17.8ms) Completed 200 OK in 61ms (Views: 60.8ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:23:57 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:23:57 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:57 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:57 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:23:57 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"236183329"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 69, 'User', 18)  (0.3ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59458/users/69 Completed 302 Found in 53ms (ActiveRecord: 1.1ms) Started GET "/users/69" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"69"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 69 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 69 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 6ms (Views: 4.0ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.3ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 69  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 71  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 70, 'User', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/70/edit" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"70"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 70 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 70 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 7ms (Views: 5.2ms | ActiveRecord: 0.7ms) Started GET "/db_files/72/pic.jpg" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"72", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 72 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.6ms | ActiveRecord: 0.0ms) Started PATCH "/users/70" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"72", "key"=>"934890234"}}, "commit"=>"Update User", "id"=>"70"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 70 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 70 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.9ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 70 SQL (0.4ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 70 WHERE `db_files`.`id` = 72  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59458/users/70 Completed 302 Found in 10ms (ActiveRecord: 3.2ms) Started GET "/users/70" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"70"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 70 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 70 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 70 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 70 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 70  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 72  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 71, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/71/edit" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"71"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 71 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 71 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.6ms) Started GET "/db_files/73/pic.jpg" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"73", "name"=>"pic"} DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 73 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.2ms) User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 71  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 73  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.2ms) Completed 200 OK in 3ms (Views: 3.0ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"566208189"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.0ms) Completed 200 OK in 10ms (Views: 3.9ms | ActiveRecord: 0.3ms) Started GET "/file_upload/redis_files/566208189/preview" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"566208189"} Sent data (0.4ms) Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"566208189"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 72, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59458/users/72 Completed 302 Found in 6ms (ActiveRecord: 0.9ms) Started GET "/users/72" for 127.0.0.1 at 2013-08-20 16:23:58 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"72"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 72 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 72 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 72  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 74  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.0ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (17.2ms) Completed 200 OK in 60ms (Views: 59.8ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"549572675"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 73, 'User', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59490/users/73 Completed 302 Found in 24ms (ActiveRecord: 1.1ms) Started GET "/users/73" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"73"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 73 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 73 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 7ms (Views: 4.2ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 73  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 75  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.4ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 74, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/74/edit" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"74"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 74 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 74 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 7ms (Views: 5.1ms | ActiveRecord: 0.7ms) Started GET "/db_files/76/pic.jpg" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"76", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 76 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/74" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"76", "key"=>"196962589"}}, "commit"=>"Update User", "id"=>"74"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 74 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 74 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (2.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 74 SQL (0.5ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 74 WHERE `db_files`.`id` = 76  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59490/users/74 Completed 302 Found in 11ms (ActiveRecord: 3.9ms) Started GET "/users/74" for 127.0.0.1 at 2013-08-20 16:25:38 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"74"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 74 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 74 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.8ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 74 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 74 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 74  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 76  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 75, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/75/edit" for 127.0.0.1 at 2013-08-20 16:25:39 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"75"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 75 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 75 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.6ms) Completed 200 OK in 5ms (Views: 4.2ms | ActiveRecord: 0.5ms) Started GET "/db_files/77/pic.jpg" for 127.0.0.1 at 2013-08-20 16:25:39 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"77", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 77 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started PATCH "/users/75" for 127.0.0.1 at 2013-08-20 16:25:39 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"77", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"75"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 75 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 75 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 77  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59490/users/75 Completed 302 Found in 4ms (ActiveRecord: 1.1ms) Started GET "/users/75" for 127.0.0.1 at 2013-08-20 16:25:39 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"75"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 75 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 75 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.3ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 75  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.9ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:25:39 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.3ms) Rendered users/_form.html.erb (2.2ms) Completed 200 OK in 3ms (Views: 3.0ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:25:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:25:39 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"724999127"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.6ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 45ms (Views: 3.6ms | ActiveRecord: 0.5ms) Started GET "/file_upload/redis_files/724999127/preview" for 127.0.0.1 at 2013-08-20 16:25:39 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"724999127"} Sent data (0.4ms) Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:25:39 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"724999127"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 76, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59490/users/76 Completed 302 Found in 6ms (ActiveRecord: 0.8ms) Started GET "/users/76" for 127.0.0.1 at 2013-08-20 16:25:39 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"76"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 76 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 76 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 76  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 78  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:28:05 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.0ms) Rendered users/_form.html.erb (18.1ms) Completed 200 OK in 62ms (Views: 61.4ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:28:05 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:28:05 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:28:05 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:28:05 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:28:05 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"735530443"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.4ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 77, 'User', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59511/users/77 Completed 302 Found in 55ms (ActiveRecord: 2.2ms) Started GET "/users/77" for 127.0.0.1 at 2013-08-20 16:28:05 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"77"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 77 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 77 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 6ms (Views: 4.2ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 77  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 79  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 78, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/78/edit" for 127.0.0.1 at 2013-08-20 16:28:05 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"78"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 78 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 78 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 5.1ms | ActiveRecord: 0.5ms) Started GET "/db_files/80/pic.jpg" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"80", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 80 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/78" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"80", "key"=>"149172261"}}, "commit"=>"Update User", "id"=>"78"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 78 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 78 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.4ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 78 SQL (0.5ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 78 WHERE `db_files`.`id` = 80  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59511/users/78 Completed 302 Found in 8ms (ActiveRecord: 1.7ms) Started GET "/users/78" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"78"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 78 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 78 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.6ms)  (0.4ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 78 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 78 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 78  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 80  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.0ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 79, 'User', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/79/edit" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"79"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 79 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 79 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (3.9ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.6ms) Started GET "/db_files/81/pic.jpg" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"81", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 81 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/79" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"81", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"79"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 79 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 79 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 81  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59511/users/79 Completed 302 Found in 3ms (ActiveRecord: 1.0ms) Started GET "/users/79" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"79"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 79 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 79 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 79  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 80, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/80/edit" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"80"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 80 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 80 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 4.5ms | ActiveRecord: 0.7ms) Started GET "/db_files/82/pic.jpg" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"82", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 82 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:28:06 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 80  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 82  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.5ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:28:08 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.3ms) Rendered users/_form.html.erb (2.2ms) Completed 200 OK in 3ms (Views: 3.0ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:28:08 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:28:08 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"594354415"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 9ms (Views: 3.7ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/594354415/preview" for 127.0.0.1 at 2013-08-20 16:28:08 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"594354415"} Sent data (0.4ms) Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:28:08 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"594354415"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 81, 'User', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59511/users/81 Completed 302 Found in 7ms (ActiveRecord: 1.1ms) Started GET "/users/81" for 127.0.0.1 at 2013-08-20 16:28:08 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"81"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 81 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 81 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 41ms (Views: 39.8ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 81  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 83  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:29:44 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.7ms) Rendered users/_form.html.erb (44.7ms) Completed 200 OK in 62ms (Views: 61.1ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:29:44 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:29:44 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:29:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:29:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:29:44 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"545937241"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 82, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59539/users/82 Completed 302 Found in 25ms (ActiveRecord: 0.7ms) Started GET "/users/82" for 127.0.0.1 at 2013-08-20 16:29:44 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"82"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 82 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 82 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 7ms (Views: 4.6ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 82  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 84  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 83, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/83/edit" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"83"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 83 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 83 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 7ms (Views: 5.3ms | ActiveRecord: 0.5ms) Started GET "/db_files/85/pic.jpg" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"85", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 85 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started PATCH "/users/83" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"85", "key"=>"749521057"}}, "commit"=>"Update User", "id"=>"83"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 83 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 83 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 83 SQL (0.4ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 83 WHERE `db_files`.`id` = 85  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59539/users/83 Completed 302 Found in 8ms (ActiveRecord: 1.4ms) Started GET "/users/83" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"83"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 83 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 83 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 83 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 83 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 83  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 85  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 84, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/84/edit" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"84"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 84 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 84 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 4.5ms | ActiveRecord: 0.5ms) Started GET "/db_files/86/pic.jpg" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"86", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 86 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started PATCH "/users/84" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"86", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"84"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 84 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 84 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 86  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59539/users/84 Completed 302 Found in 3ms (ActiveRecord: 0.8ms) Started GET "/users/84" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"84"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 84 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 84 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 84  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 85, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/85/edit" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"85"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 85 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 85 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (4.7ms) Completed 200 OK in 7ms (Views: 5.4ms | ActiveRecord: 0.6ms) Started GET "/db_files/87/pic.jpg" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"87", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 87 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/85" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"87"}}, "commit"=>"Update User", "id"=>"85"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 85 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 85 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) UPDATE `db_files` SET `owner_id` = 85 WHERE `db_files`.`id` = 87  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59539/users/85 Completed 302 Found in 4ms (ActiveRecord: 1.1ms) Started GET "/users/85" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"85"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 85 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 85 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.7ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 85  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 87  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.5ms) Rendered users/_form.html.erb (3.2ms) Completed 200 OK in 5ms (Views: 4.5ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"166009434"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (3.5ms) Completed 200 OK in 11ms (Views: 4.4ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/166009434/preview" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"166009434"} Sent data (0.6ms) Completed 200 OK in 3ms (Views: 0.5ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"166009434"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 86, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59539/users/86 Completed 302 Found in 7ms (ActiveRecord: 0.7ms) Started GET "/users/86" for 127.0.0.1 at 2013-08-20 16:29:45 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"86"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 86 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 86 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 4ms (Views: 2.1ms | ActiveRecord: 0.8ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 86  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 88  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.1ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:32:41 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.9ms) Rendered users/_form.html.erb (44.1ms) Completed 200 OK in 61ms (Views: 60.3ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:32:41 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:32:41 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"360777450"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 87, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59569/users/87 Completed 302 Found in 25ms (ActiveRecord: 0.7ms) Started GET "/users/87" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"87"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 87 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 87 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 7ms (Views: 4.8ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 87  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (29.8ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 89  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 88, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/88/edit" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"88"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 88 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 88 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (4.6ms) Completed 200 OK in 7ms (Views: 5.8ms | ActiveRecord: 0.7ms) Started GET "/db_files/90/pic.jpg" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"90", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 90 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/88" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"90", "_destroy"=>"1", "key"=>"383537036"}}, "commit"=>"Update User", "id"=>"88"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 88 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 88 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.4ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 88 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 90  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59569/users/88 Completed 302 Found in 7ms (ActiveRecord: 1.5ms) Started GET "/users/88" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"88"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 88 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 88 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.5ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 88  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 89, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/89/edit" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"89"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 89 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 89 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (5.0ms) Completed 200 OK in 8ms (Views: 6.0ms | ActiveRecord: 0.7ms) Started GET "/db_files/91/pic.jpg" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"91", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 91 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/89" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"91", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"89"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 89 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 89 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 91  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59569/users/89 Completed 302 Found in 4ms (ActiveRecord: 1.1ms) Started GET "/users/89" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"89"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 89 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 89 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 89  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.2ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 90, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/90/edit" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"90"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 90 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 90 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.4ms | ActiveRecord: 0.6ms) Started GET "/db_files/92/pic.jpg" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"92", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 92 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/90" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"92", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"90"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 90 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 90 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.7ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 92  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59569/users/90 Completed 302 Found in 5ms (ActiveRecord: 2.4ms) Started GET "/users/90" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"90"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 90 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 90 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 90  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.3ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"792918990"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.3ms) Completed 200 OK in 10ms (Views: 4.2ms | ActiveRecord: 0.3ms) Started GET "/file_upload/redis_files/792918990/preview" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"792918990"} Sent data (0.5ms) Completed 200 OK in 3ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:32:42 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"792918990", "_destroy"=>"0"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 91, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59569/users/91 Completed 302 Found in 6ms (ActiveRecord: 1.0ms) Started GET "/users/91" for 127.0.0.1 at 2013-08-20 16:32:43 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"91"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 91 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 91 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 91  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 93  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:37:38 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.0ms) Rendered users/_form.html.erb (18.0ms) Completed 200 OK in 73ms (Views: 72.4ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:37:38 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:37:38 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:37:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:37:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:37:39 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (92, 'User')  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59594/users/92 Completed 302 Found in 21ms (ActiveRecord: 0.7ms) Started GET "/users/92" for 127.0.0.1 at 2013-08-20 16:37:39 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"92"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 92 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 92 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (3.9ms) Completed 500 Internal Server Error in 9ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 92  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 94  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_2  (0.2ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 93, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/93/edit" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"93"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 93 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 93 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 7ms (Views: 5.3ms | ActiveRecord: 0.6ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Started GET "/db_files/95/pic.jpg" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"95", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 95 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/93" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"95", "_destroy"=>"0"}}, "commit"=>"Update User", "id"=>"93"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 93 LIMIT 1  (0.1ms) SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 93 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 93 SQL (0.3ms) UPDATE `db_files` SET `owner_id` = 93 WHERE `db_files`.`id` = 95  (0.2ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:59594/users/93 Completed 302 Found in 6ms (ActiveRecord: 1.3ms) Started GET "/users/93" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"93"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 93 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 93 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.7ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:37:41 -0700  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 93 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 93 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_2 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 93  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 95  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.3ms) ROLLBACK TO SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_2  (0.2ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 94, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/94/edit" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"94"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 94 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 94 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.0ms) Rendered users/_form.html.erb (4.7ms) Completed 200 OK in 8ms (Views: 6.0ms | ActiveRecord: 0.6ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Started GET "/db_files/96/pic.jpg" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"96", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 96 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/94" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"96", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"94"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 94 LIMIT 1  (0.2ms) SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 94 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 96  (0.2ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:59594/users/94 Completed 302 Found in 4ms (ActiveRecord: 1.1ms) Started GET "/users/94" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"94"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 94 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 94 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.7ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:37:41 -0700  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 94  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_2  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 95, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/95/edit" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"95"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 95 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 95 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.4ms | ActiveRecord: 0.5ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Started GET "/db_files/97/pic.jpg" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"97", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 97 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/95" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"97", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"95"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 95 LIMIT 1  (0.2ms) SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 95 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 97  (0.2ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:59594/users/95 Completed 302 Found in 4ms (ActiveRecord: 1.0ms) Started GET "/users/95" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"95"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 95 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 95 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.5ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:37:41 -0700  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 95  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:37:41 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_2  (0.2ms) ROLLBACK TO SAVEPOINT active_record_2 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (2.9ms) Completed 500 Internal Server Error in 7ms User Load (0.4ms) SELECT `users`.* FROM `users` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:38:45 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (18.3ms) Completed 200 OK in 73ms (Views: 72.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:38:45 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:38:45 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:38:45 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:38:45 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:38:45 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (96, 'User')  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59627/users/96 Completed 302 Found in 21ms (ActiveRecord: 1.2ms) Started GET "/users/96" for 127.0.0.1 at 2013-08-20 16:38:45 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"96"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 96 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 96 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (1.8ms) Completed 500 Internal Server Error in 7ms User Load (0.4ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 96  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 98  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_2  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 97, 'User', 112)  (0.2ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/97/edit" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"97"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 97 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 97 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (3.9ms) Completed 200 OK in 6ms (Views: 5.1ms | ActiveRecord: 0.5ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Started GET "/db_files/99/pic.jpg" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"99", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 99 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/97" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"99", "_destroy"=>"0"}}, "commit"=>"Update User", "id"=>"97"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 97 LIMIT 1  (0.1ms) SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 97 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 97 SQL (0.2ms) UPDATE `db_files` SET `owner_id` = 97 WHERE `db_files`.`id` = 99  (0.1ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:59627/users/97 Completed 302 Found in 5ms (ActiveRecord: 1.3ms) Started GET "/users/97" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"97"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 97 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 97 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.5ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:38:47 -0700  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 97 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 97 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 97  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 99  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.3ms) ROLLBACK TO SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_2  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 98, 'User', 112)  (0.2ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/98/edit" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"98"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 98 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 98 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (5.2ms) Completed 200 OK in 8ms (Views: 6.5ms | ActiveRecord: 0.6ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Started GET "/db_files/100/pic.jpg" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"100", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 100 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/98" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"100", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"98"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 98 LIMIT 1  (0.2ms) SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 98 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 100  (0.1ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:59627/users/98 Completed 302 Found in 4ms (ActiveRecord: 0.9ms) Started GET "/users/98" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"98"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 98 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 98 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.7ms | ActiveRecord: 0.6ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:38:47 -0700  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 98  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_2  (0.2ms) RELEASE SAVEPOINT active_record_2  (0.0ms) SAVEPOINT active_record_2 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 99, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/99/edit" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"99"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 99 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 99 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 6ms (Views: 4.3ms | ActiveRecord: 0.5ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Started GET "/db_files/101/pic.jpg" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"101", "name"=>"pic"} DbFile Load (2.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 101 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 2.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.6ms | ActiveRecord: 0.0ms) Started PATCH "/users/99" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"101", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"99"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 99 LIMIT 1  (0.1ms) SAVEPOINT active_record_2 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 99 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 101  (0.1ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:59627/users/99 Completed 302 Found in 4ms (ActiveRecord: 1.0ms) Started GET "/users/99" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"99"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 99 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 99 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.5ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:38:47 -0700  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 99  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.3ms) Rendered users/_form.html.erb (2.5ms) Completed 200 OK in 4ms (Views: 3.3ms | ActiveRecord: 0.0ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:38:47 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:38:48 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_2  (0.2ms) ROLLBACK TO SAVEPOINT active_record_2 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (3.0ms) Completed 500 Internal Server Error in 7ms User Load (0.3ms) SELECT `users`.* FROM `users` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:40:16 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (2.8ms) Rendered users/_form.html.erb (17.6ms) Completed 200 OK in 72ms (Views: 71.2ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-20 16:40:16 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:40:16 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:40:16 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"434919817", "_destroy"=>"0"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 100, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59647/users/100 Completed 302 Found in 24ms (ActiveRecord: 0.9ms) Started GET "/users/100" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"100"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 100 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 100 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 6ms (Views: 4.1ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 100  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 102  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 101, 'User', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/101/edit" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"101"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 101 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 101 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 7ms (Views: 5.2ms | ActiveRecord: 0.7ms) Started GET "/db_files/103/pic.jpg" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"103", "name"=>"pic"} DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 103 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.5ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started PATCH "/users/101" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"103", "_destroy"=>"0", "key"=>"202868996"}}, "commit"=>"Update User", "id"=>"101"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 101 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 101 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.4ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 101 SQL (0.4ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 101 WHERE `db_files`.`id` = 103  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59647/users/101 Completed 302 Found in 8ms (ActiveRecord: 1.8ms) Started GET "/users/101" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"101"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 101 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 101 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 101 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 101 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 101  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 103  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.5ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 102, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/102/edit" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"102"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 102 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 102 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.5ms) Completed 200 OK in 5ms (Views: 4.1ms | ActiveRecord: 0.6ms) Started GET "/db_files/104/pic.jpg" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"104", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 104 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started PATCH "/users/102" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"104", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"102"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 102 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 102 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 104  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59647/users/102 Completed 302 Found in 4ms (ActiveRecord: 1.1ms) Started GET "/users/102" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"102"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 102 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 102 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.2ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 102  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 103, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/103/edit" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"103"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 103 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 103 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.3ms | ActiveRecord: 0.7ms) Started GET "/db_files/105/pic.jpg" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"105", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 105 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/103" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"105", "_destroy"=>"1", "key"=>"34712787"}}, "commit"=>"Update User", "id"=>"103"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 103 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 103 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 105  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59647/users/103 Completed 302 Found in 6ms (ActiveRecord: 1.2ms) Started GET "/users/103" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"103"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 103 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 103 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.5ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:40:17 -0700  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 103  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.4ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"key"=>"555958293", "_destroy"=>"0"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 10ms (Views: 3.8ms | ActiveRecord: 0.3ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Started GET "/file_upload/redis_files/555958293/preview" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"555958293"} Sent data (0.4ms) Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"key"=>"555958293", "_destroy"=>"0"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 104, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:59647/users/104 Completed 302 Found in 7ms (ActiveRecord: 1.0ms) Started GET "/users/104" for 127.0.0.1 at 2013-08-20 16:40:17 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"104"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 104 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 104 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-20 16:40:17 -0700  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 104  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 106  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.3ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------- MultipUploadTest: test_can_attach_multiple_attachments_at_once --------------------------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (18.1ms) SELECT COUNT(*) FROM `users`  (5.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 09:44:19 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (3.7ms) Rendered users/_form.html.erb (57.3ms) Completed 200 OK in 109ms (Views: 108.3ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 09:44:19 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 09:44:19 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 09:44:19 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 33ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 09:44:19 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 9ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 09:44:19 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"247177897"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (4.9ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 105, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:62551/users/105 Completed 302 Found in 35ms (ActiveRecord: 5.6ms) Started GET "/users/105" for 127.0.0.1 at 2013-08-22 09:44:19 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"105"} User Load (4.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 105 LIMIT 1 DbFile Load (5.0ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 105 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.9ms) Completed 200 OK in 18ms (Views: 6.6ms | ActiveRecord: 9.1ms)  (0.6ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (3.3ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (1.9ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (2.8ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (3.0ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (1.8ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 105  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.9ms) SELECT `db_files`.* FROM `db_files`  (0.5ms) SAVEPOINT active_record_1 SQL (1.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (30.7ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (1.4ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 107  (0.0ms) RELEASE SAVEPOINT active_record_1  (5.3ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (1.9ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.8ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 106, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/106/edit" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"106"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 106 LIMIT 1 DbFile Load (1.0ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 106 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.0ms) Rendered users/_form.html.erb (5.5ms) Completed 200 OK in 9ms (Views: 6.7ms | ActiveRecord: 1.3ms) Started GET "/db_files/108/pic.jpg" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"108", "name"=>"pic"} DbFile Load (0.7ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 108 LIMIT 1 Sent data (1.2ms) Completed 200 OK in 3ms (Views: 1.1ms | ActiveRecord: 0.7ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 5ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/106" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"108", "_destroy"=>"0", "key"=>"255965450"}}, "commit"=>"Update User", "id"=>"106"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 106 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 106 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (4.2ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 106 SQL (3.0ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 106 WHERE `db_files`.`id` = 108  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:62551/users/106 Completed 302 Found in 15ms (ActiveRecord: 8.1ms) Started GET "/users/106" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"106"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 106 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 106 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 106 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 106 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.5ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 106  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 108  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.9ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 107, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/107/edit" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"107"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 107 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 107 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.6ms) Completed 200 OK in 5ms (Views: 4.2ms | ActiveRecord: 0.5ms) Started GET "/db_files/109/pic.jpg" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"109", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 109 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.3ms) Started PATCH "/users/107" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"109", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"107"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 107 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 107 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.7ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 109  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:62551/users/107 Completed 302 Found in 4ms (ActiveRecord: 1.4ms) Started GET "/users/107" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"107"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 107 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 107 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 107  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.5ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (1.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 108, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/108/edit" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"108"} User Load (1.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 108 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 108 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 4.8ms | ActiveRecord: 1.7ms) Started GET "/db_files/110/pic.jpg" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"110", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 110 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/108" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"110", "_destroy"=>"1", "key"=>"719872785"}}, "commit"=>"Update User", "id"=>"108"} User Load (1.0ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 108 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 108 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 110  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:62551/users/108 Completed 302 Found in 8ms (ActiveRecord: 2.6ms) Started GET "/users/108" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"108"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 108 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 108 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 108  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"992769729"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.1ms) Completed 200 OK in 9ms (Views: 4.0ms | ActiveRecord: 0.3ms) Started GET "/file_upload/redis_files/992769729/preview" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"992769729"} Sent data (0.4ms) Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"992769729"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.4ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.7ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 109, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:62551/users/109 Completed 302 Found in 10ms (ActiveRecord: 2.3ms) Started GET "/users/109" for 127.0.0.1 at 2013-08-22 09:44:20 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"109"} User Load (1.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 109 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 109 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 5ms (Views: 2.3ms | ActiveRecord: 1.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (1.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 109  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 111  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------------- MultipUploadTest: test_can_attach_attachments,_then_change_on_create -------------------------------------------------------------------- Email Load (0.9ms) SELECT `emails`.* FROM `emails` DbFile Load (3.3ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (1.4ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.3ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------- MultipUploadTest: test_can_attach_attachments_on_create -------------------------------------------------------  (0.7ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 10:47:57 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.0ms) Rendered emails/_form.html.erb (59.5ms) Completed 200 OK in 109ms (Views: 108.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 10:47:57 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 10:47:57 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:47:57 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 6ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:47:57 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 10:47:57 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"920463"=>{"key"=>"365203544"}, "100544"=>{"key"=>"577865763"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (29.1ms) Rendered emails/_form.html.erb (32.1ms) Completed 200 OK in 42ms (Views: 33.0ms | ActiveRecord: 0.4ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 10:47:57 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"681650230"=>{"key"=>"365203544"}, "907702068"=>{"key"=>"577865763"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (1.9ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (1.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 1, 'Email', 7874) SQL (1.9ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 1, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63941/emails/1 Completed 302 Found in 16ms (ActiveRecord: 5.4ms) Started GET "/emails/1" for 127.0.0.1 at 2013-08-22 10:47:57 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"1"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 1 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 1 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 6ms (Views: 3.7ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.5ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.6ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 1 AND `db_files`.`owner_type` = 'Email' Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (1.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 112  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 113  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.5ms) ROLLBACK  (0.0ms) BEGIN --------------------------------------------- MultipUploadTest: test_can_change_attachments --------------------------------------------- Email Load (0.1ms) SELECT `emails`.* FROM `emails` DbFile Load (2.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.9ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (1.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.2ms) BEGIN --------------------------------------------- MultipUploadTest: test_can_remove_attachments --------------------------------------------- Email Load (0.2ms) SELECT `emails`.* FROM `emails` DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.2ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.5ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.5ms) Rendered users/_form.html.erb (10.3ms) Completed 200 OK in 13ms (Views: 12.8ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"601527745"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.9ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 110, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63941/users/110 Completed 302 Found in 10ms (ActiveRecord: 1.4ms) Started GET "/users/110" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"110"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 110 LIMIT 1 DbFile Load (1.0ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 110 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 7ms (Views: 4.4ms | ActiveRecord: 1.3ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (1.0ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 110  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 114  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (1.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 111, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/111/edit" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"111"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 111 LIMIT 1 DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 111 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.3ms | ActiveRecord: 0.9ms) Started GET "/db_files/115/pic.jpg" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"115", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 115 LIMIT 1 Sent data (1.4ms) Completed 200 OK in 3ms (Views: 1.3ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/111" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"115", "_destroy"=>"0", "key"=>"964882402"}}, "commit"=>"Update User", "id"=>"111"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 111 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 111 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.0ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 111 SQL (0.8ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 111 WHERE `db_files`.`id` = 115  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63941/users/111 Completed 302 Found in 11ms (ActiveRecord: 2.6ms) Started GET "/users/111" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"111"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 111 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 111 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 111 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 111 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 111  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 115  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.4ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 112, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/112/edit" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"112"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 112 LIMIT 1 DbFile Load (0.8ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 112 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.0ms) Rendered users/_form.html.erb (4.9ms) Completed 200 OK in 7ms (Views: 5.0ms | ActiveRecord: 1.1ms) Started GET "/db_files/116/pic.jpg" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"116", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 116 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/112" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"116", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"112"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 112 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 112 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.9ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 116  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63941/users/112 Completed 302 Found in 41ms (ActiveRecord: 1.7ms) Started GET "/users/112" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"112"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 112 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 112 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.6ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.3ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 112  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.4ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 113, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/113/edit" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"113"} User Load (0.8ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 113 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 113 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 7ms (Views: 4.5ms | ActiveRecord: 1.2ms) Started GET "/db_files/117/pic.jpg" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"117", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 117 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/113" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"117", "_destroy"=>"1", "key"=>"290059572"}}, "commit"=>"Update User", "id"=>"113"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 113 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 113 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (2.4ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 117  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63941/users/113 Completed 302 Found in 8ms (ActiveRecord: 3.3ms) Started GET "/users/113" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"113"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 113 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 113 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.3ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 113  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.5ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 10:47:58 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"186582042"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.1ms) Completed 200 OK in 10ms (Views: 4.0ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/186582042/preview" for 127.0.0.1 at 2013-08-22 10:47:59 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"186582042"} Sent data (0.4ms) Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 10:47:59 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"186582042"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 114, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63941/users/114 Completed 302 Found in 7ms (ActiveRecord: 1.1ms) Started GET "/users/114" for 127.0.0.1 at 2013-08-22 10:47:59 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"114"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 114 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 114 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (1.9ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.3ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 114  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 118  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.2ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------------- MultipUploadTest: test_can_attach_attachments,_then_change_on_create --------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.8ms) Rendered emails/_form.html.erb (52.0ms) Rendered emails/new.html.erb within layouts/application (54.6ms) Completed 200 OK in 95ms (Views: 94.4ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 7ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"225648"=>{"key"=>"147657158"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (2.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 2, 'Email', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63957/emails/2 Completed 302 Found in 25ms (ActiveRecord: 2.8ms) Started GET "/emails/2" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"2"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 2 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 2 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (2.9ms) Completed 200 OK in 6ms (Views: 3.6ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 2 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 2 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.9ms) DELETE FROM `emails` WHERE `emails`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 119  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------- MultipUploadTest: test_can_attach_attachments_on_create -------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.0ms) Completed 200 OK in 4ms (Views: 3.8ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"646194"=>{"key"=>"974442724"}, "336172"=>{"key"=>"652608225"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.8ms) Rendered emails/_form.html.erb (3.8ms) Completed 200 OK in 14ms (Views: 4.7ms | ActiveRecord: 0.5ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"688966334"=>{"key"=>"974442724"}, "597891180"=>{"key"=>"652608225"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (2.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (1.0ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 3, 'Email', 7874) SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 3, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63957/emails/3 Completed 302 Found in 13ms (ActiveRecord: 3.8ms) Started GET "/emails/3" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"3"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 3 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 3 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.1ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 3 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `emails` WHERE `emails`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 120  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 121  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------- MultipUploadTest: test_can_change_attachments --------------------------------------------- Email Load (0.2ms) SELECT `emails`.* FROM `emails` DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.7ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.5ms) ROLLBACK  (0.0ms) BEGIN --------------------------------------------- MultipUploadTest: test_can_remove_attachments --------------------------------------------- Email Load (0.1ms) SELECT `emails`.* FROM `emails` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.4ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 10:50:03 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.3ms) Rendered users/_form.html.erb (9.0ms) Completed 200 OK in 12ms (Views: 11.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"473386435"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.1ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 115, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63957/users/115 Completed 302 Found in 11ms (ActiveRecord: 1.6ms) Started GET "/users/115" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"115"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 115 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 115 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 40ms (Views: 3.8ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (1.0ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 115  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 122  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.9ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 116, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/116/edit" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"116"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 116 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 116 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 5.0ms | ActiveRecord: 0.7ms) Started GET "/db_files/123/pic.jpg" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"123", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 123 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/116" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"123", "_destroy"=>"0", "key"=>"503452341"}}, "commit"=>"Update User", "id"=>"116"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 116 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 116 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (2.9ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 116 SQL (0.5ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 116 WHERE `db_files`.`id` = 123  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63957/users/116 Completed 302 Found in 11ms (ActiveRecord: 4.3ms) Started GET "/users/116" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"116"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 116 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 116 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 116 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 116 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 116  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 123  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.8ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.0ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 117, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/117/edit" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"117"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 117 LIMIT 1 DbFile Load (0.9ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 117 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.6ms) Completed 200 OK in 7ms (Views: 4.6ms | ActiveRecord: 1.3ms) Started GET "/db_files/124/pic.jpg" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"124", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 124 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/117" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"124", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"117"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 117 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 117 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 124  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63957/users/117 Completed 302 Found in 4ms (ActiveRecord: 2.0ms) Started GET "/users/117" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"117"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 117 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 117 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.2ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 117  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.4ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 118, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/118/edit" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"118"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 118 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 118 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 6ms (Views: 4.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/125/pic.jpg" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"125", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 125 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/118" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"125", "_destroy"=>"1", "key"=>"707380715"}}, "commit"=>"Update User", "id"=>"118"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 118 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 118 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.4ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 125  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63957/users/118 Completed 302 Found in 7ms (ActiveRecord: 2.3ms) Started GET "/users/118" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"118"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 118 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 118 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.5ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 118  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"891236245"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 9ms (Views: 3.7ms | ActiveRecord: 0.3ms) Started GET "/file_upload/redis_files/891236245/preview" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"891236245"} Sent data (0.4ms) Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"891236245"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 119, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:63957/users/119 Completed 302 Found in 7ms (ActiveRecord: 0.9ms) Started GET "/users/119" for 127.0.0.1 at 2013-08-22 10:50:04 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"119"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 119 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 119 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (2.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 119  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 126  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------------- MultipUploadTest: test_can_attach_attachments,_then_change_on_create --------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 11:08:25 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.0ms) Rendered emails/_form.html.erb (26.7ms) Rendered emails/new.html.erb within layouts/application (29.3ms) Completed 200 OK in 73ms (Views: 72.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 11:08:25 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 11:08:25 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:25 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 7ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"465487"=>{"key"=>"102383897"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 4, 'Email', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64578/emails/4 Completed 302 Found in 23ms (ActiveRecord: 1.4ms) Started GET "/emails/4" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"4"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 4 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 4 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (3.1ms) Completed 200 OK in 6ms (Views: 3.8ms | ActiveRecord: 0.8ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.3ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 4 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 4 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (1.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 127  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.9ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------- MultipUploadTest: test_can_attach_attachments_on_create -------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.1ms) Completed 200 OK in 4ms (Views: 4.0ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"106162"=>{"key"=>"936169847"}, "454628"=>{"key"=>"615439226"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1  (0.3ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.8ms) Rendered emails/_form.html.erb (3.7ms) Completed 200 OK in 13ms (Views: 4.6ms | ActiveRecord: 0.5ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"600499755"=>{"key"=>"936169847"}, "531561980"=>{"key"=>"615439226"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (2.0ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 5, 'Email', 7874) SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 5, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64578/emails/5 Completed 302 Found in 12ms (ActiveRecord: 3.2ms) Started GET "/emails/5" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"5"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 5 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 5 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 4ms (Views: 2.1ms | ActiveRecord: 0.8ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 5 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.9ms) DELETE FROM `emails` WHERE `emails`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (1.6ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 128  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 129  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.4ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------- MultipUploadTest: test_can_change_attachments ---------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (1.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 6, 'Email', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1 Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.3ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 6  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 130  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.4ms) ROLLBACK  (0.0ms) BEGIN --------------------------------------------- MultipUploadTest: test_can_remove_attachments ---------------------------------------------  (0.2ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 7, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1 Email Load (0.4ms) SELECT `emails`.* FROM `emails`  (0.2ms) SAVEPOINT active_record_1 SQL (0.7ms) DELETE FROM `emails` WHERE `emails`.`id` = 7  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.6ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 131  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (9.1ms) Completed 200 OK in 12ms (Views: 11.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"187124780"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (2.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 120, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64578/users/120 Completed 302 Found in 11ms (ActiveRecord: 2.9ms) Started GET "/users/120" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"120"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 120 LIMIT 1 DbFile Load (0.9ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 120 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 6ms (Views: 3.9ms | ActiveRecord: 1.2ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (1.0ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 120  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 132  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.5ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 121, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/121/edit" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"121"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 121 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 121 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 7ms (Views: 5.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/133/pic.jpg" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"133", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 133 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:26 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.5ms | ActiveRecord: 0.0ms) Started PATCH "/users/121" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"133", "_destroy"=>"0", "key"=>"775010732"}}, "commit"=>"Update User", "id"=>"121"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 121 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 121 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.4ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 121 SQL (0.6ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 121 WHERE `db_files`.`id` = 133  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64578/users/121 Completed 302 Found in 10ms (ActiveRecord: 3.0ms) Started GET "/users/121" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"121"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 121 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 121 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 4ms (Views: 2.1ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 121 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 121 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 121  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 133  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 122, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/122/edit" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"122"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 122 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 122 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 5ms (Views: 4.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/134/pic.jpg" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"134", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 134 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.3ms) Started PATCH "/users/122" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"134", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"122"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 122 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 122 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 134  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64578/users/122 Completed 302 Found in 5ms (ActiveRecord: 2.1ms) Started GET "/users/122" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"122"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 122 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 122 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.4ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 122  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 123, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/123/edit" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"123"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 123 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 123 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.6ms) Completed 200 OK in 5ms (Views: 4.1ms | ActiveRecord: 0.6ms) Started GET "/db_files/135/pic.jpg" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"135", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 135 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/123" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"135", "_destroy"=>"1", "key"=>"516038943"}}, "commit"=>"Update User", "id"=>"123"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 123 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 123 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 135  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64578/users/123 Completed 302 Found in 7ms (ActiveRecord: 2.1ms) Started GET "/users/123" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"123"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 123 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 123 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 123  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.6ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 3ms (Views: 3.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"670075326"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.0ms) Completed 200 OK in 9ms (Views: 3.8ms | ActiveRecord: 0.3ms) Started GET "/file_upload/redis_files/670075326/preview" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"670075326"} Sent data (0.4ms) Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"670075326"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.0ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.6ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 124, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64578/users/124 Completed 302 Found in 8ms (ActiveRecord: 1.8ms) Started GET "/users/124" for 127.0.0.1 at 2013-08-22 11:08:27 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"124"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 124 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 124 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 124  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.7ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 136  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.3ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------------- MultipUploadTest: test_can_attach_attachments,_then_change_on_create --------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 11:08:44 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.9ms) Rendered emails/_form.html.erb (52.9ms) Rendered emails/new.html.erb within layouts/application (55.3ms) Completed 200 OK in 69ms (Views: 68.8ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 11:08:44 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 11:08:44 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 11:08:44 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"194995"=>{"key"=>"701996103"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (3.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 8, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64587/emails/8 Completed 302 Found in 26ms (ActiveRecord: 4.0ms) Started GET "/emails/8" for 127.0.0.1 at 2013-08-22 11:08:44 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"8"} Email Load (0.7ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 8 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 8 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (3.1ms) Completed 200 OK in 7ms (Views: 3.9ms | ActiveRecord: 1.1ms)  (0.4ms) SELECT COUNT(*) FROM `emails`  (0.3ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 8 AND `db_files`.`owner_type` = 'Email' DbFile Load (1.1ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 8 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (1.0ms) DELETE FROM `emails` WHERE `emails`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 137  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------- MultipUploadTest: test_can_attach_attachments_on_create -------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 11:08:45 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (2.9ms) Completed 200 OK in 4ms (Views: 3.8ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:45 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:45 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 11:08:45 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"804886"=>{"key"=>"124675953"}, "606946"=>{"key"=>"652577807"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.9ms) Rendered emails/_form.html.erb (3.8ms) Completed 200 OK in 13ms (Views: 4.7ms | ActiveRecord: 0.5ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 11:08:45 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"406088750"=>{"key"=>"124675953"}, "387868625"=>{"key"=>"652577807"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.4ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 9, 'Email', 7874) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 9, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64587/emails/9 Completed 302 Found in 9ms (ActiveRecord: 1.4ms) Started GET "/emails/9" for 127.0.0.1 at 2013-08-22 11:08:45 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"9"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 9 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 9 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 9 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (2.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 9  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.6ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 138  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 139  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.5ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------- MultipUploadTest: test_can_change_attachments ---------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (1.0ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 10, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/10/edit" for 127.0.0.1 at 2013-08-22 11:08:45 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"10"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 10 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 10 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.1ms) Completed 200 OK in 7ms (Views: 5.2ms | ActiveRecord: 0.7ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:45 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/10" for 127.0.0.1 at 2013-08-22 11:08:45 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"140"=>{"_destroy"=>"1"}, "518963"=>{"key"=>"112358544"}}}, "commit"=>"Update Email", "id"=>"10"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 10 LIMIT 1 Unpermitted parameters: _destroy Completed 500 Internal Server Error in 2ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 10  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 140  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 --------------------------------------------- MultipUploadTest: test_can_remove_attachments ---------------------------------------------  (0.2ms) SAVEPOINT active_record_2 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 11, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/11/edit" for 127.0.0.1 at 2013-08-22 11:08:47 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"11"} Email Load (2.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 11 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 11 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.2ms) Completed 200 OK in 8ms (Views: 4.7ms | ActiveRecord: 2.7ms) Started PATCH "/emails/11" for 127.0.0.1 at 2013-08-22 11:08:47 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"141"=>{"_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"11"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 11 LIMIT 1 Unpermitted parameters: _destroy Completed 500 Internal Server Error in 1ms Email Load (0.4ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 11  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 141  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SAVEPOINT active_record_2 ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 11:08:49 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (8.9ms) Completed 200 OK in 11ms (Views: 11.0ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:49 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:49 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 11:08:49 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"165811428"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_3 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 125, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:64587/users/125 Completed 302 Found in 9ms (ActiveRecord: 0.8ms) Started GET "/users/125" for 127.0.0.1 at 2013-08-22 11:08:49 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"125"} User Load (0.9ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 125 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 125 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 6ms (Views: 3.8ms | ActiveRecord: 1.3ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 125  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 142  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.3ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 126, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/126/edit" for 127.0.0.1 at 2013-08-22 11:08:49 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"126"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 126 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 126 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.9ms) Completed 200 OK in 7ms (Views: 5.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/143/pic.jpg" for 127.0.0.1 at 2013-08-22 11:08:49 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"143", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 143 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/126" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"143", "_destroy"=>"0", "key"=>"315197078"}}, "commit"=>"Update User", "id"=>"126"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 126 LIMIT 1  (0.2ms) SAVEPOINT active_record_3 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 126 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 126 SQL (0.4ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 126 WHERE `db_files`.`id` = 143  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:64587/users/126 Completed 302 Found in 8ms (ActiveRecord: 1.5ms) Started GET "/users/126" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"126"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 126 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 126 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 126 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 126 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 126  (0.1ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 143  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.4ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_3  (0.2ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 127, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/127/edit" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"127"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 127 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 127 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.6ms) Completed 200 OK in 5ms (Views: 4.2ms | ActiveRecord: 0.5ms) Started GET "/db_files/144/pic.jpg" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"144", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 144 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/127" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"144", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"127"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 127 LIMIT 1  (0.1ms) SAVEPOINT active_record_3 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 127 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 144  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:64587/users/127 Completed 302 Found in 3ms (ActiveRecord: 1.0ms) Started GET "/users/127" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"127"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 127 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 127 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.2ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 127  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.3ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 128, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/128/edit" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"128"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 128 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 128 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 6ms (Views: 4.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/145/pic.jpg" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"145", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 145 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/128" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"145", "_destroy"=>"1", "key"=>"479922784"}}, "commit"=>"Update User", "id"=>"128"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 128 LIMIT 1  (0.1ms) SAVEPOINT active_record_3 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 128 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 145  (0.2ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:64587/users/128 Completed 302 Found in 6ms (ActiveRecord: 1.2ms) Started GET "/users/128" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"128"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 128 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 128 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 128  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"716036878"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_3  (0.1ms) ROLLBACK TO SAVEPOINT active_record_3 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 9ms (Views: 3.7ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/716036878/preview" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"716036878"} Sent data (0.4ms) Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"716036878"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_3 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 129, 'User', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:64587/users/129 Completed 302 Found in 7ms (ActiveRecord: 1.1ms) Started GET "/users/129" for 127.0.0.1 at 2013-08-22 11:08:50 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"129"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 129 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 129 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.5ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 129  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 146  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.3ms) ROLLBACK TO SAVEPOINT active_record_2  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN -------------------------------------------------------------------- MultipUploadTest: test_can_attach_attachments,_then_change_on_create --------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.9ms) Rendered emails/_form.html.erb (52.4ms) Rendered emails/new.html.erb within layouts/application (54.9ms) Completed 200 OK in 96ms (Views: 95.4ms | ActiveRecord: 0.0ms) Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 6ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"294760"=>{"key"=>"529593872"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 12, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64597/emails/12 Completed 302 Found in 23ms (ActiveRecord: 1.9ms) Started GET "/emails/12" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"12"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 12 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 12 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (2.9ms) Completed 200 OK in 6ms (Views: 3.7ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.5ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 12 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 12 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `emails` WHERE `emails`.`id` = 12  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 147  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------- MultipUploadTest: test_can_attach_attachments_on_create -------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.2ms) Completed 200 OK in 4ms (Views: 4.0ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"197309"=>{"key"=>"324373694"}, "513908"=>{"key"=>"884601361"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.9ms) Rendered emails/_form.html.erb (3.9ms) Completed 200 OK in 13ms (Views: 4.8ms | ActiveRecord: 0.5ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"306293435"=>{"key"=>"324373694"}, "879962604"=>{"key"=>"884601361"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.8ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 13, 'Email', 7874) SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 13, 'Email', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64597/emails/13 Completed 302 Found in 12ms (ActiveRecord: 3.1ms) Started GET "/emails/13" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"13"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 13 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 13 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 13 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.8ms) DELETE FROM `emails` WHERE `emails`.`id` = 13  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 148  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 149  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.7ms) ROLLBACK  (0.0ms) BEGIN --------------------------------------------- MultipUploadTest: test_can_change_attachments ---------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 14, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/14/edit" for 127.0.0.1 at 2013-08-22 11:09:10 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"14"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 14 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 14 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.4ms) Rendered emails/_form.html.erb (4.0ms) Completed 200 OK in 7ms (Views: 5.2ms | ActiveRecord: 0.7ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:09:11 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/14" for 127.0.0.1 at 2013-08-22 11:09:11 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"150"=>{"_destroy"=>"1"}, "356109"=>{"key"=>"765342249"}}}, "commit"=>"Update Email", "id"=>"14"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 14 LIMIT 1 Unpermitted parameters: _destroy  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (14, 'Email') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 14, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:64597/emails/14 Completed 302 Found in 10ms (ActiveRecord: 1.1ms) Started GET "/emails/14" for 127.0.0.1 at 2013-08-22 11:09:11 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"14"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 14 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 14 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (3.5ms) Completed 500 Internal Server Error in 6ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (2.3ms) DELETE FROM `emails` WHERE `emails`.`id` = 14  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 150  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 151  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 152  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 --------------------------------------------- MultipUploadTest: test_can_remove_attachments ---------------------------------------------  (0.2ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 15, 'Email', 112)  (0.2ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/15/edit" for 127.0.0.1 at 2013-08-22 11:09:13 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"15"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 15 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 15 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.3ms) Rendered emails/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.6ms) Started PATCH "/emails/15" for 127.0.0.1 at 2013-08-22 11:09:13 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"153"=>{"_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"15"} Email Load (0.2ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 15 LIMIT 1 Unpermitted parameters: _destroy  (0.1ms) SAVEPOINT active_record_2 SQL (0.3ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (15, 'Email')  (0.2ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:64597/emails/15 Completed 302 Found in 3ms (ActiveRecord: 0.8ms) Started GET "/emails/15" for 127.0.0.1 at 2013-08-22 11:09:13 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"15"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 15 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 15 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.8ms) Completed 500 Internal Server Error in 3ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 15  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 153  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 154  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SAVEPOINT active_record_2 ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (8.5ms) Completed 200 OK in 11ms (Views: 10.5ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"837847563"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_3 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 130, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:64597/users/130 Completed 302 Found in 8ms (ActiveRecord: 0.7ms) Started GET "/users/130" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"130"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 130 LIMIT 1 DbFile Load (1.9ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 130 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 200 OK in 7ms (Views: 4.0ms | ActiveRecord: 2.3ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 130  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 155  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.3ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_3  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 131, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/131/edit" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"131"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 131 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 131 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 5.1ms | ActiveRecord: 0.6ms) Started GET "/db_files/156/pic.jpg" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"156", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 156 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/131" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"156", "_destroy"=>"0", "key"=>"40735001"}}, "commit"=>"Update User", "id"=>"131"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 131 LIMIT 1  (0.1ms) SAVEPOINT active_record_3 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 131 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 131 SQL (0.5ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 131 WHERE `db_files`.`id` = 156  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:64597/users/131 Completed 302 Found in 8ms (ActiveRecord: 1.6ms) Started GET "/users/131" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"131"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 131 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 131 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 131 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 131 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 131  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 156  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.4ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 132, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/132/edit" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"132"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 132 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 132 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 6ms (Views: 4.3ms | ActiveRecord: 0.7ms) Started GET "/db_files/157/pic.jpg" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"157", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 157 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/132" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"157", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"132"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 132 LIMIT 1  (0.3ms) SAVEPOINT active_record_3 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 132 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 157  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:64597/users/132 Completed 302 Found in 4ms (ActiveRecord: 1.1ms) Started GET "/users/132" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"132"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 132 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 132 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.3ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 132  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.4ms) ROLLBACK TO SAVEPOINT active_record_2  (0.2ms) SAVEPOINT active_record_2 ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 133, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/133/edit" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"133"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 133 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 133 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.3ms | ActiveRecord: 0.7ms) Started GET "/db_files/158/pic.jpg" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"158", "name"=>"pic"} DbFile Load (2.1ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 158 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 2.1ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/133" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"158", "_destroy"=>"1", "key"=>"770113663"}}, "commit"=>"Update User", "id"=>"133"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 133 LIMIT 1  (0.2ms) SAVEPOINT active_record_3 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 133 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 158  (0.2ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:64597/users/133 Completed 302 Found in 6ms (ActiveRecord: 1.3ms) Started GET "/users/133" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"133"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 133 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 133 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.4ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 133  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.3ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 11:09:15 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 11:09:16 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 11:09:16 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"880589467"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_3  (0.2ms) ROLLBACK TO SAVEPOINT active_record_3 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (2.9ms) Completed 200 OK in 10ms (Views: 3.8ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/880589467/preview" for 127.0.0.1 at 2013-08-22 11:09:16 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"880589467"} Sent data (0.4ms) Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 11:09:16 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"880589467"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_3 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 134, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:64597/users/134 Completed 302 Found in 5ms (ActiveRecord: 0.9ms) Started GET "/users/134" for 127.0.0.1 at 2013-08-22 11:09:16 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"134"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 134 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 134 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 134  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 159  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.2ms) ROLLBACK TO SAVEPOINT active_record_2  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.9ms) Rendered emails/_form.html.erb (28.2ms) Rendered emails/new.html.erb within layouts/application (30.8ms) Completed 200 OK in 76ms (Views: 75.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 6ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"185409"=>{"key"=>"404136191"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.0ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 16, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:65195/emails/16 Completed 302 Found in 24ms (ActiveRecord: 1.6ms) Started GET "/emails/16" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"16"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 16 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 16 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.7ms) Rendered emails/show.html.erb within layouts/application (3.3ms) Completed 200 OK in 7ms (Views: 4.2ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 16 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 16 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `emails` WHERE `emails`.`id` = 16  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 160  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.7ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.3ms) Completed 200 OK in 4ms (Views: 4.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"615139"=>{"key"=>"940704492"}, "50004"=>{"key"=>"275407390"}}}, "commit"=>"Create Email"}  (0.1ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.9ms) Rendered emails/_form.html.erb (4.3ms) Completed 200 OK in 13ms (Views: 5.2ms | ActiveRecord: 0.2ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"159807275"=>{"key"=>"940704492"}, "628830130"=>{"key"=>"275407390"}}}, "commit"=>"Create Email"}  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 17, 'Email', 7874) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 17, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:65195/emails/17 Completed 302 Found in 10ms (ActiveRecord: 1.1ms) Started GET "/emails/17" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"17"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 17 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 17 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 4ms (Views: 2.3ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (1.5ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 17 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `emails` WHERE `emails`.`id` = 17  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 161  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 162  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (1.0ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 18, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/18/edit" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"18"} Email Load (0.2ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 18 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 18 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.3ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.5ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:20:02 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/emails/18" for 127.0.0.1 at 2013-08-22 12:20:03 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"163"=>{"_destroy"=>"1"}, "9078"=>{"key"=>"841350412"}}}, "commit"=>"Update Email", "id"=>"18"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 18 LIMIT 1 Unpermitted parameters: _destroy  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (18, 'Email') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 18, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:65195/emails/18 Completed 302 Found in 9ms (ActiveRecord: 0.8ms) Started GET "/emails/18" for 127.0.0.1 at 2013-08-22 12:20:03 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"18"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 18 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 18 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (1.9ms) Completed 500 Internal Server Error in 40ms Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 18  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (1.5ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (1.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (1.8ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.3ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 163  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 164  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 165  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 19, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/19/edit" for 127.0.0.1 at 2013-08-22 12:20:05 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"19"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 19 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 19 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.6ms) Rendered emails/_form.html.erb (4.5ms) Completed 200 OK in 7ms (Views: 5.1ms | ActiveRecord: 0.6ms) Started PATCH "/emails/19" for 127.0.0.1 at 2013-08-22 12:20:05 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"166"=>{"_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"19"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 19 LIMIT 1 Unpermitted parameters: _destroy  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (19, 'Email')  (0.1ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:65195/emails/19 Completed 302 Found in 4ms (ActiveRecord: 0.8ms) Started GET "/emails/19" for 127.0.0.1 at 2013-08-22 12:20:05 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"19"} Email Load (0.2ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 19 LIMIT 1 DbFile Load (0.9ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 19 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (1.1ms) Completed 500 Internal Server Error in 4ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 19  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 166  (0.0ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 167  (0.0ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SAVEPOINT active_record_2 ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.3ms) Rendered users/_form.html.erb (9.1ms) Completed 200 OK in 12ms (Views: 11.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"633302307"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_3 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 135, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:65195/users/135 Completed 302 Found in 8ms (ActiveRecord: 0.9ms) Started GET "/users/135" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"135"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 135 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 135 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 5ms (Views: 3.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 135  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 168  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.2ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 136, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/136/edit" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"136"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 136 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 136 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 7ms (Views: 5.2ms | ActiveRecord: 0.5ms) Started GET "/db_files/169/pic.jpg" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"169", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 169 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/136" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"169", "_destroy"=>"0", "key"=>"863731740"}}, "commit"=>"Update User", "id"=>"136"} User Load (1.9ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 136 LIMIT 1  (0.1ms) SAVEPOINT active_record_3 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 136 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 136 SQL (1.3ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 136 WHERE `db_files`.`id` = 169  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:65195/users/136 Completed 302 Found in 15ms (ActiveRecord: 4.1ms) Started GET "/users/136" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"136"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 136 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 136 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 4ms (Views: 2.3ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 136 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 136 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.7ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 136  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 169  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.3ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 137, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/137/edit" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"137"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 137 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 137 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.3ms) Rendered users/_form.html.erb (6.2ms) Completed 200 OK in 9ms (Views: 7.0ms | ActiveRecord: 0.6ms) Started GET "/db_files/170/pic.jpg" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"170", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 170 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/137" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"170", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"137"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 137 LIMIT 1  (0.1ms) SAVEPOINT active_record_3 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 137 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 170  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:65195/users/137 Completed 302 Found in 4ms (ActiveRecord: 0.9ms) Started GET "/users/137" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"137"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 137 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 137 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 2.2ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 137  (0.1ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.3ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 138, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/138/edit" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"138"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 138 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 138 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.9ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.5ms) Started GET "/db_files/171/pic.jpg" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"171", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 171 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/138" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"171", "_destroy"=>"1", "key"=>"256244314"}}, "commit"=>"Update User", "id"=>"138"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 138 LIMIT 1  (0.1ms) SAVEPOINT active_record_3 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 138 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 171  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:65195/users/138 Completed 302 Found in 5ms (ActiveRecord: 1.0ms) Started GET "/users/138" for 127.0.0.1 at 2013-08-22 12:20:07 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"138"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 138 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 138 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 138  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.3ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 12:20:08 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:20:08 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 12:20:08 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"50057047"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_3  (0.2ms) ROLLBACK TO SAVEPOINT active_record_3 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.6ms) Completed 200 OK in 8ms (Views: 3.5ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/50057047/preview" for 127.0.0.1 at 2013-08-22 12:20:08 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"50057047"} Sent data (0.4ms) Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 12:20:08 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"50057047"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_3 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 139, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:65195/users/139 Completed 302 Found in 6ms (ActiveRecord: 0.9ms) Started GET "/users/139" for 127.0.0.1 at 2013-08-22 12:20:08 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"139"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 139 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 139 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_3  (0.0ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 139  (0.0ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 172  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.4ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 12:24:00 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.0ms) Rendered emails/_form.html.erb (53.5ms) Rendered emails/new.html.erb within layouts/application (56.3ms) Completed 200 OK in 71ms (Views: 70.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 12:24:00 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 12:24:00 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:24:00 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:24:00 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:24:00 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"346589"=>{"key"=>"526624398"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.4ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 20, 'Email', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:65472/emails/20 Completed 302 Found in 23ms (ActiveRecord: 1.0ms) Started GET "/emails/20" for 127.0.0.1 at 2013-08-22 12:24:00 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"20"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 20 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 20 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (3.0ms) Completed 200 OK in 6ms (Views: 3.9ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 20 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 20 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 20  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 173  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.9ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 12:24:00 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.0ms) Completed 200 OK in 4ms (Views: 3.9ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:24:01 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:24:01 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:24:01 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"89725"=>{"key"=>"148038238"}, "476316"=>{"key"=>"154748702"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.8ms) Rendered emails/_form.html.erb (3.6ms) Completed 200 OK in 13ms (Views: 4.4ms | ActiveRecord: 0.5ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:24:01 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"976159464"=>{"key"=>"148038238"}, "603633710"=>{"key"=>"154748702"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 21, 'Email', 7874) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 21, 'Email', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:65472/emails/21 Completed 302 Found in 9ms (ActiveRecord: 1.4ms) Started GET "/emails/21" for 127.0.0.1 at 2013-08-22 12:24:01 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"21"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 21 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 21 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.8ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 21 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.7ms) DELETE FROM `emails` WHERE `emails`.`id` = 21  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 174  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 175  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.7ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 22, 'Email', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/22/edit" for 127.0.0.1 at 2013-08-22 12:24:01 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"22"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 22 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 22 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.6ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:24:01 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/22" for 127.0.0.1 at 2013-08-22 12:24:01 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"176"=>{"_destroy"=>"1"}, "101581"=>{"key"=>"342985417"}}}, "commit"=>"Update Email", "id"=>"22"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 22 LIMIT 1 Unpermitted parameters: _destroy  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (22, 'Email') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 22, 'Email', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:65472/emails/22 Completed 302 Found in 8ms (ActiveRecord: 1.1ms) Started GET "/emails/22" for 127.0.0.1 at 2013-08-22 12:24:01 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"22"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 22 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 22 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (1.7ms) Completed 500 Internal Server Error in 4ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.2ms) SAVEPOINT active_record_1 SQL (2.6ms) DELETE FROM `emails` WHERE `emails`.`id` = 22  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 176  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 177  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 178  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 23, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/23/edit" for 127.0.0.1 at 2013-08-22 12:24:03 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"23"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 23 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 23 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.4ms) Rendered emails/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.7ms) Started PATCH "/emails/23" for 127.0.0.1 at 2013-08-22 12:24:03 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"179"=>{"_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"23"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 23 LIMIT 1 Unpermitted parameters: _destroy  (0.1ms) SAVEPOINT active_record_2 SQL (0.3ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (23, 'Email')  (0.1ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:65472/emails/23 Completed 302 Found in 4ms (ActiveRecord: 0.9ms) Started GET "/emails/23" for 127.0.0.1 at 2013-08-22 12:24:03 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"23"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 23 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 23 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.8ms) Completed 500 Internal Server Error in 3ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 23  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 179  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 180  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 12:25:38 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.0ms) Rendered emails/_form.html.erb (52.7ms) Rendered emails/new.html.erb within layouts/application (55.3ms) Completed 200 OK in 70ms (Views: 69.3ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 12:25:38 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 12:25:38 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:25:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"287938"=>{"key"=>"305937788"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 24, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:65520/emails/24 Completed 302 Found in 22ms (ActiveRecord: 0.8ms) Started GET "/emails/24" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"24"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 24 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 24 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (2.9ms) Completed 200 OK in 6ms (Views: 3.7ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 24 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 24 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (2.5ms) DELETE FROM `emails` WHERE `emails`.`id` = 24  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 181  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.0ms) Completed 200 OK in 4ms (Views: 3.8ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"522293"=>{"key"=>"911331913"}, "392087"=>{"key"=>"807230904"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.8ms) Rendered emails/_form.html.erb (3.5ms) Completed 200 OK in 13ms (Views: 4.4ms | ActiveRecord: 0.5ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"895925229"=>{"key"=>"911331913"}, "94580312"=>{"key"=>"807230904"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 25, 'Email', 7874) SQL (1.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 25, 'Email', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:65520/emails/25 Completed 302 Found in 10ms (ActiveRecord: 2.3ms) Started GET "/emails/25" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"25"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 25 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 25 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.3ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 25 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (1.0ms) DELETE FROM `emails` WHERE `emails`.`id` = 25  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 182  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 183  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_1 SQL (0.8ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 26, 'Email', 112)  (0.3ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/26/edit" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"26"} Email Load (0.2ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 26 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 26 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.3ms | ActiveRecord: 0.5ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/26" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"184"=>{"id"=>"184", "_destroy"=>"1"}, "439687"=>{"key"=>"245740531"}}}, "commit"=>"Update Email", "id"=>"26"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 26 LIMIT 1 Unpermitted parameters: id, _destroy  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (26, 'Email') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 26, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:65520/emails/26 Completed 302 Found in 8ms (ActiveRecord: 1.0ms) Started GET "/emails/26" for 127.0.0.1 at 2013-08-22 12:25:39 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"26"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 26 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 26 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (1.8ms) Completed 500 Internal Server Error in 4ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (1.8ms) DELETE FROM `emails` WHERE `emails`.`id` = 26  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 184  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.4ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 185  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 186  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 27, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/27/edit" for 127.0.0.1 at 2013-08-22 12:25:41 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"27"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 27 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 27 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.4ms) Rendered emails/_form.html.erb (3.9ms) Completed 200 OK in 6ms (Views: 4.5ms | ActiveRecord: 0.6ms) Started PATCH "/emails/27" for 127.0.0.1 at 2013-08-22 12:25:41 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"187"=>{"id"=>"187", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"27"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 27 LIMIT 1 Unpermitted parameters: id, _destroy  (0.2ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (27, 'Email')  (0.1ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:65520/emails/27 Completed 302 Found in 3ms (ActiveRecord: 0.8ms) Started GET "/emails/27" for 127.0.0.1 at 2013-08-22 12:25:41 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"27"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 27 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 27 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.8ms) Completed 500 Internal Server Error in 3ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 27  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 187  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 188  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.9ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 28, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/28/edit" for 127.0.0.1 at 2013-08-22 12:26:01 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"28"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 28 LIMIT 1 DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 28 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (4.8ms) Rendered emails/_form.html.erb (15.2ms) Rendered emails/edit.html.erb within layouts/application (17.6ms) Completed 200 OK in 62ms (Views: 58.8ms | ActiveRecord: 0.9ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 12:26:01 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 12:26:01 -0700 Started PATCH "/emails/28" for 127.0.0.1 at 2013-08-22 12:26:01 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"189"=>{"id"=>"189", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"28"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 28 LIMIT 1 Unpermitted parameters: id, _destroy  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (28, 'Email')  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:65530/emails/28 Completed 302 Found in 5ms (ActiveRecord: 0.9ms) Started GET "/emails/28" for 127.0.0.1 at 2013-08-22 12:26:01 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"28"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 28 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 28 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (2.1ms) Rendered emails/show.html.erb within layouts/application (4.4ms) Completed 500 Internal Server Error in 6ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (2.3ms) DELETE FROM `emails` WHERE `emails`.`id` = 28  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 189  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 190  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_1 SQL (1.0ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 29, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/29/edit" for 127.0.0.1 at 2013-08-22 12:28:15 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"29"} Email Load (0.5ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 29 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 29 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (31.1ms) Rendered emails/_form.html.erb (41.0ms) Rendered emails/edit.html.erb within layouts/application (43.5ms) Completed 200 OK in 61ms (Views: 57.7ms | ActiveRecord: 0.9ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 12:28:15 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 12:28:15 -0700 Started PATCH "/emails/29" for 127.0.0.1 at 2013-08-22 12:28:15 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"191"=>{"id"=>"191", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"29"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 29 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 29 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (191) SQL (2.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 191  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:49192/emails/29 Completed 302 Found in 9ms (ActiveRecord: 3.0ms) Started GET "/emails/29" for 127.0.0.1 at 2013-08-22 12:28:15 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"29"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 29 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 29 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Rendered emails/show.html.erb within layouts/application (1.8ms) Completed 200 OK in 4ms (Views: 2.7ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 29  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.2ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 12:28:20 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.9ms) Rendered emails/_form.html.erb (52.1ms) Rendered emails/new.html.erb within layouts/application (54.6ms) Completed 200 OK in 69ms (Views: 68.4ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"405508"=>{"key"=>"615913773"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (1.9ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.7ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 30, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:49200/emails/30 Completed 302 Found in 25ms (ActiveRecord: 3.0ms) Started GET "/emails/30" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"30"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 30 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 30 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (3.2ms) Completed 200 OK in 6ms (Views: 4.0ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 30 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 30 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `emails` WHERE `emails`.`id` = 30  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 192  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (2.9ms) Completed 200 OK in 4ms (Views: 3.7ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"507708"=>{"key"=>"533686305"}, "698414"=>{"key"=>"285411302"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.9ms) Rendered emails/_form.html.erb (3.9ms) Completed 200 OK in 13ms (Views: 4.7ms | ActiveRecord: 0.3ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"217670555"=>{"key"=>"533686305"}, "383419055"=>{"key"=>"285411302"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.0ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 31, 'Email', 7874) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 31, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:49200/emails/31 Completed 302 Found in 10ms (ActiveRecord: 2.1ms) Started GET "/emails/31" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"31"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 31 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 31 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 31 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.9ms) DELETE FROM `emails` WHERE `emails`.`id` = 31  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 193  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 194  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.2ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.7ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 32, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/32/edit" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"32"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 32 LIMIT 1 DbFile Load (0.6ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 32 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.8ms) Rendered emails/_form.html.erb (4.4ms) Completed 200 OK in 7ms (Views: 5.2ms | ActiveRecord: 0.8ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/32" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"195"=>{"id"=>"195", "_destroy"=>"1"}, "422602"=>{"key"=>"435856013"}}}, "commit"=>"Update Email", "id"=>"32"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 32 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 32 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (195) SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 32, 'Email', 18) SQL (2.5ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 195  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:49200/emails/32 Completed 302 Found in 14ms (ActiveRecord: 3.8ms) Started GET "/emails/32" for 127.0.0.1 at 2013-08-22 12:28:21 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"32"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 32 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 32 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.6ms) Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 32  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (2.7ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 196  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 33, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/33/edit" for 127.0.0.1 at 2013-08-22 12:28:23 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"33"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 33 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 33 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.1ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.6ms) Started PATCH "/emails/33" for 127.0.0.1 at 2013-08-22 12:28:23 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"197"=>{"id"=>"197", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"33"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 33 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 33 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (197) SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 197  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:49200/emails/33 Completed 302 Found in 4ms (ActiveRecord: 1.0ms) Started GET "/emails/33" for 127.0.0.1 at 2013-08-22 12:28:24 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"33"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 33 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 33 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 33  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.8ms) ROLLBACK  (0.2ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.9ms) Rendered emails/_form.html.erb (25.3ms) Rendered emails/new.html.erb within layouts/application (27.7ms) Completed 200 OK in 69ms (Views: 68.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"934105"=>{"key"=>"889150599"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (2.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 34, 'Email', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:49208/emails/34 Completed 302 Found in 27ms (ActiveRecord: 3.1ms) Started GET "/emails/34" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"34"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 34 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 34 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (3.3ms) Completed 200 OK in 6ms (Views: 4.1ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.3ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 34 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 34 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.2ms) SAVEPOINT active_record_1 SQL (0.8ms) DELETE FROM `emails` WHERE `emails`.`id` = 34  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 198  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.2ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.0ms) Completed 200 OK in 4ms (Views: 3.9ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"265258"=>{"key"=>"590138623"}, "875276"=>{"key"=>"789227429"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.9ms) Rendered emails/_form.html.erb (3.7ms) Completed 200 OK in 13ms (Views: 4.6ms | ActiveRecord: 0.4ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"468061250"=>{"key"=>"590138623"}, "9947851"=>{"key"=>"789227429"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (2.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.6ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 35, 'Email', 7874) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 35, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:49208/emails/35 Completed 302 Found in 13ms (ActiveRecord: 3.6ms) Started GET "/emails/35" for 127.0.0.1 at 2013-08-22 12:28:39 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"35"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 35 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 35 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 35 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `emails` WHERE `emails`.`id` = 35  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 199  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 200  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 36, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/36/edit" for 127.0.0.1 at 2013-08-22 12:28:40 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"36"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 36 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 36 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.4ms | ActiveRecord: 0.7ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 12:28:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/36" for 127.0.0.1 at 2013-08-22 12:28:40 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"201"=>{"id"=>"201", "_destroy"=>"1"}, "475319"=>{"key"=>"653909658"}}}, "commit"=>"Update Email", "id"=>"36"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 36 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 36 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (201) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 36, 'Email', 18) SQL (2.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 201  (0.3ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:49208/emails/36 Completed 302 Found in 14ms (ActiveRecord: 3.5ms) Started GET "/emails/36" for 127.0.0.1 at 2013-08-22 12:28:40 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"36"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 36 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 36 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 36  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 202  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (1.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 37, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/37/edit" for 127.0.0.1 at 2013-08-22 12:28:40 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"37"} Email Load (0.2ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 37 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 37 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.4ms) Rendered emails/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 4.5ms | ActiveRecord: 0.6ms) Started PATCH "/emails/37" for 127.0.0.1 at 2013-08-22 12:28:40 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"203"=>{"id"=>"203", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"37"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 37 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 37 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (203) SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 203  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:49208/emails/37 Completed 302 Found in 4ms (ActiveRecord: 1.0ms) Started GET "/emails/37" for 127.0.0.1 at 2013-08-22 12:28:40 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"37"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 37 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 37 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.6ms)  (0.4ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 37  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.1ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.3ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:20:31 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.9ms) Rendered emails/_form.html.erb (52.7ms) Rendered emails/new.html.erb within layouts/application (55.3ms) Completed 200 OK in 93ms (Views: 92.2ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 14:20:31 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 14:20:31 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:20:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 500 Internal Server Error in 1ms Email Load (0.4ms) SELECT `emails`.* FROM `emails` DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:20:33 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.1ms) Rendered emails/new.html.erb within layouts/application (3.3ms) Completed 200 OK in 4ms (Views: 4.0ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:20:33 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 500 Internal Server Error in 0ms Email Load (0.2ms) SELECT `emails`.* FROM `emails` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_2 ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_3 SQL (1.5ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 38, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/38/edit" for 127.0.0.1 at 2013-08-22 14:20:35 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"38"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 38 LIMIT 1 DbFile Load (0.8ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 38 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.4ms) Rendered emails/_form.html.erb (5.3ms) Rendered emails/edit.html.erb within layouts/application (5.7ms) Completed 200 OK in 9ms (Views: 6.1ms | ActiveRecord: 1.2ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:20:35 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 500 Internal Server Error in 0ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 38  (0.1ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 204  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.2ms) SAVEPOINT active_record_3 ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_4 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 39, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/39/edit" for 127.0.0.1 at 2013-08-22 14:20:37 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"39"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 39 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 39 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.4ms) Rendered emails/_form.html.erb (4.0ms) Rendered emails/edit.html.erb within layouts/application (4.2ms) Completed 200 OK in 6ms (Views: 4.8ms | ActiveRecord: 0.5ms) Started PATCH "/emails/39" for 127.0.0.1 at 2013-08-22 14:20:37 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"205"=>{"id"=>"205", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"39"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 39 LIMIT 1  (0.2ms) SAVEPOINT active_record_4 DbFile Load (0.9ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 39 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (205) SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 205  (0.1ms) RELEASE SAVEPOINT active_record_4 Redirected to http://127.0.0.1:51834/emails/39 Completed 302 Found in 8ms (ActiveRecord: 1.8ms) Started GET "/emails/39" for 127.0.0.1 at 2013-08-22 14:20:37 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"39"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 39 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 39 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Rendered emails/show.html.erb within layouts/application (1.9ms) Completed 200 OK in 4ms (Views: 2.7ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 39  (0.1ms) RELEASE SAVEPOINT active_record_4 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) ROLLBACK TO SAVEPOINT active_record_3  (0.2ms) SAVEPOINT active_record_3 ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:20:37 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (9.6ms) Completed 200 OK in 12ms (Views: 11.5ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:20:37 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 500 Internal Server Error in 0ms User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_4 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_4 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_4 ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_5  (0.3ms) RELEASE SAVEPOINT active_record_5  (0.2ms) SAVEPOINT active_record_5 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 140, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_5  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/140/edit" for 127.0.0.1 at 2013-08-22 14:20:39 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"140"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 140 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 140 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.0ms) Rendered users/_form.html.erb (4.4ms) Completed 200 OK in 7ms (Views: 5.6ms | ActiveRecord: 0.6ms) Started GET "/db_files/206/pic.jpg" for 127.0.0.1 at 2013-08-22 14:20:39 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"206", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 206 LIMIT 1 Sent data (2.6ms) Completed 200 OK in 4ms (Views: 2.5ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:20:39 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 500 Internal Server Error in 1ms Started PATCH "/users/140" for 127.0.0.1 at 2013-08-22 14:20:40 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"206", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"140"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 140 LIMIT 1  (0.2ms) SAVEPOINT active_record_5 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 140 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 140 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 206  (0.2ms) RELEASE SAVEPOINT active_record_5 Redirected to http://127.0.0.1:51834/users/140 Completed 302 Found in 5ms (ActiveRecord: 1.5ms) Started GET "/users/140" for 127.0.0.1 at 2013-08-22 14:20:40 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"140"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 140 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 140 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 4ms (Views: 2.6ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.4ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_5 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 140  (0.1ms) RELEASE SAVEPOINT active_record_5 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_5 ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_6  (0.1ms) RELEASE SAVEPOINT active_record_6  (0.1ms) SAVEPOINT active_record_6 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 141, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_6  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/141/edit" for 127.0.0.1 at 2013-08-22 14:20:40 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"141"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 141 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 141 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.0ms) Rendered users/_form.html.erb (5.2ms) Completed 200 OK in 8ms (Views: 6.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/207/pic.jpg" for 127.0.0.1 at 2013-08-22 14:20:40 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"207", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 207 LIMIT 1 Sent data (0.3ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/141" for 127.0.0.1 at 2013-08-22 14:20:40 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"207", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"141"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 141 LIMIT 1  (0.2ms) SAVEPOINT active_record_6 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 141 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 207  (0.1ms) RELEASE SAVEPOINT active_record_6 Redirected to http://127.0.0.1:51834/users/141 Completed 302 Found in 4ms (ActiveRecord: 1.0ms) Started GET "/users/141" for 127.0.0.1 at 2013-08-22 14:20:40 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"141"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 141 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 141 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (45.2ms) SAVEPOINT active_record_6 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 141  (0.2ms) RELEASE SAVEPOINT active_record_6 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.3ms) ROLLBACK TO SAVEPOINT active_record_5  (0.1ms) SAVEPOINT active_record_5 ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_6  (0.1ms) RELEASE SAVEPOINT active_record_6  (0.0ms) SAVEPOINT active_record_6 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 142, 'User', 112)  (0.2ms) RELEASE SAVEPOINT active_record_6  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/142/edit" for 127.0.0.1 at 2013-08-22 14:20:40 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"142"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 142 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 142 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.6ms) Completed 200 OK in 5ms (Views: 4.2ms | ActiveRecord: 0.5ms) Started GET "/db_files/208/pic.jpg" for 127.0.0.1 at 2013-08-22 14:20:40 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"208", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 208 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:20:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 500 Internal Server Error in 0ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_6 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 142  (0.1ms) RELEASE SAVEPOINT active_record_6 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_6 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 208  (0.1ms) RELEASE SAVEPOINT active_record_6  (0.2ms) SAVEPOINT active_record_6 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:20:42 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:20:42 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 500 Internal Server Error in 0ms User Load (0.3ms) SELECT `users`.* FROM `users` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:21:54 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.9ms) Rendered emails/_form.html.erb (53.0ms) Rendered emails/new.html.erb within layouts/application (55.3ms) Completed 200 OK in 69ms (Views: 68.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 14:21:54 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 14:21:54 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:21:54 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"189712"=>{"key"=>"855746990"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.9ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 40, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51849/emails/40 Completed 302 Found in 26ms (ActiveRecord: 1.5ms) Started GET "/emails/40" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"40"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 40 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 40 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.7ms) Rendered emails/show.html.erb within layouts/application (3.3ms) Completed 200 OK in 6ms (Views: 4.2ms | ActiveRecord: 0.5ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 40 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 40 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.2ms) SAVEPOINT active_record_1 SQL (0.7ms) DELETE FROM `emails` WHERE `emails`.`id` = 40  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 209  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.1ms) Completed 200 OK in 4ms (Views: 3.9ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"553075"=>{"key"=>"99297113"}, "628599"=>{"key"=>"964871688"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.9ms) Rendered emails/_form.html.erb (3.9ms) Completed 200 OK in 13ms (Views: 4.8ms | ActiveRecord: 0.4ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"406179772"=>{"key"=>"99297113"}, "345686693"=>{"key"=>"964871688"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.4ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 41, 'Email', 7874) SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 41, 'Email', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51849/emails/41 Completed 302 Found in 10ms (ActiveRecord: 1.5ms) Started GET "/emails/41" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"41"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 41 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 41 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 4ms (Views: 2.2ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 41 AND `db_files`.`owner_type` = 'Email' Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `emails` WHERE `emails`.`id` = 41  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 210  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 211  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.8ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.9ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 42, 'Email', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/42/edit" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"42"} Email Load (0.2ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 42 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 42 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.3ms | ActiveRecord: 0.5ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/42" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"212"=>{"id"=>"212", "_destroy"=>"1"}, "609917"=>{"key"=>"824916948"}}}, "commit"=>"Update Email", "id"=>"42"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 42 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 42 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (212) SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 42, 'Email', 18) SQL (1.9ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 212  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51849/emails/42 Completed 302 Found in 13ms (ActiveRecord: 3.0ms) Started GET "/emails/42" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"42"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 42 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 42 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 42  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 213  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 43, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/43/edit" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"43"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 43 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 43 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.4ms) Rendered emails/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.6ms) Started PATCH "/emails/43" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"214"=>{"id"=>"214", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"43"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 43 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 43 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (214) SQL (0.6ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 214  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51849/emails/43 Completed 302 Found in 4ms (ActiveRecord: 1.5ms) Started GET "/emails/43" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"43"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 43 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 43 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 3ms (Views: 1.5ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.3ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 43  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.9ms) ROLLBACK  (0.2ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.3ms) Rendered users/_form.html.erb (9.5ms) Completed 200 OK in 12ms (Views: 11.6ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:21:55 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"981556437"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (2.0ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.7ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 143, 'User', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51849/users/143 Completed 302 Found in 13ms (ActiveRecord: 3.2ms) Started GET "/users/143" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"143"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 143 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 143 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 5ms (Views: 3.4ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (1.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 143  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 215  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 144, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/144/edit" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"144"} User Load (37.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 144 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 144 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.2ms) Completed 200 OK in 44ms (Views: 5.4ms | ActiveRecord: 37.7ms) Started GET "/db_files/216/pic.jpg" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"216", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 216 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/144" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"216", "_destroy"=>"0", "key"=>"823808523"}}, "commit"=>"Update User", "id"=>"144"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 144 LIMIT 1  (0.3ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 144 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.1ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 144 SQL (0.5ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 144 WHERE `db_files`.`id` = 216  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51849/users/144 Completed 302 Found in 9ms (ActiveRecord: 2.7ms) Started GET "/users/144" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"144"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 144 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 144 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 144 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 144 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 144  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 216  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 145, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/145/edit" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"145"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 145 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 145 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 6ms (Views: 4.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/217/pic.jpg" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"217", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 217 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started PATCH "/users/145" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"217", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"145"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 145 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 145 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.5ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 217  (0.3ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51849/users/145 Completed 302 Found in 5ms (ActiveRecord: 2.5ms) Started GET "/users/145" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"145"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 145 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 145 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 145  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.2ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 146, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/146/edit" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"146"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 146 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 146 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 5ms (Views: 4.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/218/pic.jpg" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"218", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 218 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/146" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"218", "_destroy"=>"1", "key"=>"822879565"}}, "commit"=>"Update User", "id"=>"146"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 146 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 146 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (2.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 218  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51849/users/146 Completed 302 Found in 8ms (ActiveRecord: 3.0ms) Started GET "/users/146" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"146"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 146 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 146 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 146  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"45237507"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 9ms (Views: 3.6ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/45237507/preview" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"45237507"} Sent data (0.4ms) Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"45237507"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.7ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 147, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51849/users/147 Completed 302 Found in 7ms (ActiveRecord: 1.4ms) Started GET "/users/147" for 127.0.0.1 at 2013-08-22 14:21:56 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"147"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 147 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 147 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 147  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 219  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.6ms) ROLLBACK  (0.3ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.4ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:24:53 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.2ms) Rendered emails/_form.html.erb (25.1ms) Rendered emails/new.html.erb within layouts/application (27.4ms) Completed 200 OK in 70ms (Views: 69.9ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 14:24:53 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 14:24:53 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"112743"=>{"key"=>"955345632"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 44, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51874/emails/44 Completed 302 Found in 22ms (ActiveRecord: 0.9ms) Started GET "/emails/44" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"44"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 44 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 44 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.8ms) Rendered emails/show.html.erb within layouts/application (3.8ms) Completed 200 OK in 7ms (Views: 4.7ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (2.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 44 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 44 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.2ms) SAVEPOINT active_record_1 SQL (0.7ms) DELETE FROM `emails` WHERE `emails`.`id` = 44  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 220  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.1ms) Completed 200 OK in 4ms (Views: 3.9ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"24963"=>{"key"=>"892531519"}, "300418"=>{"key"=>"649018334"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.8ms) Rendered emails/_form.html.erb (3.7ms) Completed 200 OK in 13ms (Views: 4.5ms | ActiveRecord: 0.3ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"53975072"=>{"key"=>"892531519"}, "53936787"=>{"key"=>"649018334"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 45, 'Email', 7874) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 45, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51874/emails/45 Completed 302 Found in 10ms (ActiveRecord: 1.4ms) Started GET "/emails/45" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"45"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 45 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 45 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 4ms (Views: 2.2ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.3ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 45 AND `db_files`.`owner_type` = 'Email' Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 45  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 221  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 222  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.5ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 46, 'Email', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/46/edit" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"46"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 46 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 46 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.6ms) Rendered emails/_form.html.erb (4.3ms) Completed 200 OK in 7ms (Views: 5.4ms | ActiveRecord: 0.7ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/46" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"223"=>{"id"=>"223", "_destroy"=>"1"}, "582167"=>{"key"=>"958692607"}}}, "commit"=>"Update Email", "id"=>"46"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 46 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 46 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (223) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 46, 'Email', 18) SQL (0.6ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 223  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51874/emails/46 Completed 302 Found in 46ms (ActiveRecord: 1.9ms) Started GET "/emails/46" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"46"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 46 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 46 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 46  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 224  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 47, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/47/edit" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"47"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 47 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 47 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.3ms) Rendered emails/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.7ms) Started PATCH "/emails/47" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"225"=>{"id"=>"225", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"47"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 47 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 47 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (225) SQL (1.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 225  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51874/emails/47 Completed 302 Found in 5ms (ActiveRecord: 1.9ms) Started GET "/emails/47" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"47"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 47 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 47 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 47  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (4.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:24:54 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (8.6ms) Completed 200 OK in 11ms (Views: 10.6ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"72118273"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (2.0ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 148, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51874/users/148 Completed 302 Found in 11ms (ActiveRecord: 2.5ms) Started GET "/users/148" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"148"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 148 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 148 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 5ms (Views: 3.4ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 148  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 226  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 149, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/149/edit" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"149"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 149 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 149 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.0ms) Completed 200 OK in 7ms (Views: 5.1ms | ActiveRecord: 0.7ms) Started GET "/db_files/227/pic.jpg" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"227", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 227 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/149" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"227", "_destroy"=>"0", "key"=>"828080478"}}, "commit"=>"Update User", "id"=>"149"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 149 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 149 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.9ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 149 SQL (0.6ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 149 WHERE `db_files`.`id` = 227  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51874/users/149 Completed 302 Found in 10ms (ActiveRecord: 2.4ms) Started GET "/users/149" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"149"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 149 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 149 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.2ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 149 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 149 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 149  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 227  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 150, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/150/edit" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"150"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 150 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 150 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.6ms) Completed 200 OK in 6ms (Views: 4.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/228/pic.jpg" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"228", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 228 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/150" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"228", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"150"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 150 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 150 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.5ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 228  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51874/users/150 Completed 302 Found in 4ms (ActiveRecord: 1.4ms) Started GET "/users/150" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"150"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 150 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 150 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 150  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.0ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.8ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (37.0ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 151, 'User', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/151/edit" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"151"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 151 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 151 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.4ms | ActiveRecord: 0.6ms) Started GET "/db_files/229/pic.jpg" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"229", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 229 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/151" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"229", "_destroy"=>"1", "key"=>"404665099"}}, "commit"=>"Update User", "id"=>"151"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 151 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 151 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.9ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 229  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51874/users/151 Completed 302 Found in 7ms (ActiveRecord: 2.7ms) Started GET "/users/151" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"151"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 151 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 151 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.3ms | ActiveRecord: 0.8ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 151  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.2ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"538062730"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.0ms) Completed 200 OK in 9ms (Views: 3.8ms | ActiveRecord: 0.3ms) Started GET "/file_upload/redis_files/538062730/preview" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"538062730"} Sent data (0.4ms) Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"538062730"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.8ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.6ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 152, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:51874/users/152 Completed 302 Found in 8ms (ActiveRecord: 2.7ms) Started GET "/users/152" for 127.0.0.1 at 2013-08-22 14:24:55 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"152"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 152 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 152 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.8ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 152  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 230  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.3ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:56:36 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.0ms) Rendered emails/_form.html.erb (54.5ms) Rendered emails/new.html.erb within layouts/application (58.2ms) Completed 200 OK in 106ms (Views: 105.1ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 14:56:36 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 14:56:36 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:56:36 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Email Load (0.3ms) SELECT `emails`.* FROM `emails` DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (2.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.6ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:56:38 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (2.9ms) Completed 200 OK in 4ms (Views: 3.7ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:56:38 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Email Load (0.2ms) SELECT `emails`.* FROM `emails` DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (2.7ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.5ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (48, 'Email')  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/48/edit" for 127.0.0.1 at 2013-08-22 14:56:40 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"48"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 48 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 48 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.8ms) Rendered emails/_form.html.erb (6.3ms) Completed 500 Internal Server Error in 9ms Email Load (0.4ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `emails` WHERE `emails`.`id` = 48  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 231  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_2 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (49, 'Email')  (0.2ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/49/edit" for 127.0.0.1 at 2013-08-22 14:56:42 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"49"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 49 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 49 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.8ms) Rendered emails/_form.html.erb (3.7ms) Completed 500 Internal Server Error in 5ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.2ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 49  (0.2ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 232  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SAVEPOINT active_record_2 ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:56:44 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (8.8ms) Completed 200 OK in 12ms (Views: 11.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:56:45 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:56:45 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:56:45 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"786686396"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_3 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.1ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (153, 'User')  (0.2ms) RELEASE SAVEPOINT active_record_3 Redirected to http://127.0.0.1:53481/users/153 Completed 302 Found in 9ms (ActiveRecord: 0.9ms) Started GET "/users/153" for 127.0.0.1 at 2013-08-22 14:56:45 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"153"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 153 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 153 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.8ms) Completed 500 Internal Server Error in 5ms User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_3 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 153  (0.1ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 233  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.2ms) SAVEPOINT active_record_3 ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_4  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.1ms) SAVEPOINT active_record_4 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (154, 'User')  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/154/edit" for 127.0.0.1 at 2013-08-22 14:56:47 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"154"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 154 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 154 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (4.2ms) Completed 500 Internal Server Error in 42ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_4 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 154  (0.1ms) RELEASE SAVEPOINT active_record_4 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 234  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.2ms) SAVEPOINT active_record_4 ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_5  (0.1ms) RELEASE SAVEPOINT active_record_5  (0.1ms) SAVEPOINT active_record_5 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (155, 'User')  (0.2ms) RELEASE SAVEPOINT active_record_5  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/155/edit" for 127.0.0.1 at 2013-08-22 14:56:49 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"155"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 155 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 155 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (3.4ms) Completed 500 Internal Server Error in 5ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_5 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 155  (0.1ms) RELEASE SAVEPOINT active_record_5 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 235  (0.1ms) RELEASE SAVEPOINT active_record_5  (0.2ms) SAVEPOINT active_record_5 ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.2ms) SAVEPOINT active_record_6  (0.2ms) RELEASE SAVEPOINT active_record_6  (0.2ms) SAVEPOINT active_record_6 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (156, 'User')  (0.2ms) RELEASE SAVEPOINT active_record_6  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/156/edit" for 127.0.0.1 at 2013-08-22 14:56:51 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"156"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 156 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 156 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (3.5ms) Completed 500 Internal Server Error in 5ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_6 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 156  (0.1ms) RELEASE SAVEPOINT active_record_6 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_6 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 236  (0.1ms) RELEASE SAVEPOINT active_record_6  (0.2ms) SAVEPOINT active_record_6 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:56:53 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.5ms) Rendered users/_form.html.erb (2.7ms) Completed 200 OK in 4ms (Views: 3.7ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:56:53 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:56:53 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"196073431"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_7  (0.2ms) ROLLBACK TO SAVEPOINT active_record_7 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (3.1ms) Completed 200 OK in 9ms (Views: 4.0ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/196073431/preview" for 127.0.0.1 at 2013-08-22 14:56:53 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"196073431"} Sent data (3.0ms) Completed 200 OK in 5ms (Views: 2.8ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:56:53 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"196073431"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_7 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (157, 'User')  (0.1ms) RELEASE SAVEPOINT active_record_7 Redirected to http://127.0.0.1:53481/users/157 Completed 302 Found in 5ms (ActiveRecord: 0.7ms) Started GET "/users/157" for 127.0.0.1 at 2013-08-22 14:56:53 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"157"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 157 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 157 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Completed 500 Internal Server Error in 4ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_7 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 157  (0.1ms) RELEASE SAVEPOINT active_record_7 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_7 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 237  (0.1ms) RELEASE SAVEPOINT active_record_7  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.3ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:57:47 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.9ms) Rendered emails/_form.html.erb (53.5ms) Rendered emails/new.html.erb within layouts/application (56.2ms) Completed 200 OK in 96ms (Views: 95.9ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 14:57:47 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 14:57:47 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:57:47 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Email Load (0.5ms) SELECT `emails`.* FROM `emails` DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.8ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:57:49 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.2ms) Completed 200 OK in 4ms (Views: 4.0ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:57:49 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Email Load (0.2ms) SELECT `emails`.* FROM `emails` DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.6ms) ROLLBACK  (0.2ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (50, 'Email')  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/50/edit" for 127.0.0.1 at 2013-08-22 14:57:52 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"50"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 50 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 50 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.0ms) Rendered emails/_form.html.erb (5.2ms) Completed 500 Internal Server Error in 8ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (2.4ms) DELETE FROM `emails` WHERE `emails`.`id` = 50  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 238  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (51, 'Email')  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/51/edit" for 127.0.0.1 at 2013-08-22 14:57:54 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"51"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 51 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 51 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.8ms) Rendered emails/_form.html.erb (3.8ms) Completed 500 Internal Server Error in 5ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.2ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 51  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 239  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SAVEPOINT active_record_2 ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:57:56 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (9.0ms) Completed 200 OK in 11ms (Views: 11.0ms | ActiveRecord: 0.0ms) User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_3 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.3ms) ROLLBACK TO SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_3  (0.2ms) RELEASE SAVEPOINT active_record_3  (0.2ms) SAVEPOINT active_record_3 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (158, 'User')  (0.2ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/158/edit" for 127.0.0.1 at 2013-08-22 14:57:58 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"158"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 158 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 158 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (3.8ms) Completed 500 Internal Server Error in 6ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.2ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 158  (0.1ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 240  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_4  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.1ms) SAVEPOINT active_record_4 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (159, 'User')  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/159/edit" for 127.0.0.1 at 2013-08-22 14:58:00 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"159"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 159 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 159 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (3.3ms) Completed 500 Internal Server Error in 5ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_4 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 159  (0.1ms) RELEASE SAVEPOINT active_record_4 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_4 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 241  (0.1ms) RELEASE SAVEPOINT active_record_4  (0.1ms) SAVEPOINT active_record_4 ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_5  (0.1ms) RELEASE SAVEPOINT active_record_5  (0.1ms) SAVEPOINT active_record_5 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (160, 'User')  (0.1ms) RELEASE SAVEPOINT active_record_5  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/160/edit" for 127.0.0.1 at 2013-08-22 14:58:02 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"160"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 160 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 160 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (3.7ms) Completed 500 Internal Server Error in 5ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_5 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 160  (0.2ms) RELEASE SAVEPOINT active_record_5 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 242  (0.1ms) RELEASE SAVEPOINT active_record_5  (0.2ms) SAVEPOINT active_record_5 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:58:04 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) User Load (0.3ms) SELECT `users`.* FROM `users` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) ROLLBACK TO SAVEPOINT active_record_5  (0.1ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:58:26 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.9ms) Rendered emails/_form.html.erb (55.1ms) Rendered emails/new.html.erb within layouts/application (57.9ms) Completed 200 OK in 99ms (Views: 97.9ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 14:58:27 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 14:58:27 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:58:27 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:58:27 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:58:27 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"928519"=>{"key"=>"375547226"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.9ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.3ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (52, 'Email')  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53514/emails/52 Completed 302 Found in 23ms (ActiveRecord: 1.5ms) Started GET "/emails/52" for 127.0.0.1 at 2013-08-22 14:58:27 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"52"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 52 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 52 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (1.6ms) Rendered emails/show.html.erb within layouts/application (4.0ms) Completed 500 Internal Server Error in 7ms Email Load (0.4ms) SELECT `emails`.* FROM `emails`  (0.2ms) SAVEPOINT active_record_1 SQL (2.4ms) DELETE FROM `emails` WHERE `emails`.`id` = 52  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.6ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 243  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:58:29 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.5ms) Rendered emails/_form.html.erb (3.2ms) Rendered emails/new.html.erb within layouts/application (3.4ms) Completed 200 OK in 5ms (Views: 4.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:58:29 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:58:29 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:58:29 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"194005"=>{"key"=>"585401291"}, "743057"=>{"key"=>"233734882"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_2  (0.2ms) ROLLBACK TO SAVEPOINT active_record_2 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.9ms) Rendered emails/_form.html.erb (3.9ms) Rendered emails/new.html.erb within layouts/application (4.1ms) Completed 200 OK in 14ms (Views: 4.9ms | ActiveRecord: 0.4ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:58:29 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"305317552"=>{"key"=>"585401291"}, "42987432"=>{"key"=>"233734882"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_2 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (53, 'Email') SQL (0.1ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (53, 'Email')  (0.1ms) RELEASE SAVEPOINT active_record_2 Redirected to http://127.0.0.1:53514/emails/53 Completed 302 Found in 9ms (ActiveRecord: 0.9ms) Started GET "/emails/53" for 127.0.0.1 at 2013-08-22 14:58:29 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"53"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 53 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 53 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (1.9ms) Completed 500 Internal Server Error in 3ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 53  (0.1ms) RELEASE SAVEPOINT active_record_2 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 244  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.1ms) SAVEPOINT active_record_2 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 245  (0.1ms) RELEASE SAVEPOINT active_record_2  (0.2ms) SAVEPOINT active_record_2 ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (54, 'Email')  (0.2ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/54/edit" for 127.0.0.1 at 2013-08-22 14:58:31 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"54"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 54 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 54 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.9ms) Rendered emails/_form.html.erb (4.1ms) Rendered emails/edit.html.erb within layouts/application (4.6ms) Completed 500 Internal Server Error in 6ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_3 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 54  (0.1ms) RELEASE SAVEPOINT active_record_3 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_3 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 246  (0.1ms) RELEASE SAVEPOINT active_record_3  (0.1ms) SAVEPOINT active_record_3 ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_4 SQL (0.4ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.3ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (55, 'Email')  (0.2ms) RELEASE SAVEPOINT active_record_4  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/55/edit" for 127.0.0.1 at 2013-08-22 14:58:33 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"55"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 55 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 55 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.7ms) Rendered emails/_form.html.erb (3.7ms) Rendered emails/edit.html.erb within layouts/application (3.8ms) Completed 500 Internal Server Error in 5ms Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 55  (0.0ms) RELEASE SAVEPOINT active_record_4 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_4 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 247  (0.0ms) RELEASE SAVEPOINT active_record_4  (0.2ms) SAVEPOINT active_record_4 ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:58:35 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.3ms) Rendered users/_form.html.erb (44.4ms) Rendered users/new.html.erb within layouts/application (45.6ms) Completed 200 OK in 48ms (Views: 47.4ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:58:35 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:58:35 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:58:36 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"7092792"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_5 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.1ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (161, 'User')  (0.1ms) RELEASE SAVEPOINT active_record_5 Redirected to http://127.0.0.1:53514/users/161 Completed 302 Found in 8ms (ActiveRecord: 0.7ms) Started GET "/users/161" for 127.0.0.1 at 2013-08-22 14:58:36 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"161"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 161 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 161 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.8ms) Rendered users/show.html.erb within layouts/application (3.0ms) Completed 500 Internal Server Error in 5ms User Load (0.4ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_5 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_5  (0.1ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_5  (0.0ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_5  (0.0ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_5  (0.1ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_5  (0.0ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_5  (0.0ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_5  (0.0ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_5  (0.0ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 161  (0.0ms) RELEASE SAVEPOINT active_record_5 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_5 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 248  (0.0ms) RELEASE SAVEPOINT active_record_5  (0.2ms) SAVEPOINT active_record_5 ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_6  (0.1ms) RELEASE SAVEPOINT active_record_6  (0.1ms) SAVEPOINT active_record_6 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (162, 'User')  (0.0ms) RELEASE SAVEPOINT active_record_6  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/162/edit" for 127.0.0.1 at 2013-08-22 14:58:38 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"162"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 162 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 162 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (3.7ms) Rendered users/edit.html.erb within layouts/application (4.2ms) Completed 500 Internal Server Error in 6ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_6 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 162  (0.1ms) RELEASE SAVEPOINT active_record_6 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_6 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 249  (0.1ms) RELEASE SAVEPOINT active_record_6  (0.1ms) SAVEPOINT active_record_6 ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_7  (0.1ms) RELEASE SAVEPOINT active_record_7  (0.1ms) SAVEPOINT active_record_7 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (163, 'User')  (0.1ms) RELEASE SAVEPOINT active_record_7  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/163/edit" for 127.0.0.1 at 2013-08-22 14:58:40 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"163"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 163 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 163 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (3.5ms) Rendered users/edit.html.erb within layouts/application (3.8ms) Completed 500 Internal Server Error in 5ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_7 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 163  (0.1ms) RELEASE SAVEPOINT active_record_7 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_7 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 250  (0.1ms) RELEASE SAVEPOINT active_record_7  (0.2ms) SAVEPOINT active_record_7 ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_8  (0.1ms) RELEASE SAVEPOINT active_record_8  (0.1ms) SAVEPOINT active_record_8 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (164, 'User')  (0.1ms) RELEASE SAVEPOINT active_record_8  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/164/edit" for 127.0.0.1 at 2013-08-22 14:58:42 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"164"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 164 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 164 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.3ms) Rendered users/_form.html.erb (4.3ms) Rendered users/edit.html.erb within layouts/application (4.6ms) Completed 500 Internal Server Error in 6ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_8 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 164  (0.1ms) RELEASE SAVEPOINT active_record_8 DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_8 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 251  (0.1ms) RELEASE SAVEPOINT active_record_8  (0.2ms) SAVEPOINT active_record_8 ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:58:44 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.5ms) Rendered users/_form.html.erb (2.3ms) Rendered users/new.html.erb within layouts/application (2.5ms) Completed 200 OK in 4ms (Views: 3.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:58:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:58:44 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"254242011"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_9  (0.2ms) ROLLBACK TO SAVEPOINT active_record_9 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (3.5ms) Rendered users/new.html.erb within layouts/application (3.7ms) Completed 200 OK in 10ms (Views: 4.6ms | ActiveRecord: 0.3ms) Started GET "/file_upload/redis_files/254242011/preview" for 127.0.0.1 at 2013-08-22 14:58:44 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"254242011"} Rendered text template (0.0ms) Sent data (1.0ms) Completed 200 OK in 3ms (Views: 0.9ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:58:44 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"254242011"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_9 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.1ms) INSERT INTO `db_files` (`owner_id`, `owner_type`) VALUES (165, 'User')  (0.1ms) RELEASE SAVEPOINT active_record_9 Redirected to http://127.0.0.1:53514/users/165 Completed 302 Found in 6ms (ActiveRecord: 0.7ms) Started GET "/users/165" for 127.0.0.1 at 2013-08-22 14:58:44 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"165"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 165 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 165 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.7ms) Rendered users/show.html.erb within layouts/application (1.9ms) Completed 500 Internal Server Error in 3ms User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_9 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 165  (0.1ms) RELEASE SAVEPOINT active_record_9 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_9 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 252  (0.1ms) RELEASE SAVEPOINT active_record_9  (0.3ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:59:22 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.0ms) Rendered emails/_form.html.erb (52.8ms) Rendered emails/new.html.erb within layouts/application (55.4ms) Completed 200 OK in 95ms (Views: 94.9ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 14:59:22 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 14:59:22 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:22 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:22 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:59:22 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"440677"=>{"key"=>"233987296"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.1ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 56, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53530/emails/56 Completed 302 Found in 24ms (ActiveRecord: 1.8ms) Started GET "/emails/56" for 127.0.0.1 at 2013-08-22 14:59:22 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"56"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 56 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 56 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (3.1ms) Completed 200 OK in 6ms (Views: 3.9ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.1ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 56 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 56 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `emails` WHERE `emails`.`id` = 56  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 253  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.5ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:59:22 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.0ms) Completed 200 OK in 4ms (Views: 3.8ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"64092"=>{"key"=>"743892992"}, "59826"=>{"key"=>"187298629"}}}, "commit"=>"Create Email"}  (0.1ms) SAVEPOINT active_record_1  (0.3ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.9ms) Rendered emails/_form.html.erb (4.1ms) Completed 200 OK in 14ms (Views: 5.1ms | ActiveRecord: 0.4ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"450457635"=>{"key"=>"743892992"}, "805348820"=>{"key"=>"187298629"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 57, 'Email', 7874) SQL (3.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 57, 'Email', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53530/emails/57 Completed 302 Found in 13ms (ActiveRecord: 4.3ms) Started GET "/emails/57" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"57"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 57 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 57 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 57 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (1.0ms) DELETE FROM `emails` WHERE `emails`.`id` = 57  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 254  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 255  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 58, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/58/edit" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"58"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 58 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 58 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.6ms) Rendered emails/_form.html.erb (4.3ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.6ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/58" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"256"=>{"id"=>"256", "_destroy"=>"1"}, "711500"=>{"key"=>"432482494"}}}, "commit"=>"Update Email", "id"=>"58"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 58 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 58 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (256) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 58, 'Email', 18) SQL (0.9ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 256  (0.3ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53530/emails/58 Completed 302 Found in 16ms (ActiveRecord: 2.3ms) Started GET "/emails/58" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"58"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 58 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 58 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.3ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 58  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 257  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 59, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/59/edit" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"59"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 59 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 59 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.4ms) Rendered emails/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 4.5ms | ActiveRecord: 0.6ms) Started PATCH "/emails/59" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"258"=>{"id"=>"258", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"59"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 59 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 59 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (258) SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 258  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53530/emails/59 Completed 302 Found in 4ms (ActiveRecord: 1.0ms) Started GET "/emails/59" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"59"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 59 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 59 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.8ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 59  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (3.0ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (8.9ms) Completed 200 OK in 12ms (Views: 11.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"478271180"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 166, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53530/users/166 Completed 302 Found in 9ms (ActiveRecord: 1.0ms) Started GET "/users/166" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"166"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 166 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 166 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 5ms (Views: 3.5ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.9ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 166  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 259  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.5ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 167, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/167/edit" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"167"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 167 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 167 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.5ms) Started GET "/db_files/260/pic.jpg" for 127.0.0.1 at 2013-08-22 14:59:23 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"260", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 260 LIMIT 1 Sent data (0.9ms) Completed 200 OK in 2ms (Views: 0.8ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/167" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"260", "_destroy"=>"0", "key"=>"118143956"}}, "commit"=>"Update User", "id"=>"167"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 167 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 167 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.8ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 167 SQL (0.4ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 167 WHERE `db_files`.`id` = 260  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53530/users/167 Completed 302 Found in 9ms (ActiveRecord: 2.0ms) Started GET "/users/167" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"167"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 167 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 167 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.2ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 167 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 167 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 167  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 260  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (1.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 168, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/168/edit" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"168"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 168 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 168 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 6ms (Views: 4.8ms | ActiveRecord: 0.5ms) Started GET "/db_files/261/pic.jpg" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"261", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 261 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/168" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"261", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"168"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 168 LIMIT 1  (0.3ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 168 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.9ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 261  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53530/users/168 Completed 302 Found in 4ms (ActiveRecord: 1.8ms) Started GET "/users/168" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"168"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 168 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 168 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.8ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 168  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.5ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 169, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/169/edit" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"169"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 169 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 169 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.6ms) Completed 200 OK in 5ms (Views: 4.0ms | ActiveRecord: 0.6ms) Started GET "/db_files/262/pic.jpg" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"262", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 262 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/169" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"262", "_destroy"=>"1", "key"=>"162069223"}}, "commit"=>"Update User", "id"=>"169"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 169 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 169 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.8ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 262  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53530/users/169 Completed 302 Found in 6ms (ActiveRecord: 1.5ms) Started GET "/users/169" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"169"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 169 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 169 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 169  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"846669492"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.1ms) Completed 200 OK in 46ms (Views: 4.0ms | ActiveRecord: 0.3ms) Started GET "/file_upload/redis_files/846669492/preview" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"846669492"} Sent data (0.4ms) Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"846669492"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.7ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.9ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 170, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53530/users/170 Completed 302 Found in 7ms (ActiveRecord: 2.0ms) Started GET "/users/170" for 127.0.0.1 at 2013-08-22 14:59:24 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"170"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 170 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 170 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.5ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 170  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 263  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.3ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:59:40 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.1ms) Rendered emails/_form.html.erb (25.1ms) Rendered emails/new.html.erb within layouts/application (27.4ms) Completed 200 OK in 71ms (Views: 70.7ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 14:59:40 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 14:59:40 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:40 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 7ms (Views: 0.3ms | ActiveRecord: 0.0ms) Email Load (0.4ms) SELECT `emails`.* FROM `emails` DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (2.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.5ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 14:59:42 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (2.9ms) Completed 200 OK in 4ms (Views: 3.7ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:42 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Email Load (0.2ms) SELECT `emails`.* FROM `emails` DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (2.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.5ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 60, 'Email', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/60/edit" for 127.0.0.1 at 2013-08-22 14:59:44 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"60"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 60 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 60 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.3ms | ActiveRecord: 0.5ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 14:59:44 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Email Load (0.3ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (2.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 60  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 264  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_1 SQL (0.5ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 61, 'Email', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/61/edit" for 127.0.0.1 at 2013-08-22 14:59:46 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"61"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 61 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 61 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.4ms) Rendered emails/_form.html.erb (4.0ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.6ms) Started PATCH "/emails/61" for 127.0.0.1 at 2013-08-22 14:59:46 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"265"=>{"id"=>"265", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"61"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 61 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 61 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (265) SQL (1.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 265  (0.3ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53546/emails/61 Completed 302 Found in 8ms (ActiveRecord: 2.2ms) Started GET "/emails/61" for 127.0.0.1 at 2013-08-22 14:59:46 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"61"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 61 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 61 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 4ms (Views: 2.7ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 61  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.5ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:59:46 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.1ms) Rendered users/_form.html.erb (8.9ms) Completed 200 OK in 12ms (Views: 11.1ms | ActiveRecord: 0.0ms) User Load (0.4ms) SELECT `users`.* FROM `users`  (0.3ms) SAVEPOINT active_record_1 SQL (0.8ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.4ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 171, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/171/edit" for 127.0.0.1 at 2013-08-22 14:59:48 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"171"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 171 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 171 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 7ms (Views: 5.3ms | ActiveRecord: 0.6ms) Started GET "/db_files/266/pic.jpg" for 127.0.0.1 at 2013-08-22 14:59:49 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"266", "name"=>"pic"} DbFile Load (1.1ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 266 LIMIT 1 Sent data (1.1ms) Completed 200 OK in 3ms (Views: 0.9ms | ActiveRecord: 1.1ms) User Load (0.4ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (1.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 171  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 266  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 172, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/172/edit" for 127.0.0.1 at 2013-08-22 14:59:51 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"172"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 172 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 172 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.6ms) Completed 200 OK in 6ms (Views: 4.2ms | ActiveRecord: 0.5ms) Started GET "/db_files/267/pic.jpg" for 127.0.0.1 at 2013-08-22 14:59:51 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"267", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 267 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (2.3ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 172  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 267  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.8ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 173, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/173/edit" for 127.0.0.1 at 2013-08-22 14:59:53 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"173"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 173 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 173 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 6ms (Views: 4.2ms | ActiveRecord: 0.6ms) Started GET "/db_files/268/pic.jpg" for 127.0.0.1 at 2013-08-22 14:59:53 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"268", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 268 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (2.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 173  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 268  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.7ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 14:59:55 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.5ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 4ms (Views: 3.3ms | ActiveRecord: 0.0ms) User Load (0.3ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (1.9ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.9ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.9ms) Rendered emails/_form.html.erb (51.8ms) Rendered emails/new.html.erb within layouts/application (54.2ms) Completed 200 OK in 94ms (Views: 93.6ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"868667"=>{"key"=>"526491048"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 62, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53557/emails/62 Completed 302 Found in 22ms (ActiveRecord: 0.9ms) Started GET "/emails/62" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"62"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 62 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 62 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (3.1ms) Completed 200 OK in 6ms (Views: 3.9ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 62 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 62 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.6ms) DELETE FROM `emails` WHERE `emails`.`id` = 62  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 269  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.5ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (2.9ms) Completed 200 OK in 4ms (Views: 3.7ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 15:01:20 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"344980"=>{"key"=>"209883051"}, "331850"=>{"key"=>"663730785"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1  (0.3ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.9ms) Rendered emails/_form.html.erb (3.9ms) Completed 200 OK in 13ms (Views: 4.8ms | ActiveRecord: 0.5ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"946853900"=>{"key"=>"209883051"}, "289632785"=>{"key"=>"663730785"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (2.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 63, 'Email', 7874) SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 63, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53557/emails/63 Completed 302 Found in 12ms (ActiveRecord: 3.3ms) Started GET "/emails/63" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"63"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 63 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 63 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 63 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.8ms) DELETE FROM `emails` WHERE `emails`.`id` = 63  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 270  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 271  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.0ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 64, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/64/edit" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"64"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 64 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 64 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.6ms) Rendered emails/_form.html.erb (4.4ms) Completed 200 OK in 7ms (Views: 5.6ms | ActiveRecord: 0.7ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/64" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"272"=>{"id"=>"272", "_destroy"=>"1"}, "552762"=>{"key"=>"729502687"}}}, "commit"=>"Update Email", "id"=>"64"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 64 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 64 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (272) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 64, 'Email', 18) SQL (2.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 272  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53557/emails/64 Completed 302 Found in 15ms (ActiveRecord: 3.5ms) Started GET "/emails/64" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"64"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 64 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 64 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 64  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 273  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.3ms) SAVEPOINT active_record_1 SQL (0.9ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 65, 'Email', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/65/edit" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"65"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 65 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 65 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.2ms) Completed 200 OK in 6ms (Views: 4.8ms | ActiveRecord: 0.6ms) Started PATCH "/emails/65" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"274"=>{"id"=>"274", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"65"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 65 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 65 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (274) SQL (0.8ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 274  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53557/emails/65 Completed 302 Found in 4ms (ActiveRecord: 1.6ms) Started GET "/emails/65" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"65"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 65 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 65 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 3ms (Views: 1.5ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 65  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.6ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (8.9ms) Completed 200 OK in 11ms (Views: 11.0ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"411134352"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 174, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53557/users/174 Completed 302 Found in 8ms (ActiveRecord: 0.7ms) Started GET "/users/174" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"174"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 174 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 174 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 5ms (Views: 3.3ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (2.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.3ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 174  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 275  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 175, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/175/edit" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"175"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 175 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 175 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.9ms) Completed 200 OK in 6ms (Views: 5.0ms | ActiveRecord: 0.7ms) Started GET "/db_files/276/pic.jpg" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"276", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 276 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/175" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"276", "_destroy"=>"0", "key"=>"608860651"}}, "commit"=>"Update User", "id"=>"175"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 175 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 175 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.4ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 175 SQL (0.3ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 175 WHERE `db_files`.`id` = 276  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53557/users/175 Completed 302 Found in 8ms (ActiveRecord: 1.4ms) Started GET "/users/175" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"175"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 175 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 175 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 175 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 175 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 175  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 276  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.3ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 176, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/176/edit" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"176"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 176 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 176 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.3ms | ActiveRecord: 0.6ms) Started GET "/db_files/277/pic.jpg" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"277", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 277 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/176" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"277", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"176"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 176 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 176 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (1.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 277  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53557/users/176 Completed 302 Found in 5ms (ActiveRecord: 2.1ms) Started GET "/users/176" for 127.0.0.1 at 2013-08-22 15:01:21 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"176"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 176 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 176 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 176  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 177, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/177/edit" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"177"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 177 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 177 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.6ms) Completed 200 OK in 5ms (Views: 4.1ms | ActiveRecord: 0.6ms) Started GET "/db_files/278/pic.jpg" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"278", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 278 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/177" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"278", "_destroy"=>"1", "key"=>"420436845"}}, "commit"=>"Update User", "id"=>"177"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 177 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 177 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 278  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53557/users/177 Completed 302 Found in 6ms (ActiveRecord: 0.9ms) Started GET "/users/177" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"177"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 177 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 177 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.4ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 177  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.1ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"310866737"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.2ms) Completed 200 OK in 48ms (Views: 4.1ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/310866737/preview" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"310866737"} Sent data (0.4ms) Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"310866737"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.0ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 178, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:53557/users/178 Completed 302 Found in 7ms (ActiveRecord: 1.7ms) Started GET "/users/178" for 127.0.0.1 at 2013-08-22 15:01:22 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"178"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 178 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 178 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.9ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 178  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 279  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.2ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.0ms) Rendered emails/_form.html.erb (61.2ms) Rendered emails/new.html.erb within layouts/application (65.3ms) Completed 200 OK in 106ms (Views: 105.5ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 31ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"460918"=>{"key"=>"758284074"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 66, 'Email', 18)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54792/emails/66 Completed 302 Found in 22ms (ActiveRecord: 1.0ms) Started GET "/emails/66" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"66"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 66 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 66 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (3.2ms) Completed 200 OK in 6ms (Views: 4.1ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.3ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.3ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 66 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 66 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 66  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 280  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.0ms) Completed 200 OK in 4ms (Views: 3.8ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"646603"=>{"key"=>"290164248"}, "245292"=>{"key"=>"131584424"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.8ms) Rendered emails/_form.html.erb (3.8ms) Completed 200 OK in 13ms (Views: 4.7ms | ActiveRecord: 0.4ms) Started POST "/emails" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"695528817"=>{"key"=>"290164248"}, "975966231"=>{"key"=>"131584424"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.5ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 67, 'Email', 7874) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 67, 'Email', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54792/emails/67 Completed 302 Found in 10ms (ActiveRecord: 1.4ms) Started GET "/emails/67" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"67"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 67 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 67 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.3ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 67 AND `db_files`.`owner_type` = 'Email' Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 67  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 281  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 282  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 68, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/68/edit" for 127.0.0.1 at 2013-08-22 15:52:30 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"68"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 68 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 68 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.6ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/68" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"283"=>{"id"=>"283", "_destroy"=>"1"}, "555601"=>{"key"=>"221198710"}}}, "commit"=>"Update Email", "id"=>"68"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 68 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 68 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (283) SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 68, 'Email', 18) SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 283  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54792/emails/68 Completed 302 Found in 12ms (ActiveRecord: 1.6ms) Started GET "/emails/68" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"68"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 68 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 68 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 68  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 284  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 69, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/69/edit" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"69"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 69 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 69 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.3ms) Completed 200 OK in 6ms (Views: 4.8ms | ActiveRecord: 0.8ms) Started PATCH "/emails/69" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"285"=>{"id"=>"285", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"69"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 69 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 69 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (285) SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 285  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54792/emails/69 Completed 302 Found in 4ms (ActiveRecord: 0.9ms) Started GET "/emails/69" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"69"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 69 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 69 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 69  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.2ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (8.9ms) Completed 200 OK in 12ms (Views: 11.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"972323899"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 179, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54792/users/179 Completed 302 Found in 9ms (ActiveRecord: 0.7ms) Started GET "/users/179" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"179"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 179 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 179 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 5ms (Views: 3.5ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 179  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 286  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 180, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/180/edit" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"180"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 180 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 180 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.9ms) Completed 200 OK in 6ms (Views: 5.0ms | ActiveRecord: 0.6ms) Started GET "/db_files/287/pic.jpg" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"287", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 287 LIMIT 1 Sent data (1.3ms) Completed 200 OK in 3ms (Views: 1.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/180" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"287", "_destroy"=>"0", "key"=>"6042981"}}, "commit"=>"Update User", "id"=>"180"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 180 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 180 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 180 SQL (0.6ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 180 WHERE `db_files`.`id` = 287  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54792/users/180 Completed 302 Found in 8ms (ActiveRecord: 1.7ms) Started GET "/users/180" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"180"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 180 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 180 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 4ms (Views: 2.6ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 180 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 180 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 180  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 287  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.3ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 181, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/181/edit" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"181"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 181 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 181 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 6ms (Views: 4.3ms | ActiveRecord: 0.6ms) Started GET "/db_files/288/pic.jpg" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"288", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 288 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started PATCH "/users/181" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"288", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"181"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 181 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 181 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 288  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54792/users/181 Completed 302 Found in 4ms (ActiveRecord: 1.2ms) Started GET "/users/181" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"181"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 181 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 181 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 181  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.2ms) ROLLBACK  (0.2ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 182, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/182/edit" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"182"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 182 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 182 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 5ms (Views: 4.2ms | ActiveRecord: 0.5ms) Started GET "/db_files/289/pic.jpg" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"289", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 289 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:52:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/182" for 127.0.0.1 at 2013-08-22 15:52:32 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"289", "_destroy"=>"1", "key"=>"371627101"}}, "commit"=>"Update User", "id"=>"182"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 182 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 182 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 289  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54792/users/182 Completed 302 Found in 6ms (ActiveRecord: 1.3ms) Started GET "/users/182" for 127.0.0.1 at 2013-08-22 15:52:32 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"182"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 182 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 182 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 182  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.5ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-22 15:52:32 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.5ms) Completed 200 OK in 4ms (Views: 3.4ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-22 15:52:32 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 15:52:32 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"444868403"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.1ms) Completed 200 OK in 48ms (Views: 4.0ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/444868403/preview" for 127.0.0.1 at 2013-08-22 15:52:32 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"444868403"} Sent data (0.4ms) Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-22 15:52:32 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"444868403"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 183, 'User', 7874)  (0.0ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54792/users/183 Completed 302 Found in 6ms (ActiveRecord: 0.9ms) Started GET "/users/183" for 127.0.0.1 at 2013-08-22 15:52:32 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"183"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 183 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 183 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 183  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 290  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.3ms) ROLLBACK  (0.3ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (2.3ms) SELECT COUNT(*) FROM `emails`  (2.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.8ms) Rendered emails/_form.html.erb (69.4ms) Rendered emails/new.html.erb within layouts/application (74.9ms) Completed 200 OK in 137ms (Views: 136.5ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 18ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 8ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"978702"=>{"key"=>"752234709"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.0ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 70, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54205/emails/70 Completed 302 Found in 26ms (ActiveRecord: 1.7ms) Started GET "/emails/70" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"70"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 70 LIMIT 1 DbFile Load (3.5ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 70 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.8ms) Rendered emails/show.html.erb within layouts/application (7.8ms) Completed 200 OK in 12ms (Views: 6.1ms | ActiveRecord: 3.8ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 70 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 70 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 70  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 291  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.4ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.5ms) Rendered emails/_form.html.erb (3.3ms) Completed 200 OK in 4ms (Views: 4.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"256628"=>{"key"=>"96350591"}, "504507"=>{"key"=>"399495851"}}}, "commit"=>"Create Email"}  (0.1ms) SAVEPOINT active_record_1  (0.1ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.3ms) Rendered emails/_form.html.erb (5.5ms) Completed 200 OK in 16ms (Views: 6.6ms | ActiveRecord: 0.2ms) Started POST "/emails" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"316956681"=>{"key"=>"96350591"}, "411428488"=>{"key"=>"399495851"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.9ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 71, 'Email', 7874) SQL (1.0ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 71, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54205/emails/71 Completed 302 Found in 12ms (ActiveRecord: 2.5ms) Started GET "/emails/71" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"71"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 71 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 71 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 4ms (Views: 2.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 71 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 71  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 292  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 293  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 72, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/72/edit" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"72"} Email Load (0.2ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 72 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 72 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.7ms) Rendered emails/_form.html.erb (4.7ms) Completed 200 OK in 8ms (Views: 6.5ms | ActiveRecord: 0.5ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:47:47 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/72" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"294"=>{"id"=>"294", "_destroy"=>"1"}, "760092"=>{"key"=>"487638601"}}}, "commit"=>"Update Email", "id"=>"72"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 72 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 72 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (294) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 72, 'Email', 18) SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 294  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54205/emails/72 Completed 302 Found in 13ms (ActiveRecord: 1.2ms) Started GET "/emails/72" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"72"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 72 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 72 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.4ms) DELETE FROM `emails` WHERE `emails`.`id` = 72  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 295  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.7ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 73, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/73/edit" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"73"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 73 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 73 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.6ms) Rendered emails/_form.html.erb (4.4ms) Completed 200 OK in 6ms (Views: 5.0ms | ActiveRecord: 0.6ms) Started PATCH "/emails/73" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"296"=>{"id"=>"296", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"73"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 73 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 73 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (296) SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 296  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54205/emails/73 Completed 302 Found in 4ms (ActiveRecord: 1.0ms) Started GET "/emails/73" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"73"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 73 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 73 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 3ms (Views: 1.5ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 73  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.2ms) BEGIN ---------------------------------------- RedisFileTest: test_can_detect_file_type ----------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------- RedisFileTest: test_can_preserve_attributes -------------------------------------------  (0.0ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (2.0ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.6ms) Rendered users/_form.html.erb (11.0ms) Completed 200 OK in 14ms (Views: 14.0ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"957290136"}}, "commit"=>"Create User"}  (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 184, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54205/users/184 Completed 302 Found in 8ms (ActiveRecord: 0.7ms) Started GET "/users/184" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"184"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 184 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 184 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 6ms (Views: 4.9ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.5ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 184  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 297  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.8ms) ROLLBACK  (0.0ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 185, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/185/edit" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"185"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 185 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 185 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.3ms) Completed 200 OK in 7ms (Views: 5.9ms | ActiveRecord: 0.6ms) Started GET "/db_files/298/pic.jpg" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"298", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 298 LIMIT 1 Sent data (1.5ms) Completed 200 OK in 3ms (Views: 1.3ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/185" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"298", "_destroy"=>"0", "key"=>"143067410"}}, "commit"=>"Update User", "id"=>"185"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 185 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 185 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 185 SQL (0.5ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 185 WHERE `db_files`.`id` = 298  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54205/users/185 Completed 302 Found in 9ms (ActiveRecord: 1.5ms) Started GET "/users/185" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"185"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 185 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 185 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 185 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 185 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 185  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 298  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 186, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/186/edit" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"186"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 186 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 186 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 6ms (Views: 4.7ms | ActiveRecord: 0.6ms) Started GET "/db_files/299/pic.jpg" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"299", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 299 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/186" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"299", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"186"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 186 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 186 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 299  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54205/users/186 Completed 302 Found in 4ms (ActiveRecord: 0.9ms) Started GET "/users/186" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"186"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 186 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 186 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 186  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 187, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/187/edit" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"187"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 187 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 187 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 6ms (Views: 4.8ms | ActiveRecord: 0.4ms) Started GET "/db_files/300/pic.jpg" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"300", "name"=>"pic"} DbFile Load (0.5ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 300 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.5ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started PATCH "/users/187" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"300", "_destroy"=>"1", "key"=>"542236685"}}, "commit"=>"Update User", "id"=>"187"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 187 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 187 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 300  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54205/users/187 Completed 302 Found in 6ms (ActiveRecord: 1.3ms) Started GET "/users/187" for 127.0.0.1 at 2013-08-23 09:47:48 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"187"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 187 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 187 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 187  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.7ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-23 09:47:49 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 3ms (Views: 3.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:47:49 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-23 09:47:49 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"675066349"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1  (0.3ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 48ms (Views: 3.7ms | ActiveRecord: 0.5ms) Started GET "/file_upload/redis_files/675066349/preview" for 127.0.0.1 at 2013-08-23 09:47:49 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"675066349"} Sent data (0.4ms) Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-23 09:47:49 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"675066349"}}, "commit"=>"Create User"}  (0.3ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 188, 'User', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54205/users/188 Completed 302 Found in 6ms (ActiveRecord: 1.0ms) Started GET "/users/188" for 127.0.0.1 at 2013-08-23 09:47:49 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"188"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 188 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 188 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 188  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 301  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-23 09:48:29 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (2.9ms) Rendered emails/_form.html.erb (53.7ms) Rendered emails/new.html.erb within layouts/application (56.2ms) Completed 200 OK in 97ms (Views: 96.9ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-23 09:48:29 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-23 09:48:29 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:48:29 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:48:29 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-23 09:48:29 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"59721"=>{"key"=>"285577862"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 74, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54485/emails/74 Completed 302 Found in 22ms (ActiveRecord: 0.8ms) Started GET "/emails/74" for 127.0.0.1 at 2013-08-23 09:48:29 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"74"} Email Load (0.2ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 74 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 74 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.7ms) Rendered emails/show.html.erb within layouts/application (3.3ms) Completed 200 OK in 6ms (Views: 4.1ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 74 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 74 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (2.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 74  (0.2ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 302  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.9ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-23 09:48:29 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (2.9ms) Completed 200 OK in 4ms (Views: 3.7ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"454784"=>{"key"=>"987083157"}, "397687"=>{"key"=>"753501264"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.9ms) Rendered emails/_form.html.erb (3.9ms) Completed 200 OK in 13ms (Views: 4.7ms | ActiveRecord: 0.4ms) Started POST "/emails" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"127187140"=>{"key"=>"987083157"}, "249563985"=>{"key"=>"753501264"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 75, 'Email', 7874) SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 75, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54485/emails/75 Completed 302 Found in 10ms (ActiveRecord: 1.3ms) Started GET "/emails/75" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"75"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 75 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 75 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.7ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 75 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 75  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 303  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 304  (0.0ms) RELEASE SAVEPOINT active_record_1  (3.8ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.8ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 76, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/76/edit" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"76"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 76 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 76 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.6ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/76" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"305"=>{"id"=>"305", "_destroy"=>"1"}, "927343"=>{"key"=>"200660027"}}}, "commit"=>"Update Email", "id"=>"76"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 76 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 76 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (305) SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 76, 'Email', 18) SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 305  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54485/emails/76 Completed 302 Found in 12ms (ActiveRecord: 1.3ms) Started GET "/emails/76" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"76"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 76 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 76 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 2.2ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 76  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 306  (0.1ms) RELEASE SAVEPOINT active_record_1  (1.9ms) ROLLBACK  (0.2ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 77, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/77/edit" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"77"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 77 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 77 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.7ms) Rendered emails/_form.html.erb (4.9ms) Completed 200 OK in 7ms (Views: 5.5ms | ActiveRecord: 0.6ms) Started PATCH "/emails/77" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"307"=>{"id"=>"307", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"77"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 77 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 77 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (307) SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 307  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54485/emails/77 Completed 302 Found in 4ms (ActiveRecord: 0.9ms) Started GET "/emails/77" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"77"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 77 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 77 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 3ms (Views: 1.6ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 77  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------- RedisFileTest: test_can_detect_file_type ----------------------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------- RedisFileTest: test_can_preserve_attributes -------------------------------------------  (0.1ms) ROLLBACK  (0.0ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.3ms) Rendered users/_form.html.erb (9.2ms) Completed 200 OK in 12ms (Views: 11.4ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"801322178"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 189, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54485/users/189 Completed 302 Found in 8ms (ActiveRecord: 0.8ms) Started GET "/users/189" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"189"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 189 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 189 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.6ms) Completed 200 OK in 6ms (Views: 3.8ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 189  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 308  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 190, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/190/edit" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"190"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 190 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 190 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.9ms) Rendered users/_form.html.erb (4.4ms) Completed 200 OK in 7ms (Views: 5.7ms | ActiveRecord: 0.6ms) Started GET "/db_files/309/pic.jpg" for 127.0.0.1 at 2013-08-23 09:48:30 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"309", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 309 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/190" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"309", "_destroy"=>"0", "key"=>"158706797"}}, "commit"=>"Update User", "id"=>"190"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 190 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 190 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 190 SQL (0.4ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 190 WHERE `db_files`.`id` = 309  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54485/users/190 Completed 302 Found in 8ms (ActiveRecord: 1.5ms) Started GET "/users/190" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"190"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 190 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 190 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.6ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 190 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 190 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 190  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 309  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.5ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 191, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/191/edit" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"191"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 191 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 191 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.7ms) Completed 200 OK in 5ms (Views: 4.2ms | ActiveRecord: 0.5ms) Started GET "/db_files/310/pic.jpg" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"310", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 310 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started PATCH "/users/191" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"310", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"191"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 191 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 191 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 310  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54485/users/191 Completed 302 Found in 4ms (ActiveRecord: 1.1ms) Started GET "/users/191" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"191"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 191 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 191 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.3ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 191  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.8ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 192, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/192/edit" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"192"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 192 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 192 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.7ms) Rendered users/_form.html.erb (3.5ms) Completed 200 OK in 5ms (Views: 4.0ms | ActiveRecord: 0.6ms) Started GET "/db_files/311/pic.jpg" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"311", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 311 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/192" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"311", "_destroy"=>"1", "key"=>"660619273"}}, "commit"=>"Update User", "id"=>"192"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 192 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 192 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.4ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 311  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54485/users/192 Completed 302 Found in 6ms (ActiveRecord: 1.4ms) Started GET "/users/192" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"192"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 192 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 192 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 192  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.5ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.5ms) Rendered users/_form.html.erb (2.4ms) Completed 200 OK in 4ms (Views: 3.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"352039117"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (2.8ms) Completed 200 OK in 8ms (Views: 3.6ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/352039117/preview" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"352039117"} Sent data (0.4ms) Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"352039117"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 193, 'User', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54485/users/193 Completed 302 Found in 6ms (ActiveRecord: 1.0ms) Started GET "/users/193" for 127.0.0.1 at 2013-08-23 09:48:31 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"193"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 193 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 193 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.1ms | ActiveRecord: 0.5ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.3ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 193  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 312  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------- RedisFileTest: test_can_detect_file_type ----------------------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------- RedisFileTest: test_can_preserve_attributes -------------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------- RedisFileTest: test_can_detect_file_type ----------------------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------- RedisFileTest: test_can_preserve_attributes -------------------------------------------  (0.1ms) ROLLBACK  (0.2ms) BEGIN ---------------------------------------- RedisFileTest: test_can_detect_file_type ----------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------- RedisFileTest: test_can_preserve_attributes -------------------------------------------  (0.2ms) ROLLBACK  (0.2ms) BEGIN ---------------------------------------------------- RedisFileReadableTest: test_can_load_data_from_a_key ----------------------------------------------------  (0.1ms) ROLLBACK  (0.2ms) BEGIN -------------------------- FileUploadTest: test_truth --------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments,_then_change_on_create ----------------------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (3.1ms) Rendered emails/_form.html.erb (25.6ms) Rendered emails/new.html.erb within layouts/application (28.0ms) Completed 200 OK in 70ms (Views: 69.5ms | ActiveRecord: 0.0ms) Started GET "/assets/application.css" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Started GET "/assets/application.js" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 6ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"916928"=>{"key"=>"554794238"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (1.1ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.3ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 78, 'Email', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54951/emails/78 Completed 302 Found in 24ms (ActiveRecord: 1.7ms) Started GET "/emails/78" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"78"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 78 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 78 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.6ms) Rendered emails/show.html.erb within layouts/application (3.1ms) Completed 200 OK in 6ms (Views: 3.9ms | ActiveRecord: 0.5ms)  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.3ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.2ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 78 AND `db_files`.`owner_type` = 'Email' DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 78 AND `db_files`.`owner_type` = 'Email' ORDER BY `db_files`.`id` ASC LIMIT 1 Email Load (0.2ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 78  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 313  (0.0ms) RELEASE SAVEPOINT active_record_1  (1.0ms) ROLLBACK  (0.1ms) BEGIN --------------------------------------------------------- MultipleUploadTest: test_can_attach_attachments_on_create ---------------------------------------------------------  (0.3ms) SELECT COUNT(*) FROM `emails`  (0.2ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/new" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by EmailsController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.4ms) Rendered emails/_form.html.erb (3.0ms) Completed 200 OK in 4ms (Views: 3.9ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/emails" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"", "message"=>"", "attachments_attributes"=>{"770741"=>{"key"=>"951316528"}, "243231"=>{"key"=>"839714582"}}}, "commit"=>"Create Email"}  (0.3ms) SAVEPOINT active_record_1  (0.3ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (0.8ms) Rendered emails/_form.html.erb (3.6ms) Completed 200 OK in 13ms (Views: 4.5ms | ActiveRecord: 0.6ms) Started POST "/emails" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by EmailsController#create as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Hi there", "message"=>"What are you up to?", "attachments_attributes"=>{"203930368"=>{"key"=>"951316528"}, "156969960"=>{"key"=>"839714582"}}}, "commit"=>"Create Email"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.3ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('What are you up to?', 'Hi there') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 79, 'Email', 7874) SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 79, 'Email', 7874)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54951/emails/79 Completed 302 Found in 10ms (ActiveRecord: 1.3ms) Started GET "/emails/79" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"79"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 79 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 79 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.4ms) Completed 200 OK in 3ms (Views: 2.2ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.3ms) SELECT COUNT(*) FROM `db_files` Email Load (0.2ms) SELECT `emails`.* FROM `emails` ORDER BY `emails`.`id` DESC LIMIT 1  (0.4ms) SELECT COUNT(*) FROM `db_files` WHERE `db_files`.`owner_id` = 79 AND `db_files`.`owner_type` = 'Email' Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `emails` WHERE `emails`.`id` = 79  (0.1ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 314  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 315  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.5ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_change_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 80, 'Email', 112)  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/80/edit" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"80"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 80 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 80 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.5ms) Rendered emails/_form.html.erb (4.2ms) Completed 200 OK in 7ms (Views: 5.4ms | ActiveRecord: 0.7ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 5ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/emails/80" for 127.0.0.1 at 2013-08-23 09:57:14 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"316"=>{"id"=>"316", "_destroy"=>"1"}, "839386"=>{"key"=>"978938841"}}}, "commit"=>"Update Email", "id"=>"80"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 80 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 80 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (316) SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 80, 'Email', 18) SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 316  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54951/emails/80 Completed 302 Found in 44ms (ActiveRecord: 1.4ms) Started GET "/emails/80" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"80"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 80 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 80 AND `db_files`.`owner_type` = 'Email' Rendered db_files/_db_file.html.erb (0.3ms) Completed 200 OK in 3ms (Views: 1.9ms | ActiveRecord: 0.5ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 80  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 317  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.7ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- MultipleUploadTest: test_can_remove_attachments -----------------------------------------------  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `emails` (`message`, `subject`) VALUES ('Fixture email message', 'Fixture email subject') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 81, 'Email', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/emails/81/edit" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by EmailsController#edit as HTML Parameters: {"id"=>"81"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 81 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 81 AND `db_files`.`owner_type` = 'Email' Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_multiple.html.erb (1.3ms) Rendered emails/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.4ms | ActiveRecord: 0.6ms) Started PATCH "/emails/81" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by EmailsController#update as HTML Parameters: {"utf8"=>"✓", "email"=>{"subject"=>"Fixture email subject", "message"=>"Fixture email message", "attachments_attributes"=>{"318"=>{"id"=>"318", "_destroy"=>"1"}}}, "commit"=>"Update Email", "id"=>"81"} Email Load (0.3ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 81 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 81 AND `db_files`.`owner_type` = 'Email' AND `db_files`.`id` IN (318) SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 318  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54951/emails/81 Completed 302 Found in 4ms (ActiveRecord: 1.0ms) Started GET "/emails/81" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by EmailsController#show as HTML Parameters: {"id"=>"81"} Email Load (0.4ms) SELECT `emails`.* FROM `emails` WHERE `emails`.`id` = 81 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 81 AND `db_files`.`owner_type` = 'Email' Rendered collection (0.0ms) Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `emails`  (0.1ms) SELECT COUNT(*) FROM `db_files` Email Load (0.1ms) SELECT `emails`.* FROM `emails`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `emails` WHERE `emails`.`id` = 81  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.5ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------------- RedisFileReadableTest: test_can_load_data_from_a_key ----------------------------------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------- RedisFileTest: test_can_detect_file_type ----------------------------------------  (0.1ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------- RedisFileTest: test_can_preserve_attributes -------------------------------------------  (0.2ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------ SingleUploadTest: test_can_change_file_on_create ------------------------------------------------  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (1.2ms) Rendered users/_form.html.erb (8.5ms) Completed 200 OK in 11ms (Views: 10.6ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="test_upload.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"test_upload.txt\"\r\nContent-Type: text/plain\r\n">}]} Completed 200 OK in 4ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"68265580"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.2ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('text/plain', x'536f6d652075706c6f616420746578742121', 'test_upload.txt', 194, 'User', 18)  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54951/users/194 Completed 302 Found in 10ms (ActiveRecord: 0.7ms) Started GET "/users/194" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"194"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 194 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 194 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.5ms) Completed 200 OK in 5ms (Views: 3.4ms | ActiveRecord: 0.6ms)  (0.2ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 194  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 319  (0.1ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_change_file_on_edit ----------------------------------------------  (0.2ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 195, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/195/edit" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"195"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 195 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 195 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.9ms | ActiveRecord: 0.6ms) Started GET "/db_files/320/pic.jpg" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"320", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 320 LIMIT 1 Sent data (0.8ms) Completed 200 OK in 2ms (Views: 0.7ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 4ms (Views: 0.3ms | ActiveRecord: 0.0ms) Started PATCH "/users/195" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob2", "avatar_attributes"=>{"id"=>"320", "_destroy"=>"0", "key"=>"798950416"}}, "commit"=>"Update User", "id"=>"195"} User Load (0.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 195 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 195 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.3ms) UPDATE `users` SET `name` = 'Bob2' WHERE `users`.`id` = 195 SQL (0.4ms) UPDATE `db_files` SET `data` = x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', `name` = 'avatar.jpeg', `size` = 7874, `owner_id` = 195 WHERE `db_files`.`id` = 320  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54951/users/195 Completed 302 Found in 9ms (ActiveRecord: 1.8ms) Started GET "/users/195" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"195"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 195 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 195 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.7ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.3ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 195 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 195 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 User Load (0.2ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 195  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 320  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.5ms) ROLLBACK  (0.1ms) BEGIN ---------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit ----------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 196, 'User', 112)  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/196/edit" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"196"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 196 LIMIT 1 DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 196 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (4.1ms) Completed 200 OK in 6ms (Views: 4.6ms | ActiveRecord: 0.7ms) Started GET "/db_files/321/pic.jpg" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"321", "name"=>"pic"} DbFile Load (0.4ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 321 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.4ms) Started PATCH "/users/196" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"321", "_destroy"=>"1"}}, "commit"=>"Update User", "id"=>"196"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 196 LIMIT 1  (0.2ms) SAVEPOINT active_record_1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 196 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 321  (0.1ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54951/users/196 Completed 302 Found in 4ms (ActiveRecord: 1.1ms) Started GET "/users/196" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"196"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 196 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 196 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.2ms | ActiveRecord: 0.5ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.2ms) SELECT COUNT(*) FROM `db_files` User Load (0.2ms) SELECT `users`.* FROM `users`  (0.3ms) SAVEPOINT active_record_1 SQL (0.4ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.2ms) RELEASE SAVEPOINT active_record_1  (0.2ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 196  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.6ms) ROLLBACK  (0.1ms) BEGIN ------------------------------------------------------------- SingleUploadTest: test_can_remove_file_on_edit_after_changing -------------------------------------------------------------  (0.1ms) SAVEPOINT active_record_1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) INSERT INTO `users` (`name`) VALUES ('Bob') SQL (0.1ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'626c6168', 'pic.jpg', 197, 'User', 112)  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/197/edit" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#edit as HTML Parameters: {"id"=>"197"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 197 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 197 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.8ms) Completed 200 OK in 6ms (Views: 4.3ms | ActiveRecord: 0.6ms) Started GET "/db_files/322/pic.jpg" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by DbFilesController#show as JPEG Parameters: {"id"=>"322", "name"=>"pic"} DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`id` = 322 LIMIT 1 Sent data (0.2ms) Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.3ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started PATCH "/users/197" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#update as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"Bob", "avatar_attributes"=>{"id"=>"322", "_destroy"=>"1", "key"=>"870645830"}}, "commit"=>"Update User", "id"=>"197"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 197 LIMIT 1  (0.1ms) SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 197 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 SQL (0.4ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 322  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54951/users/197 Completed 302 Found in 5ms (ActiveRecord: 1.1ms) Started GET "/users/197" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"197"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 197 LIMIT 1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 197 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Completed 200 OK in 2ms (Views: 1.4ms | ActiveRecord: 0.5ms)  (0.4ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 197  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.2ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK  (0.1ms) BEGIN ----------------------------------------------- SingleUploadTest: test_can_upload_a_single_file -----------------------------------------------  (0.2ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` Started GET "/users/new" for 127.0.0.1 at 2013-08-23 09:57:15 -0700 Processing by UsersController#new as HTML Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.4ms) Rendered users/_form.html.erb (2.3ms) Completed 200 OK in 3ms (Views: 3.1ms | ActiveRecord: 0.0ms) Started POST "/file_upload/redis_files/bulk" for 127.0.0.1 at 2013-08-23 09:57:16 -0700 Processing by FileUpload::RedisFilesController#bulk as JSON Parameters: {"redis_files"=>[{"data"=>#, @original_filename="avatar.jpeg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"redis_files[][data]\"; filename=\"avatar.jpeg\"\r\nContent-Type: image/jpeg\r\n">}]} Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-23 09:57:16 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"533554748"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1  (0.2ms) ROLLBACK TO SAVEPOINT active_record_1 Rendered /Users/jching/code/file_upload/app/views/file_upload/tags/_single.html.erb (0.8ms) Rendered users/_form.html.erb (3.0ms) Completed 200 OK in 9ms (Views: 3.8ms | ActiveRecord: 0.4ms) Started GET "/file_upload/redis_files/533554748/preview" for 127.0.0.1 at 2013-08-23 09:57:16 -0700 Processing by FileUpload::RedisFilesController#preview as */* Parameters: {"id"=>"533554748"} Sent data (0.5ms) Completed 200 OK in 3ms (Views: 0.4ms | ActiveRecord: 0.0ms) Started POST "/users" for 127.0.0.1 at 2013-08-23 09:57:16 -0700 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "user"=>{"name"=>"John Smith", "avatar_attributes"=>{"_destroy"=>"0", "key"=>"533554748"}}, "commit"=>"Create User"}  (0.2ms) SAVEPOINT active_record_1 SQL (0.2ms) INSERT INTO `users` (`name`) VALUES ('John Smith') SQL (0.4ms) INSERT INTO `db_files` (`content_type`, `data`, `name`, `owner_id`, `owner_type`, `size`) VALUES ('image/jpeg', x'ffd8ffe000104a46494600010100000100010000fffe003e43524541544f523a2067642d6a7065672076312e3020287573696e6720494a47204a50454720763632292c2064656661756c74207175616c6974790affdb004300080606070605080707070909080a0c140d0c0b0b0c1912130f141d1a1f1e1d1a1c1c20242e2720222c231c1c2837292c30313434341f27393d38323c2e333432ffdb0043010909090c0b0c180d0d1832211c213232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232ffc000110800c800c803012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00eaf7b7a9a37b7a9a6e0515ec1f1e3b7b7a9a37b7a9a651400fded9ea6b375cd720d0b4c92f2e1f85e1133cb9ec2af1654566638551927dabca756d49bc4daebcd926c2d1b6c487a337ad635aa7223b7078775676e84225bdd5b513aaea2ede630fdcc59e235abde6c9d4c8df4a67f9c515e7377773e892515643fce93fbed49e749ff3d1a9b585adebeb63982df0d71dcf65a4336e7bf4b65ccd72107bb73595378baca32424d2b91e99ae1a7b99ae642f348ce49cfcc735150076ade35881e2298ffc0aae5b789a19eca5b96692358c8054b7527ffd55e7d4b920119383da803d1ac35f835190470ccfe6633b4d68f9d273fbc6ebd8d7975addcd67299617daf8c6eadad0b5f7b79cc374ecf1c87ef31c906803b7f364ff009e8d479d27f7da98082320e41e41a2801b70a6e6068a52cc87dfa5697847c453e95789a1ea12b3db37fc7accc7a7fb26b3f1556fed7ed76a429c48bf346c3a8615709b8cae655e9aa90e567afef6fef1a37b7a9ae73c1dad1d67424798ff00a4c07c99b3ea3bd743818af4e32e65747cc56a6e94ac3b7b7a9a37b7a9a6e050455198e2edea68a6628a005cd14525002d1e9cfd6928c71ee687b02dce57c7bab3d86802de06db3deb8853d71dcd721676eb6b6b1c29fc0393efdeaef8c27fb7f8da0b6e4c767096c7a3363fc2a1fa0fc2bcdc44b9a563e97034b929217d69f1c134aa5a389dc0ea5578addf0d7875b5694cf382b6a87e858fa57a35bdb5bdac4b1c31222018c0515c552b28e87a94b0ee4aecf07d6b513a6d9b1c6266f95411823debcfa47691cbb31663d49ef5f4ceafe1dd235873f6db08a4ed9c60fe62b96bbf84fa05c12d03dd5b9f457057f514471117b8e5859743c328af5ab8f83519e60d60afb3c39fe445616b3f0b754d320492de65bccb60844c10304e7a9f4ad15583d9993a135d0e0a8ae8f48f056b1acdc2470db98d181fde4830a315d543f072f891e76a70a7aed8cb7f514dce2ba895293e879960d3803e86bd86d3e0ed82e0ddea53c9ebe5a84fe79ae8ac3e1e786f4f20ad8f9ec3a34cdbbf4e0566ebc11aac34d9e77e1217ba9d8f90903caf19c02076adcbbb1bab1936dcc2f1923f8857a8585bc16384b6863850f511a851fa55ebab2b6bd80c57112c88debd7f3ac9623535784d0f19a2b7bc45e1d93479fcd8f2d6ae70ac7f84fa1ac1fd2baa3252d51c728b8bb333e2bbb8d0fc41692e9f71e5bddc816489b9461ea73debd8909d8b9db9c73b7a578d6b8917f679764064dc0467bab64735eaba0db4969a159432c8d248b10dccc72493cff5aedc2b678b9a412499a3452515d878e2d14945002d14514009477cd2d276343d8715768f24925fb4f8af5ab83ff3d1517db02b42cad5af6fa1b64eb2b81c7a564e9ff35e6a6e7a9ba7fe75da7822d84dae348c3fd4c6587d781fd6bc6ad2b26cfafc3c6fca8f40b2b58ec6ce3b68800883f3352cadb6227da9c6abddb602ad798db7b9ed25cba22a76a2969314218518cf1f9d1466801a91a46bb51428f4518a752d140ad61319eb477a5c8a4ef40056844e1a253542ac5a39f994fe145862dfd9c7a8594b6d2a828ebc03eb5e4575035a5dcb6eff007a372a6bd9f1ebcd799f8ced841e207603025457fe9fd2ba30d2d6c71e2a2adcc71baeae7499987542187e75eb1a5bf9ba4da3e73ba14fe42bcb3554dda5dcaffb3fd6bd1fc2b279de16d3a4f5847e848af5b0bb9f379a2bc51af4b494b5dc788145145001452f6a4a0028c518a3f1a1ec38ee78e69e3fd375353daedff9d773e07bc82df5396295823cc98427b9cf4ae31a3fb3789f5bb7ec26561f8826b634ed36f2f5de4b58e46112972c839e3b0f7af1ababa68fafc34adcacf5eeff004e4fb5509a559252558301e9cd7916b1e2bbdb726e353ba9c48576c5651b15dcbfed7a0fe75ca1f1d6ba9701ed6e5ada15fb9045c22fe15c4a85d687a4ebd8fa1323d68fcebc8f47f8b971132c7ab5a8953bc91707f2af46d1bc49a4eb918361791bbf78f3871f854ba5289a42ac646b66969bfca945677e86a2d0292992c8214dc7d7140324c8a29808750c3a119acfd435ed2b4a04dedfdbc047f0bb8c9fa0eb4d26f644b925d4d2fc69d13149431e0f715e7da8fc59d1edb22ce29ae9fd71b57f5a82c3e2a5b5fc66130476d75c6df39be46f6cf63ee6b4f652ec67eda17b5cf5aed9eded5e67e31d461bfd61440432c09b0c83a31c9e2badb0d72c75bb1168b7020bc94143131c48847ff5b1f515c46bba05ce8afe64986b7278973c73ebef57423696a65889de36460df7363383fdc3fcabbaf03927c1ba6e7fe799fe66b80d52411e9970f9fe1fe75e8fe14b736be16d3e16182221fa9cff005af5b0bf11f3b99b4a9a360d14b45771e0a128a0d1400b4628cd25002d267d315c7f8d35dbdb69ecf46d29b17d7871b87555f51fad66278435840d369be3079f508c92f0994904fa75ae5a98a8c25ca7a587cba7561cc8c7f18c77169e31befb2b2acb3db2ca33df0715a3f09757d7ef3539acfcc1269f182d31719287b6df7fe99ae1bc5fab5f6a57f126a50186fedd0c32f18ddcf07f5af42f81e98b5d5dbfdb887e8d5e7579269b47d060e128da32e87a5dd68da65cef926b480bb72ce54673eb5cc5d43650a48b2084c23ab3018c576926df2db72ee18e9eb5e3baeb6a17be235b0b3b4481e57c25c5f7dc5ff743700fd057153bb76b9e9d4e58abd876a1a5f83af8b167b789cf789f1cfe15847c0d1bc9e7687ac23b29c804f20fd456d6b1e0bfec79655d635cbbd42636e65b716b2e14bff779cfe9557c29e19bed56f1a2fb6c61845e62a5db6e1f404f2a7dc574edd4e67696b627b1f1278bfc38045aa59c97d6abc193a903fdeff1af44d1b56875bd2e3bf815d15f3f2b751838fe95996b2e43412aec9e1c2c885b7e0fd7b8f7adeb488456e140e4f35854699d34d35d49bd3a62b8ef1a6bda9d8cd0d8e9360f73330dcefb4909e9fe7dabb11c8aab7f1978830eaa6b38bb3b9a4d36ac792cb61e39d5d764d72d044dd5448107e42a97fc20d6b03e354d7208d8f5553cfeb5e9372925fc9fd996c2233ca3e669a4d888b9e49f5fa77ae075fd06eb4cd5e6b737d34d044ea1beca4203cf2540aea8cae8e49435b172c7c21e1262105e0b97ff00aed8cfe556eebe1be8d70a0db34b01f50fb87eb45b781f51be92fa4f0eeb4d25b5b6dc5bea0e3f79919c73c7e952785b509a4ba92d6e6d67b69633b191726127db3d3f0e28973257b843924ecd1a5a5fc37be844721d551fca00dbb81f32f3d0fb0aadf17f4fbe6d1ac75196f498e22b1496e0e14b9c9dc2bd23495db649f2904f5cd715f190e3c1b181dee53f91ac69cdb99ad4a69536792c5717f36812fda79854aec66eac33d2bdb3c337cd7fe1fb49e480c1f2050a7d071915e05617f71f68b6565374a8f98e17e416edc57a72f8575abbb74bbd77c50da6bbe0c56e1ca84fc335e9d3aca9bbb3c3c46165885ca8f46a5ae17c2bab6a7a7f8825f0d6b3706e240be65bcec73bd7af5efc66bb9f4aefa7514d5d1f3f88a12a13e56068a0d15a1cec2968a28297c47976bb71237c46d4241f7ac74f2d1fb1daa78ffbe8d695fd9691a678774c9e11245ab98566866b74264762013bbd464e39a8e6b58ffe16f4905c0223d46cfcb07eaa07fecb5dc5bdb5be89a4c6b3ca196ce3dbe748064015e1e29daa58fb4cbd7ee134797f8b9ed35bd1b4bf1249004bc8ae16dafa3c63777048fa035eb3e1bd0b4bd1ad1a5d2edbc95bc54919439619c7b9e3ad792eb774ba94daa986d6482cf528bceb7321e5e488f2c076054b57a87806ff00fb43c17a7cccdb9d63d8e7dc56156fc9a1d749253d4d3d5ef6e2c6dc4f0a44d12732b392703d80ea698eb61ac593b4912b3018757032a7d08ad462bb7e6e95cf6a5a69b8bb6bab3b87b4b86c65946564c7f787f935cd13a64ae654fe11d31dcb2d8db9f6dbb7f95412f87f4ab48d9e5d3ad0281cb3c6a6afb5bf8848dbf6eb223fbde4367ff42a22d00cb209b52bb92ed81c84036c63f0ea7f135a26d7526c9e962968763e75e1bab7852dac5784548c2998faf1daba81d38a4501142a80aa060003000a5a86eeee52560a46008c1ef4a28ef415a9cc6b7a6a4374b7cf6e9716c4625568c3347fed0fe5f8d449e1fd2af635922b0b6653c868d42ff2aead86411c73eb58d3681b2533e9b74f66e79298dd19fc3b7e18aa52e8438d9dca917852c9015fb145b4f243fcc3f235af6b69656010cc1026711c417193d80154841e225f97edb638eccd0313ff00a1d59b1d2da1b94bbbeba7bbb84e549f9514fb2ff5a1ebd44959e88d2d1b509f518e4768512df27ca65ebd48daca7a11d0d52f16f8622f15e9d1d9cf70d0449289199472703ffaf5bc8b185ca22ae4e4e075354b5cbb163a1dedc938f2e1639f438e2941fbda0e6bdc773c63c29a7e95a4eb5aeeaad1b4d6da49f2edc49fc721240fa9e3f5ae8bc3b1e9de219aea4d6a3927d5a64662b7319c471f4c20e9dc735c968d712a69ba7c5f666ba125c3ea1751a9c33a8c2afebb8e2bd7acee6d35ad396f2d1c62442ab201864c8e47b74e9ed5d3391cb46373cb6395a2f10f862e8925cbcb6dbb3cb2a9c0cffdf55eb838278eb5e73ade9d15a78e3c2da2c0c5fecaad2b31ea727767ff001daf46ebc9eb5eae09de07cce73a54480f4a2838ed45761e33dc5c0a4a00a5a06707f1022974fbdd2bc450025ace50af8feef5fea6a4f17789adf51d38dac68d1a4c61995c9e25898f38fa1e08aeb751b08753d3e7b3b850d1cabb7e95e4efa7342b2f84b5797ca7473269d76dc28cf5527fba71f9d7998ba2b9b98fa4caf177a7c8ceb349d3a0d6b59d58ce415b3845bdaa7640ea72d8f7e956fe11dc11a46a3a71cffa25d1ebef9ffe26b020975ad2755b392d746bc37ab1882e6338f2a641d183e7fa55ff0086934d078d75eb2b887c891d3ce68b706da430ee3afdeae092f75a3db8bf791e9b7648418e87ad50593748576918ef5a53aee84fe759ae858a90c5403923d6b9123b36050fbdb7818ed4b1bef049040f7a431b1915b7f03b524aa5e2641d698991c7796f25d35bacaa6651b8c60f2076ab1c75ae2da5bbd0bc457739b39265bc8d161914642b28c6d3e99f5a834cf1ddfcbaa0b1d4f42b9b625b6ee5cb007f2abf66f7447b4b3d4eec1a33cfebd6b36e7568edada59bca91fcb04ed51926b94b1f1cead7b7ec5f4592d74f405a4b89b2a107af4fd05254db2a53b6e7710dd433c92c714aacf11dae07f09f4a591d63192a4fd2b03c37bef351d4755581e1b6ba28230e305cae72d8ec39ae8ff0a528d814ae46ece36ed5073d734af208f1bb3cf42284561216272a7b522ab82dbc82bdb8a5619a168c5908ec2b91f8a57e6cfc1d343193e65d4ab0819ec7ff00d5fad763026c887a9af2ef8a37335df89f44d26de1370ebfbff2436dde49c019edf76ae92bc8ceb3b46c4779a4c7a0e85e1ebe83e5bc8d920703fe5a2be49047b126a7f0deb76fa5ea17d648865596f898d10e36285cbb1f402a9ea17bacea3ae442fb42bd416e9fe8d6f06d65de78dccf9c0f4ac37b59b4c12e8b64de76bba9362e991b70b68c9c94cfa938c91d857528f368724ea7b35cc743e1b76f1278f752f10329fb3c03c9809fcbfc6bd038accf0fe8d0e85a4436510c951976fef37735a6062bd9a10e4858f8fc757f6d51c838a283456c71d83a52d14940c3bd63788bc3967e22b2f22e176c8bcc720ea86b67347e54a514d59954ea4a9cb9a079ed96bde22f061fecfd5ec27d4ac14e229e239603d3ff00d754bc2daf2dcfc5a176b6d35ac57d1347b6618278cffeca2bd34a86182a08f43c8ae17e205a4b632699e21b5886fb09c19020c6573dff0097e35e7d5c25a2da3dfc1e6929cd4267aab025483c6462b3586091e953e95a941ab69d05f5b3878a540dc532742ae4f63c835e2dacec7d4a69aba22a31c5150dc5ddbdac664b8992241fc4e70290325da0f51903a6690a29392a0fd7d2b2dfc4fa347d751b6ffbf82a06f17e8dd16ed1ff00dc6cd68a12239e0b73684518fe01f88a1a28de3d8d1a943fc24706b1478aac587c91dcc9fee42c7f90a51e230dfeaf4dd49fd96ce43ffb2d1ece62f6b4d6ecdb0aa802a8c28ec38a5c83d3f95647f6aea263328f0feaa2300b191ed9d140f525800299a1eb73eb46493ec2d05b2fca8eec32e7daa5c1adc71a9196c6d53e14df200699d2adda47852c473da91a16315e25adebf2c7f14eef5286c64be82c82c3b631f746393f9eeaf5fd6b538b48d1ee6fe670891464e4fae3fc6bcf7e1c58c8da65eeaf709897509da4e7fbb9ff001cd75e128f3c8f3331c52c3c0af79e31d7bc469f60f0f691716a24e24b99fe52b9eb8addf0bf84edfc3d134aefe7dfcbccb39e4fb815d085080aaa8033d852f5af5e8e1a34b53e631598d4aeadd02968a2ba4f384345068a005a4a5a280128a0d14000a8aeada2bcb596da650f14aa5594f7152d1c7d3de876b598d49a69a3ceac2fafbe1a6b06dee43cfa05c3128c39f289ef5ead69776ba9d9a5c5b4ab34120055d7907fc2b1af6cedb50b57b6ba856585c6195c647e15c1be93af7816e9ef7c3eed75a7124c968d9200ef5e4e2b057f7a07d3e5f9ac5fb950f4e9a1319cf553d0d53bdb2b7d42d9adeea25922618208efeb59fe1cf1d691e248c45e60b7bce8d6f29f9bf0f5ade96031f2bca76af29c5c1d99efa9426b4664e993dd78713ecc74f8753d3d47c9f2013463f1ea055eff0084c74f1f734ad409fee8b4618fd292452cbf2b6d35977daa4d618578a47623236296ff00f556f0acd18cf0c9eb734cf8c493fbaf0fdfb7d630bfce90f8a358907ee741283a8f3a75c7e40d735078927b967516f292a7808bbc8fafa56b46b73718dc5f0464e4f4aa75d911c2c7b962fae759f11a2c5ab491dbd92f5b5b663fbdff0079bd3daad468b0a2c71a055518000c0c5362411a85193ef566187cd3927e5efc573ce6e4ce98d38c058202e773703dea7bbbcb7d3ed1ee6ea548618c72cc7005737e24f1de93e1b431193ed1778c2dbc4d96fc7d2b8b4d2b5ef1ddd2deebb23da69b9cc76a9950c3e9fd4d6b470d2a8ce6c4e369d05ab1753d4af3e24eb1f63b30f16856cf97948c79a47735dfdb5b47676d15b44a1638d42a81d80a659595be9f6b1dadac4b1c518c2aa8edfd6ac57bb4282a4ac7c7e37192c4cafd03b9a2968ae83842928a5eb400879a28228a005a29052d00252f6a293bf3405c4a5aa9a8ea569a55a3dd5e4a228d7b93d7dab873e31f117892e9ed7c2ba3bc83fe7ab2ee23dfd07eb513ab186e74d0c254abb23d0e8ae20784fe2f480309a0527b1d9c7fe3b4bff088fc5e1cf9f07e69ff00c4561f594762cb26ba99daff008760f13fc40b0d174b892daedbe7b9b88971b475cf1edcd567f1678a7c09e23b9f0fea0dfda91db3151e6292cc9d4107af4f5cd75ff07ede7d33c79aed86baa3fb77606f318e7233938e9f5ae9fe2a780e7d7a1875cd186cd6acc7cb8ff96aa3b7d6b86a72cdec7b5439a9452b9cb697f10341d570a66fb1cc7ac53f18f6cf7ae9e3649d3746cb22ff00b2720d7965a7f60f89375aeab60967aac7f2c89feace7b91d33f8d4e3c19a869c77e8baf5ddba8e446c495fd0e3f4ae49538ec7a50ab268f4d11ede02e3d80a476545cb90abdcb715e71bbe2326234d6add97a64a2647e6b50cde18d7f5305f5bf114e62fe248fe507fa7e950a92ee5fb46ba1d66b1e38d0b470cb2dd09a61d2287926b8ff00f84cbc49e38d76dbc3fa221d363b870a59465d57bb31f61cf18acf6b5d1f4fba5d37c3b60754d5e43b159bf78149ee7b7e95eddf0d3e1e8f0a5ac9a8ea2c27d6aec7ef9f39118feead6f0a5148e4ab5a4f4b9e4da4f86a1f097c45b9d235844ba9ca6fb5b9947de279c8f7feb5e8fd870001d00ae53e2269fa9f8e7e2ba693a13c515c69b6e0b4ec71b4f5e48f43c537fe1557c4a03fe43b6fff007f8ff8577d2aca0ad63c6c5e0e55a57b9d6d2d721ff0aabe257fd076dffeff001ff0aa1a8e8ff12bc131fdaae95352b21cc9e5fce17ebc023f0ad962a3d51c6f2c9a5a33bea5ae7bc35e2bb1f125b9f2f30dd27df858f20fb7b57415d106a4ae8f3ea53953769852d1455198868a0d1400b45149400536491224691c80aa0b1fa0eb4eae77c737cd61e12bd7462aeea23523dcf3fa54cdda2d9a51873cd44e7346d22efe2c78d258e491e2d0ec0e642bfc5cf007b9c7e0057d0da4e93a6e8362b67a75ac76f122fdd41cb63b93dcd719f057468b4cf8776b701409af99a791bb9e4a81fa7eb5d8c7219350b8e72162207e62bcb6dc9dd9f5118a845451341a924f38882119cf3533491dc7ca920dcac38cd63e9dff002108ff00e05fc8d34646a63071fbcedf5a760523ce3c7b37fc22ff0016343f1301b2de6616d72c3b8e849ff80d7b3e011b873ef5e65f15f46fed9f0cea288333c0be745eb95e71f8d745f0e35f1e22f016977aefba558445364ff1a7ca4fe62a5ab149dc83c61f0e3c39e2957b8bd84dadd28ddf6c818230c773d8d78ac572de17d5ad65b4d79b5ad05ee5ed6591e3c79720c70739f515dd7c41f185e788f563e0af0b39691be5bebb5fbb18feee6b4eff00e1f69e3e15ff00605aa032a31916603e6330eadf8f4a9942e8b8d471922bdedc5b5969d35ec810c5126fc8ee319ff0af3dd034d5f1b5edb3ebfe2a974f86fa5716d631a6d3228ff6ba0ebdc1acb1acea3e22d3b4ef072abadefda0c172dfec2e3ffaff0090af5bd4fe1c69dad78622d3edcfd9af34f8835a5ca7055c7f304ff9e2b3a54797566d5ebf33491d8f85bc0fa0f84e129a5d92ab91f34eff00348df53fe15bb793c363653dd4cdb22851a476f400649fd2bcc3e1efc43b95bdff008453c563ecfabc5f2c33b901671d87d7f9d6a7c63d75b49f87b79144dfbfbfc5ac7b7beee187fdf39ad6c61b9cc7c239a4bb9f5cf144f1e6eb52b96087b05079fd6bd7ee2fa2b7e1c9dd8e82b85f0b68bff08ff876c34d20078a25f331fde3c9fd6ba5d578bcfc055f2ea67cccd29b51481636652448b9153c6d1dd439c6e460460d635f8fdc5aff00d73157ec1f65a5b81fc44ff3349ad013d4f10f8afe0b3e12d4e0f17e80be4c2640b750a8f954fafd0f20d6f693a8c5ab6976f7d0fdd990363d0f715e8fe2dd2e3d67c2baa58488184b6ed807fbc0647ea2bc27e175d3b68f7b6129fde5acf83ed9c8fe6b5be1a76958e1cc68a953e63bceb451dcd2d779e08868a0d1400b499a334b9a004ae3fe267fc89d2ffd745feb5d8571ff00133fe44e97febaaff5acea7c2ce8c27f1627abfc32ff00926da19ffa77ff00d98d69597fc7edd7fb87f98acdf865ff0024d742ff00af7ffd98d69da0c5fdcffb87f9d79a8fa5915f4eff0090847ff02fe4693fe6243feba7f5a5d37fe4211ffc0bf91a4ff9890ffae9fd6b4ea66c4d4903ddca8c010dc735e156d75e27f0ceafadf8074284833dd978e527fd544dd0fe2b8af77d43fe3f9ea3d42c2d22d4daf120417334603c98e580181cd4b574877e5398d33c28be09f0bc1fd9b67f6fd4a5f9ee642e15a463d793daa2d5bc43aacfe1a92c64d0355b09653b12e63114aaa4ff00bae4fe95da5e83f63b53eddaa0bd8e59bc38f1412f9333e51641fc27079a1ec3bea784f82a4ff8473c43a9787afa311eb77841835344f3ca8ea415078cfafe75ddc32f87b4ad525fed6d6b54d4350807110865701bfdd45feb58ff0008ed6dadf51f145aea316fd76da552d71272cf1927a7a7233f88af64b3d36011191546f95392546695c6f56799dfe83a6fc49b797c9b6bcb1beb61badeee6b768886ea3ae091c571b149e26f11f8e7c39e15f1243bbfb32e44ad20e93aa9c827f018cfbd7bedae9d25b5cab16565008cf7159b15a443598a66857cf56daaf8e402690d3b0fbb18bd71db762a5d5bfe3f0fd054579ff1fd27fbd52eadff001fa7e82afaa23a316fff00d4daff00d731562d8e2d6cff00df3fccd57bff00f536bff5cc54f07169667fdb3fd69741adcd5750c0a9e41af9a3c027caf17f896dd7ee0b8638ff0081b7f8d7d306be67f038c78ebc4dff005d9fff004334e87c68cb17fc191e8b4b483a52d7a67cc8868a0d140094b9a28a00322b8ef8967fe28e97febaaff5a28acea7c2ce8c27f163ea7acfc32ff926da1ffd7bff00ecc6b52df8d42ebfdc3fd28a2bcd47d24ba1574dff0090847ff02fe46907fc8497feba0fe74515a752186a1ff1feff00854baa7fc7c27fb9451496c0cbc96d0dcdadb8933c2f029b7d1456fa7140bc67e5fad145475346b43c83c083fb4fe2a78bf538b8b78638e06fa9207fed335ecd15dc263658db7796b923da8a28115edf516b9ba11840abcd67c2c5b52462727cd1fce8a2a84ddc6deffc7f49fef9a9b55ff8fd3f414514faa27a316fff00d4daff00d73153427fd0ecff00df3fccd1452e852dcd735f33f823fe47af131ffa6cff00fa19a28a743e332c5ff0647a2f6a3228a2bd33e6409a28a2803fffd9', 'avatar.jpeg', 198, 'User', 7874)  (0.2ms) RELEASE SAVEPOINT active_record_1 Redirected to http://127.0.0.1:54951/users/198 Completed 302 Found in 6ms (ActiveRecord: 1.0ms) Started GET "/users/198" for 127.0.0.1 at 2013-08-23 09:57:16 -0700 Processing by UsersController#show as HTML Parameters: {"id"=>"198"} User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 198 LIMIT 1 DbFile Load (0.3ms) SELECT `db_files`.* FROM `db_files` WHERE `db_files`.`owner_id` = 198 AND `db_files`.`owner_type` = 'User' ORDER BY `db_files`.`id` ASC LIMIT 1 Rendered db_files/_db_file.html.erb (0.2ms) Completed 200 OK in 3ms (Views: 2.0ms | ActiveRecord: 0.5ms)  (0.3ms) SELECT COUNT(*) FROM `users`  (0.1ms) SELECT COUNT(*) FROM `db_files` DbFile Load (0.1ms) SELECT `db_files`.* FROM `db_files` ORDER BY `db_files`.`id` DESC LIMIT 1 User Load (0.1ms) SELECT `users`.* FROM `users`  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 5  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 7  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `users` WHERE `users`.`id` = 198  (0.0ms) RELEASE SAVEPOINT active_record_1 DbFile Load (0.2ms) SELECT `db_files`.* FROM `db_files`  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 1  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 2  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 3  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 4  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 5  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 6  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.1ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 7  (0.1ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 8  (0.0ms) RELEASE SAVEPOINT active_record_1  (0.0ms) SAVEPOINT active_record_1 SQL (0.1ms) DELETE FROM `db_files` WHERE `db_files`.`id` = 323  (0.0ms) RELEASE SAVEPOINT active_record_1  (2.4ms) ROLLBACK