large_text_field 0.3.0.pre.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 479e6ecfbc9e04331d4125757afaa4593bb1a2c5
4
- data.tar.gz: 211060974d69f5dcdd47089f9bfe987ef6727397
3
+ metadata.gz: 6010501e761311db4b6507c8febf54b0083266a8
4
+ data.tar.gz: f1c2a0f18581ee5d3081d893cb0f42f8f5af3e16
5
5
  SHA512:
6
- metadata.gz: 912f8ae3d15de150bb0ba3d6f43838f4d905c1d8171af95991ae07d7aad1c91f6e615bc45416b0f510af3c30b247cfbd2de216037c94a312d4624fdfecb4a0f9
7
- data.tar.gz: 3bcc58e429e0614ed9fc5349d5c8aa3d8954e8b49abfa9a3f7b382d642ae74199e6ac4ffed4dca68cdc8d60247fcbf146762e253391a23eb561d52c2d3e63668
6
+ metadata.gz: f506086fd9b28f7844a2503472a825b3abc87abe95b442c0d75834d194419788dabc426304fce3a5384ed7fc5ef04761629b225fa66d951056f39c5ded8213e0
7
+ data.tar.gz: ca215d286f0eaf66fd50a82b2065ee63ce08223d6f931eb35101ca895b66897f57228ef19040f51df9bc43d9866d7ba2a46a9c721bef0fb1e8ab95a17beeca24
data/Rakefile CHANGED
@@ -26,8 +26,6 @@ end
26
26
  APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
27
27
  load 'rails/tasks/engine.rake'
28
28
 
29
- Bundler::GemHelper.install_tasks
30
-
31
29
  require 'rake/testtask'
32
30
  require 'rubocop/rake_task'
33
31
 
@@ -1,3 +1,3 @@
1
1
  module LargeTextField
2
- VERSION = "0.3.0.pre.1"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -4231,3 +4231,805 @@ LargeTextField::LibraryTest: test_: LargeTextField::Library should be able to co
4231
4231
  LargeTextField::LibraryTest: test_: LargeTextField::Library should be able to dup a class that has no current large text field.
4232
4232
  --------------------------------------------------------------------------------------------------------------------------------
4233
4233
   (0.1ms) rollback transaction
4234
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
4235
+  (0.1ms) begin transaction
4236
+ ------------------------------
4237
+ LargeTextFieldTest: test_truth
4238
+ ------------------------------
4239
+  (0.0ms) rollback transaction
4240
+  (0.0ms) begin transaction
4241
+ ---------------------------------------------------------------------------------------------------
4242
+ LargeTextField::LibraryTest: test_: LargeTextField::Library should be able to construct a library.
4243
+ ---------------------------------------------------------------------------------------------------
4244
+  (0.0ms) SAVEPOINT active_record_1
4245
+ SQL (0.5ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Alexandria Public Library"]]
4246
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4247
+  (0.1ms) SAVEPOINT active_record_1
4248
+ SQL (0.2ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", " The Royal Library of Alexandria or Ancient Library of Alexandria in Alexandria, Egypt, was one of the\n largest and most significant libraries of the ancient world. It was dedicated to the Muses, the nine\n goddesses of the arts.[1] It flourished under the patronage of the Ptolemaic dynasty and functioned\n as a major center of scholarship from its construction in the 3rd century BCE until the Roman conquest\n of Egypt in 30 BCE, with collections of works, lecture halls, meeting rooms, and gardens. The library\n was part of a larger research institution called the Musaeum of Alexandria, where many of the most\n famous thinkers of the ancient world studied.\n\n The library was created by Ptolemy I Soter, who was a Macedonian general and the successor of Alexander\n the Great.[2] Most of the books were kept as papyrus scrolls. It is unknown how many such scrolls were\n housed at any given time.\n\n The library is famous for having been burned down, resulting in the loss of many scrolls and books; its\n destruction has become a symbol for the loss of cultural knowledge. A few sources differ on who is\n responsible for the destruction and when it occurred. There is mythology regarding this main burning\n but the library may in truth have suffered several fires or other acts of destruction over many years.\n Possible occasions for the partial or complete destruction of the Library of Alexandria include a fire\n set by Julius Caesar in 48 BCE and an attack by Aurelian in the CE 270s.\n\n After the main library was fully destroyed, ancient scholars used a \"daughter library\" in a temple known\n as the Serapeum, located in another part of the city. According to Socrates of Constantinople, Coptic Pope\n Theophilus destroyed the Serapeum in AD 391, although it's not certain that it still contained an offshoot\n of the library then.\n"]]
4249
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4250
+ Library Load (0.1ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4251
+ LargeTextField::NamedTextValue Load (0.1ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4252
+  (0.8ms) rollback transaction
4253
+  (0.0ms) begin transaction
4254
+ --------------------------------------------------------------------------------------------------------------------------------
4255
+ LargeTextField::LibraryTest: test_: LargeTextField::Library should be able to dup a class that has no current large text field.
4256
+ --------------------------------------------------------------------------------------------------------------------------------
4257
+  (0.0ms) rollback transaction
4258
+  (0.0ms) begin transaction
4259
+ ----------------------------------------------------------------------------------------------------------
4260
+ LargeTextField::OwnerTest: test_: a large text field should allow a custom maximum length to be provided.
4261
+ ----------------------------------------------------------------------------------------------------------
4262
+  (0.0ms) SAVEPOINT active_record_1
4263
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4264
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4265
+  (0.8ms) rollback transaction
4266
+  (0.0ms) begin transaction
4267
+ ---------------------------------------------------------------------------------------------------
4268
+ LargeTextField::OwnerTest: test_: a large text field should allow for concurrent sets and deletes.
4269
+ ---------------------------------------------------------------------------------------------------
4270
+  (0.0ms) SAVEPOINT active_record_1
4271
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4272
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4273
+  (0.0ms) SAVEPOINT active_record_1
4274
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4275
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "catalog"], ["value", "second"]]
4276
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4277
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4278
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4279
+  (0.0ms) SAVEPOINT active_record_1
4280
+ SQL (0.1ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 2]]
4281
+ SQL (0.0ms) UPDATE "large_text_fields" SET "value" = ? WHERE "large_text_fields"."id" = ? [["value", "third"], ["id", 1]]
4282
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4283
+  (0.8ms) rollback transaction
4284
+  (0.0ms) begin transaction
4285
+ ------------------------------------------------------------------------------------------------------
4286
+ LargeTextField::OwnerTest: test_: a large text field should allow get and set with saves and deletes.
4287
+ ------------------------------------------------------------------------------------------------------
4288
+  (0.0ms) SAVEPOINT active_record_1
4289
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4290
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4291
+  (0.0ms) SAVEPOINT active_record_1
4292
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger "]]
4293
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4294
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4295
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4296
+  (0.0ms) SAVEPOINT active_record_1
4297
+ SQL (0.0ms) UPDATE "large_text_fields" SET "value" = ? WHERE "large_text_fields"."id" = ? [["value", "mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom "], ["id", 1]]
4298
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4299
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4300
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4301
+  (0.0ms) SAVEPOINT active_record_1
4302
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 1]]
4303
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4304
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4305
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4306
+  (0.7ms) rollback transaction
4307
+  (0.1ms) begin transaction
4308
+ ----------------------------------------------------------------------------------------
4309
+ LargeTextField::OwnerTest: test_: a large text field should be able to be eager loaded.
4310
+ ----------------------------------------------------------------------------------------
4311
+  (0.0ms) SAVEPOINT active_record_1
4312
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4313
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4314
+  (0.0ms) SAVEPOINT active_record_1
4315
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4316
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "catalog"], ["value", "second"]]
4317
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4318
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4319
+ LargeTextField::NamedTextValue Load (0.1ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_type" = 'Library' AND "large_text_fields"."owner_id" IN (1)
4320
+  (0.8ms) rollback transaction
4321
+  (0.0ms) begin transaction
4322
+ ----------------------------------------------------------------------------------------------
4323
+ LargeTextField::OwnerTest: test_: a large text field should be able to update deleted fields.
4324
+ ----------------------------------------------------------------------------------------------
4325
+  (0.0ms) SAVEPOINT active_record_1
4326
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4327
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4328
+  (0.1ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4329
+  (0.0ms) SAVEPOINT active_record_1
4330
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4331
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4332
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4333
+  (0.0ms) SAVEPOINT active_record_1
4334
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 1]]
4335
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4336
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4337
+  (0.1ms) SAVEPOINT active_record_1
4338
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4339
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4340
+  (0.7ms) rollback transaction
4341
+  (0.0ms) begin transaction
4342
+ ---------------------------------------------------------------------------------------------------
4343
+ LargeTextField::OwnerTest: test_: a large text field should be cloned with the rest of the record.
4344
+ ---------------------------------------------------------------------------------------------------
4345
+  (0.0ms) SAVEPOINT active_record_1
4346
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4347
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4348
+  (0.0ms) SAVEPOINT active_record_1
4349
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4350
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "catalog"], ["value", "second"]]
4351
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4352
+  (0.0ms) SAVEPOINT active_record_1
4353
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4354
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "description"], ["value", "first"], ["owner_id", 2]]
4355
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "catalog"], ["value", "second"], ["owner_id", 2]]
4356
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4357
+  (0.0ms) SAVEPOINT active_record_1
4358
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4359
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4360
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4361
+  (0.0ms) SAVEPOINT active_record_1
4362
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 3]]
4363
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 4]]
4364
+ SQL (0.0ms) DELETE FROM "libraries" WHERE "libraries"."id" = ? [["id", 2]]
4365
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4366
+ LargeTextField::NamedTextValue Load (0.1ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."id" = ? LIMIT 1 [["id", 3]]
4367
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."id" = ? LIMIT 1 [["id", 4]]
4368
+  (0.7ms) rollback transaction
4369
+  (0.0ms) begin transaction
4370
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------
4371
+ LargeTextField::OwnerTest: test_: a large text field should declare the association when it is first described and other meta data when it is first defined.
4372
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------
4373
+  (0.0ms) SAVEPOINT active_record_1
4374
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4375
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4376
+  (0.8ms) rollback transaction
4377
+  (0.0ms) begin transaction
4378
+ ------------------------------------------------------------------------------------------------------
4379
+ LargeTextField::OwnerTest: test_: a large text field should delete fields when they are set to blank.
4380
+ ------------------------------------------------------------------------------------------------------
4381
+  (0.0ms) SAVEPOINT active_record_1
4382
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4383
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4384
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4385
+  (0.0ms) SAVEPOINT active_record_1
4386
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4387
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4388
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4389
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4390
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4391
+  (0.0ms) SAVEPOINT active_record_1
4392
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 1]]
4393
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4394
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4395
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4396
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4397
+  (0.8ms) rollback transaction
4398
+  (0.0ms) begin transaction
4399
+ ------------------------------------------------------------------------------------------------------------------
4400
+ LargeTextField::OwnerTest: test_: a large text field should delete large text fields when the owner is destroyed.
4401
+ ------------------------------------------------------------------------------------------------------------------
4402
+  (0.0ms) SAVEPOINT active_record_1
4403
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4404
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4405
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields"
4406
+  (0.0ms) SAVEPOINT active_record_1
4407
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Cambridge University Library"]]
4408
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "description"], ["value", "in england"], ["owner_id", 2]]
4409
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4410
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields"
4411
+  (0.0ms) SAVEPOINT active_record_1
4412
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 1]]
4413
+ SQL (0.0ms) DELETE FROM "libraries" WHERE "libraries"."id" = ? [["id", 2]]
4414
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4415
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields"
4416
+  (0.6ms) rollback transaction
4417
+  (0.0ms) begin transaction
4418
+ --------------------------------------------------------------------------------------------------------------------
4419
+ LargeTextField::OwnerTest: test_: a large text field should detect changes when @text_field_hash hash is/not empty.
4420
+ --------------------------------------------------------------------------------------------------------------------
4421
+  (0.0ms) SAVEPOINT active_record_1
4422
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4423
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4424
+  (0.0ms) SAVEPOINT active_record_1
4425
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4426
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "description"], ["value", "a new note"], ["owner_id", 2]]
4427
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4428
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 2]]
4429
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4430
+  (0.6ms) rollback transaction
4431
+  (0.0ms) begin transaction
4432
+ --------------------------------------------------------------------------------------------------------
4433
+ LargeTextField::OwnerTest: test_: a large text field should forget about changes if they are not saved.
4434
+ --------------------------------------------------------------------------------------------------------
4435
+  (0.0ms) SAVEPOINT active_record_1
4436
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4437
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4438
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4439
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4440
+  (0.0ms) SAVEPOINT active_record_1
4441
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4442
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4443
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4444
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4445
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4446
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4447
+  (0.6ms) rollback transaction
4448
+  (0.0ms) begin transaction
4449
+ ---------------------------------------------------------------------------------------------------
4450
+ LargeTextField::OwnerTest: test_: a large text field should not save fields that are set to blank.
4451
+ ---------------------------------------------------------------------------------------------------
4452
+  (0.0ms) SAVEPOINT active_record_1
4453
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4454
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4455
+  (0.0ms) SAVEPOINT active_record_1
4456
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Millie"]]
4457
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "description"], ["value", "first"], ["owner_id", 2]]
4458
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4459
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 2]]
4460
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4461
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4462
+  (0.6ms) rollback transaction
4463
+  (0.0ms) begin transaction
4464
+ -------------------------------------------------------------------------------------------------------
4465
+ LargeTextField::OwnerTest: test_: a large text field should only validate_large_text_fields if loaded.
4466
+ -------------------------------------------------------------------------------------------------------
4467
+  (0.0ms) SAVEPOINT active_record_1
4468
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4469
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4470
+  (0.7ms) rollback transaction
4471
+  (0.0ms) begin transaction
4472
+ -----------------------------------------------------------------------------------------------------------------------------------------------
4473
+ LargeTextField::OwnerTest: test_: a large text field should prevent a custom maximum length to be provided that is not in the allowable range.
4474
+ -----------------------------------------------------------------------------------------------------------------------------------------------
4475
+  (0.0ms) SAVEPOINT active_record_1
4476
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4477
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4478
+  (0.7ms) rollback transaction
4479
+  (0.0ms) begin transaction
4480
+ -----------------------------------------------------------------------------------------------------------------------
4481
+ LargeTextField::OwnerTest: test_: a large text field should prevent a non-Integer to be provided for a custom maximum.
4482
+ -----------------------------------------------------------------------------------------------------------------------
4483
+  (0.0ms) SAVEPOINT active_record_1
4484
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4485
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4486
+  (0.7ms) rollback transaction
4487
+  (0.0ms) begin transaction
4488
+ ------------------------------------------------------------------------------
4489
+ LargeTextField::OwnerTest: test_: a large text field should read from a file.
4490
+ ------------------------------------------------------------------------------
4491
+  (0.0ms) SAVEPOINT active_record_1
4492
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4493
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4494
+  (0.0ms) SAVEPOINT active_record_1
4495
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4496
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4497
+  (0.0ms) SAVEPOINT active_record_1
4498
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 2], ["owner_type", "Library"], ["field_name", "description"], ["value", "this is a string from the file"]]
4499
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4500
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 2]]
4501
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4502
+  (0.7ms) rollback transaction
4503
+  (0.1ms) begin transaction
4504
+ ------------------------------------------------------------------------------------------------------------------
4505
+ LargeTextField::OwnerTest: test_: a large text field should reload changes when they come from a different model.
4506
+ ------------------------------------------------------------------------------------------------------------------
4507
+  (0.0ms) SAVEPOINT active_record_1
4508
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4509
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4510
+  (0.0ms) SAVEPOINT active_record_1
4511
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Cambridge University Library"]]
4512
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "description"], ["value", "in england"], ["owner_id", 2]]
4513
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4514
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 2]]
4515
+  (0.0ms) SAVEPOINT active_record_1
4516
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4517
+ SQL (0.0ms) UPDATE "large_text_fields" SET "value" = ? WHERE "large_text_fields"."id" = ? [["value", "The main research library of the University of Cambridge in England"], ["id", 1]]
4518
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4519
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 2]]
4520
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4521
+  (0.7ms) rollback transaction
4522
+  (0.0ms) begin transaction
4523
+ -------------------------------------------------------------------------------------------------
4524
+ LargeTextField::OwnerTest: test_: a large text field should singularize the errors if requested.
4525
+ -------------------------------------------------------------------------------------------------
4526
+  (0.0ms) SAVEPOINT active_record_1
4527
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4528
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4529
+  (0.8ms) rollback transaction
4530
+  (0.0ms) begin transaction
4531
+ ------------------------------------------------------------------------------------------------------------
4532
+ LargeTextField::OwnerTest: test_: a large text field should support strings or symbols for get/set methods.
4533
+ ------------------------------------------------------------------------------------------------------------
4534
+  (0.0ms) SAVEPOINT active_record_1
4535
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4536
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4537
+  (0.9ms) rollback transaction
4538
+  (0.0ms) begin transaction
4539
+ -----------------------------------------------------------------------------------------
4540
+ LargeTextField::OwnerTest: test_: a large text field should validate the maximum length.
4541
+ -----------------------------------------------------------------------------------------
4542
+  (0.0ms) SAVEPOINT active_record_1
4543
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4544
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4545
+  (0.8ms) rollback transaction
4546
+  (0.0ms) begin transaction
4547
+ ----------------------------------------------------------------------------------------------------------------
4548
+ LargeTextField::OwnerTest: test_: updating in large_text_field_save hook should be able to assign empty string.
4549
+ ----------------------------------------------------------------------------------------------------------------
4550
+  (0.0ms) SAVEPOINT active_record_1
4551
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4552
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4553
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4554
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4555
+  (0.7ms) rollback transaction
4556
+  (0.0ms) begin transaction
4557
+ --------------------------------------------------------------------------------------------------------------------
4558
+ LargeTextField::OwnerTest: test_: updating in large_text_field_save hook should be able to assign non empty string.
4559
+ --------------------------------------------------------------------------------------------------------------------
4560
+  (0.0ms) SAVEPOINT active_record_1
4561
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4562
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "notes"], ["value", "this is some text"], ["owner_id", 1]]
4563
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4564
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4565
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4566
+  (0.7ms) rollback transaction
4567
+  (0.0ms) begin transaction
4568
+ -----------------------------------------------------------------------------------------------------------------
4569
+ LargeTextField::OwnerTest: test_: updating in large_text_field_save hook should raise error on saving nil value.
4570
+ -----------------------------------------------------------------------------------------------------------------
4571
+  (0.0ms) SAVEPOINT active_record_1
4572
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
4573
+  (0.0ms) rollback transaction
4574
+  (0.0ms) begin transaction
4575
+ --------------------------------------------------------------------------------------------------
4576
+ LargeTextField::NamedTextValueTest: test_: LargeTextField::NamedTextValue should belong to owner.
4577
+ --------------------------------------------------------------------------------------------------
4578
+  (0.0ms) rollback transaction
4579
+  (0.0ms) begin transaction
4580
+ -----------------------------------------------------------------------------------------------------------------------
4581
+ LargeTextField::NamedTextValueTest: test_: LargeTextField::NamedTextValue should have field name and value attributes.
4582
+ -----------------------------------------------------------------------------------------------------------------------
4583
+  (0.0ms) SAVEPOINT active_record_1
4584
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4585
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "notes"], ["value", "none_set"], ["owner_id", 1]]
4586
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4587
+  (0.0ms) SAVEPOINT active_record_1
4588
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "puppy"], ["value", "Millie"], ["owner_id", 1], ["owner_type", "Library"]]
4589
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4590
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."id" = ? LIMIT 1 [["id", 2]]
4591
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4592
+  (0.6ms) rollback transaction
4593
+  (0.0ms) begin transaction
4594
+ --------------------------------------------------------------------------------------------------------------------------
4595
+ LargeTextField::NamedTextValueTest: test_: LargeTextField::NamedTextValue should use large_text_fields as the table name.
4596
+ --------------------------------------------------------------------------------------------------------------------------
4597
+  (0.0ms) rollback transaction
4598
+  (0.0ms) begin transaction
4599
+ -------------------------------------------------------------------------------------------------------
4600
+ LargeTextField::NamedTextValueTest: test_: unique index should allow different owners and field names.
4601
+ -------------------------------------------------------------------------------------------------------
4602
+  (0.0ms) SAVEPOINT active_record_1
4603
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4604
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "notes"], ["value", "none_set"], ["owner_id", 1]]
4605
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4606
+  (0.0ms) SAVEPOINT active_record_1
4607
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Alexandria"]]
4608
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "notes"], ["value", "none_set"], ["owner_id", 2]]
4609
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4610
+  (0.0ms) SAVEPOINT active_record_1
4611
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "puppy"], ["value", "Millie"], ["owner_id", 1], ["owner_type", "Library"]]
4612
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4613
+  (0.1ms) SAVEPOINT active_record_1
4614
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "dog"], ["value", "Wiki"], ["owner_id", 1], ["owner_type", "Library"]]
4615
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4616
+  (0.0ms) SAVEPOINT active_record_1
4617
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "puppy"], ["value", "Millie"], ["owner_id", 2], ["owner_type", "Library"]]
4618
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4619
+  (0.8ms) rollback transaction
4620
+  (0.0ms) begin transaction
4621
+ ------------------------------------------------------------------------------------------------------------------------------------
4622
+ LargeTextField::NamedTextValueTest: test_: unique index should raise a unique constraint failure on the same owner, and field name.
4623
+ ------------------------------------------------------------------------------------------------------------------------------------
4624
+  (0.0ms) SAVEPOINT active_record_1
4625
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4626
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "notes"], ["value", "none_set"], ["owner_id", 1]]
4627
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4628
+  (0.0ms) SAVEPOINT active_record_1
4629
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "puppy"], ["value", "Millie"], ["owner_id", 1], ["owner_type", "Library"]]
4630
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4631
+  (0.0ms) SAVEPOINT active_record_1
4632
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "puppy"], ["value", "Wiki"], ["owner_id", 1], ["owner_type", "Library"]]
4633
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
4634
+  (0.6ms) rollback transaction
4635
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
4636
+  (0.1ms) begin transaction
4637
+ ---------------------------------------------------------------------------------------------------
4638
+ LargeTextField::LibraryTest: test_: LargeTextField::Library should be able to construct a library.
4639
+ ---------------------------------------------------------------------------------------------------
4640
+  (0.1ms) SAVEPOINT active_record_1
4641
+ SQL (0.5ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Alexandria Public Library"]]
4642
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4643
+  (0.1ms) SAVEPOINT active_record_1
4644
+ SQL (0.2ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", " The Royal Library of Alexandria or Ancient Library of Alexandria in Alexandria, Egypt, was one of the\n largest and most significant libraries of the ancient world. It was dedicated to the Muses, the nine\n goddesses of the arts.[1] It flourished under the patronage of the Ptolemaic dynasty and functioned\n as a major center of scholarship from its construction in the 3rd century BCE until the Roman conquest\n of Egypt in 30 BCE, with collections of works, lecture halls, meeting rooms, and gardens. The library\n was part of a larger research institution called the Musaeum of Alexandria, where many of the most\n famous thinkers of the ancient world studied.\n\n The library was created by Ptolemy I Soter, who was a Macedonian general and the successor of Alexander\n the Great.[2] Most of the books were kept as papyrus scrolls. It is unknown how many such scrolls were\n housed at any given time.\n\n The library is famous for having been burned down, resulting in the loss of many scrolls and books; its\n destruction has become a symbol for the loss of cultural knowledge. A few sources differ on who is\n responsible for the destruction and when it occurred. There is mythology regarding this main burning\n but the library may in truth have suffered several fires or other acts of destruction over many years.\n Possible occasions for the partial or complete destruction of the Library of Alexandria include a fire\n set by Julius Caesar in 48 BCE and an attack by Aurelian in the CE 270s.\n\n After the main library was fully destroyed, ancient scholars used a \"daughter library\" in a temple known\n as the Serapeum, located in another part of the city. According to Socrates of Constantinople, Coptic Pope\n Theophilus destroyed the Serapeum in AD 391, although it's not certain that it still contained an offshoot\n of the library then.\n"]]
4645
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4646
+ Library Load (0.1ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4647
+ LargeTextField::NamedTextValue Load (0.1ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4648
+  (1.1ms) rollback transaction
4649
+  (0.0ms) begin transaction
4650
+ --------------------------------------------------------------------------------------------------------------------------------
4651
+ LargeTextField::LibraryTest: test_: LargeTextField::Library should be able to dup a class that has no current large text field.
4652
+ --------------------------------------------------------------------------------------------------------------------------------
4653
+  (0.0ms) rollback transaction
4654
+  (0.0ms) begin transaction
4655
+ ----------------------------------------------------------------------------------------------------------
4656
+ LargeTextField::OwnerTest: test_: a large text field should allow a custom maximum length to be provided.
4657
+ ----------------------------------------------------------------------------------------------------------
4658
+  (0.0ms) SAVEPOINT active_record_1
4659
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4660
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4661
+  (0.8ms) rollback transaction
4662
+  (0.0ms) begin transaction
4663
+ ---------------------------------------------------------------------------------------------------
4664
+ LargeTextField::OwnerTest: test_: a large text field should allow for concurrent sets and deletes.
4665
+ ---------------------------------------------------------------------------------------------------
4666
+  (0.0ms) SAVEPOINT active_record_1
4667
+ SQL (0.4ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4668
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4669
+  (0.0ms) SAVEPOINT active_record_1
4670
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4671
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "catalog"], ["value", "second"]]
4672
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4673
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4674
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4675
+  (0.0ms) SAVEPOINT active_record_1
4676
+ SQL (0.1ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 2]]
4677
+ SQL (0.1ms) UPDATE "large_text_fields" SET "value" = ? WHERE "large_text_fields"."id" = ? [["value", "third"], ["id", 1]]
4678
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4679
+  (0.8ms) rollback transaction
4680
+  (0.0ms) begin transaction
4681
+ ------------------------------------------------------------------------------------------------------
4682
+ LargeTextField::OwnerTest: test_: a large text field should allow get and set with saves and deletes.
4683
+ ------------------------------------------------------------------------------------------------------
4684
+  (0.0ms) SAVEPOINT active_record_1
4685
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4686
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4687
+  (0.0ms) SAVEPOINT active_record_1
4688
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger badger "]]
4689
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4690
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4691
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4692
+  (0.0ms) SAVEPOINT active_record_1
4693
+ SQL (0.0ms) UPDATE "large_text_fields" SET "value" = ? WHERE "large_text_fields"."id" = ? [["value", "mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom mushroom "], ["id", 1]]
4694
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4695
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4696
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4697
+  (0.0ms) SAVEPOINT active_record_1
4698
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 1]]
4699
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4700
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4701
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4702
+  (0.8ms) rollback transaction
4703
+  (0.0ms) begin transaction
4704
+ ----------------------------------------------------------------------------------------
4705
+ LargeTextField::OwnerTest: test_: a large text field should be able to be eager loaded.
4706
+ ----------------------------------------------------------------------------------------
4707
+  (0.0ms) SAVEPOINT active_record_1
4708
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4709
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4710
+  (0.0ms) SAVEPOINT active_record_1
4711
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4712
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "catalog"], ["value", "second"]]
4713
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4714
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4715
+ LargeTextField::NamedTextValue Load (0.1ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_type" = 'Library' AND "large_text_fields"."owner_id" IN (1)
4716
+  (0.9ms) rollback transaction
4717
+  (0.0ms) begin transaction
4718
+ ----------------------------------------------------------------------------------------------
4719
+ LargeTextField::OwnerTest: test_: a large text field should be able to update deleted fields.
4720
+ ----------------------------------------------------------------------------------------------
4721
+  (0.0ms) SAVEPOINT active_record_1
4722
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4723
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4724
+  (0.1ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4725
+  (0.0ms) SAVEPOINT active_record_1
4726
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4727
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4728
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4729
+  (0.0ms) SAVEPOINT active_record_1
4730
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 1]]
4731
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4732
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4733
+  (0.0ms) SAVEPOINT active_record_1
4734
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4735
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4736
+  (0.8ms) rollback transaction
4737
+  (0.0ms) begin transaction
4738
+ ---------------------------------------------------------------------------------------------------
4739
+ LargeTextField::OwnerTest: test_: a large text field should be cloned with the rest of the record.
4740
+ ---------------------------------------------------------------------------------------------------
4741
+  (0.0ms) SAVEPOINT active_record_1
4742
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4743
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4744
+  (0.0ms) SAVEPOINT active_record_1
4745
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4746
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "catalog"], ["value", "second"]]
4747
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4748
+  (0.0ms) SAVEPOINT active_record_1
4749
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4750
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "description"], ["value", "first"], ["owner_id", 2]]
4751
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "catalog"], ["value", "second"], ["owner_id", 2]]
4752
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4753
+  (0.0ms) SAVEPOINT active_record_1
4754
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4755
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4756
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4757
+  (0.0ms) SAVEPOINT active_record_1
4758
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 3]]
4759
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 4]]
4760
+ SQL (0.0ms) DELETE FROM "libraries" WHERE "libraries"."id" = ? [["id", 2]]
4761
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4762
+ LargeTextField::NamedTextValue Load (0.1ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."id" = ? LIMIT 1 [["id", 3]]
4763
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."id" = ? LIMIT 1 [["id", 4]]
4764
+  (0.8ms) rollback transaction
4765
+  (0.0ms) begin transaction
4766
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------
4767
+ LargeTextField::OwnerTest: test_: a large text field should declare the association when it is first described and other meta data when it is first defined.
4768
+ -------------------------------------------------------------------------------------------------------------------------------------------------------------
4769
+  (0.0ms) SAVEPOINT active_record_1
4770
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4771
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4772
+  (0.9ms) rollback transaction
4773
+  (0.0ms) begin transaction
4774
+ ------------------------------------------------------------------------------------------------------
4775
+ LargeTextField::OwnerTest: test_: a large text field should delete fields when they are set to blank.
4776
+ ------------------------------------------------------------------------------------------------------
4777
+  (0.0ms) SAVEPOINT active_record_1
4778
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4779
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4780
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4781
+  (0.0ms) SAVEPOINT active_record_1
4782
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4783
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4784
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4785
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4786
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4787
+  (0.0ms) SAVEPOINT active_record_1
4788
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 1]]
4789
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4790
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4791
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4792
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4793
+  (0.8ms) rollback transaction
4794
+  (0.0ms) begin transaction
4795
+ ------------------------------------------------------------------------------------------------------------------
4796
+ LargeTextField::OwnerTest: test_: a large text field should delete large text fields when the owner is destroyed.
4797
+ ------------------------------------------------------------------------------------------------------------------
4798
+  (0.0ms) SAVEPOINT active_record_1
4799
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4800
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4801
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields"
4802
+  (0.0ms) SAVEPOINT active_record_1
4803
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Cambridge University Library"]]
4804
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "description"], ["value", "in england"], ["owner_id", 2]]
4805
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4806
+  (0.1ms) SELECT COUNT(*) FROM "large_text_fields"
4807
+  (0.0ms) SAVEPOINT active_record_1
4808
+ SQL (0.0ms) DELETE FROM "large_text_fields" WHERE "large_text_fields"."id" = ? [["id", 1]]
4809
+ SQL (0.0ms) DELETE FROM "libraries" WHERE "libraries"."id" = ? [["id", 2]]
4810
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4811
+  (0.1ms) SELECT COUNT(*) FROM "large_text_fields"
4812
+  (0.8ms) rollback transaction
4813
+  (0.0ms) begin transaction
4814
+ --------------------------------------------------------------------------------------------------------------------
4815
+ LargeTextField::OwnerTest: test_: a large text field should detect changes when @text_field_hash hash is/not empty.
4816
+ --------------------------------------------------------------------------------------------------------------------
4817
+  (0.0ms) SAVEPOINT active_record_1
4818
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4819
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4820
+  (0.0ms) SAVEPOINT active_record_1
4821
+ SQL (0.1ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4822
+ SQL (0.2ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "description"], ["value", "a new note"], ["owner_id", 2]]
4823
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4824
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 2]]
4825
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4826
+  (0.7ms) rollback transaction
4827
+  (0.1ms) begin transaction
4828
+ --------------------------------------------------------------------------------------------------------
4829
+ LargeTextField::OwnerTest: test_: a large text field should forget about changes if they are not saved.
4830
+ --------------------------------------------------------------------------------------------------------
4831
+  (0.0ms) SAVEPOINT active_record_1
4832
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4833
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4834
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4835
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4836
+  (0.0ms) SAVEPOINT active_record_1
4837
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 1], ["owner_type", "Library"], ["field_name", "description"], ["value", "first"]]
4838
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4839
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4840
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4841
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4842
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4843
+  (0.8ms) rollback transaction
4844
+  (0.1ms) begin transaction
4845
+ ---------------------------------------------------------------------------------------------------
4846
+ LargeTextField::OwnerTest: test_: a large text field should not save fields that are set to blank.
4847
+ ---------------------------------------------------------------------------------------------------
4848
+  (0.0ms) SAVEPOINT active_record_1
4849
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4850
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4851
+  (0.0ms) SAVEPOINT active_record_1
4852
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Millie"]]
4853
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "description"], ["value", "first"], ["owner_id", 2]]
4854
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4855
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 2]]
4856
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4857
+  (0.0ms) SELECT COUNT(*) FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4858
+  (0.8ms) rollback transaction
4859
+  (0.0ms) begin transaction
4860
+ -------------------------------------------------------------------------------------------------------
4861
+ LargeTextField::OwnerTest: test_: a large text field should only validate_large_text_fields if loaded.
4862
+ -------------------------------------------------------------------------------------------------------
4863
+  (0.0ms) SAVEPOINT active_record_1
4864
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4865
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4866
+  (0.8ms) rollback transaction
4867
+  (0.0ms) begin transaction
4868
+ -----------------------------------------------------------------------------------------------------------------------------------------------
4869
+ LargeTextField::OwnerTest: test_: a large text field should prevent a custom maximum length to be provided that is not in the allowable range.
4870
+ -----------------------------------------------------------------------------------------------------------------------------------------------
4871
+  (0.0ms) SAVEPOINT active_record_1
4872
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4873
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4874
+  (0.8ms) rollback transaction
4875
+  (0.0ms) begin transaction
4876
+ -----------------------------------------------------------------------------------------------------------------------
4877
+ LargeTextField::OwnerTest: test_: a large text field should prevent a non-Integer to be provided for a custom maximum.
4878
+ -----------------------------------------------------------------------------------------------------------------------
4879
+  (0.0ms) SAVEPOINT active_record_1
4880
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4881
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4882
+  (0.8ms) rollback transaction
4883
+  (0.0ms) begin transaction
4884
+ ------------------------------------------------------------------------------
4885
+ LargeTextField::OwnerTest: test_: a large text field should read from a file.
4886
+ ------------------------------------------------------------------------------
4887
+  (0.0ms) SAVEPOINT active_record_1
4888
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4889
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4890
+  (0.0ms) SAVEPOINT active_record_1
4891
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4892
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4893
+  (0.0ms) SAVEPOINT active_record_1
4894
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_id", "owner_type", "field_name", "value") VALUES (?, ?, ?, ?) [["owner_id", 2], ["owner_type", "Library"], ["field_name", "description"], ["value", "this is a string from the file"]]
4895
+  (0.1ms) RELEASE SAVEPOINT active_record_1
4896
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 2]]
4897
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4898
+  (0.8ms) rollback transaction
4899
+  (0.0ms) begin transaction
4900
+ ------------------------------------------------------------------------------------------------------------------
4901
+ LargeTextField::OwnerTest: test_: a large text field should reload changes when they come from a different model.
4902
+ ------------------------------------------------------------------------------------------------------------------
4903
+  (0.0ms) SAVEPOINT active_record_1
4904
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4905
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4906
+  (0.0ms) SAVEPOINT active_record_1
4907
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Cambridge University Library"]]
4908
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "description"], ["value", "in england"], ["owner_id", 2]]
4909
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4910
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 2]]
4911
+  (0.0ms) SAVEPOINT active_record_1
4912
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4913
+ SQL (0.0ms) UPDATE "large_text_fields" SET "value" = ? WHERE "large_text_fields"."id" = ? [["value", "The main research library of the University of Cambridge in England"], ["id", 1]]
4914
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4915
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 2]]
4916
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 2], ["owner_type", "Library"]]
4917
+  (0.8ms) rollback transaction
4918
+  (0.0ms) begin transaction
4919
+ -------------------------------------------------------------------------------------------------
4920
+ LargeTextField::OwnerTest: test_: a large text field should singularize the errors if requested.
4921
+ -------------------------------------------------------------------------------------------------
4922
+  (0.0ms) SAVEPOINT active_record_1
4923
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4924
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4925
+  (0.8ms) rollback transaction
4926
+  (0.0ms) begin transaction
4927
+ ------------------------------------------------------------------------------------------------------------
4928
+ LargeTextField::OwnerTest: test_: a large text field should support strings or symbols for get/set methods.
4929
+ ------------------------------------------------------------------------------------------------------------
4930
+  (0.0ms) SAVEPOINT active_record_1
4931
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4932
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4933
+  (0.9ms) rollback transaction
4934
+  (0.0ms) begin transaction
4935
+ -----------------------------------------------------------------------------------------
4936
+ LargeTextField::OwnerTest: test_: a large text field should validate the maximum length.
4937
+ -----------------------------------------------------------------------------------------
4938
+  (0.0ms) SAVEPOINT active_record_1
4939
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4940
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4941
+  (0.8ms) rollback transaction
4942
+  (0.0ms) begin transaction
4943
+ ----------------------------------------------------------------------------------------------------------------
4944
+ LargeTextField::OwnerTest: test_: updating in large_text_field_save hook should be able to assign empty string.
4945
+ ----------------------------------------------------------------------------------------------------------------
4946
+  (0.0ms) SAVEPOINT active_record_1
4947
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4948
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4949
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4950
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4951
+  (0.8ms) rollback transaction
4952
+  (0.0ms) begin transaction
4953
+ --------------------------------------------------------------------------------------------------------------------
4954
+ LargeTextField::OwnerTest: test_: updating in large_text_field_save hook should be able to assign non empty string.
4955
+ --------------------------------------------------------------------------------------------------------------------
4956
+  (0.0ms) SAVEPOINT active_record_1
4957
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4958
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "notes"], ["value", "this is some text"], ["owner_id", 1]]
4959
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4960
+ Library Load (0.0ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4961
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."owner_id" = ? AND "large_text_fields"."owner_type" = ? [["owner_id", 1], ["owner_type", "Library"]]
4962
+  (0.7ms) rollback transaction
4963
+  (0.0ms) begin transaction
4964
+ -----------------------------------------------------------------------------------------------------------------
4965
+ LargeTextField::OwnerTest: test_: updating in large_text_field_save hook should raise error on saving nil value.
4966
+ -----------------------------------------------------------------------------------------------------------------
4967
+  (0.0ms) SAVEPOINT active_record_1
4968
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
4969
+  (0.0ms) rollback transaction
4970
+  (0.0ms) begin transaction
4971
+ --------------------------------------------------------------------------------------------------
4972
+ LargeTextField::NamedTextValueTest: test_: LargeTextField::NamedTextValue should belong to owner.
4973
+ --------------------------------------------------------------------------------------------------
4974
+  (0.0ms) rollback transaction
4975
+  (0.0ms) begin transaction
4976
+ -----------------------------------------------------------------------------------------------------------------------
4977
+ LargeTextField::NamedTextValueTest: test_: LargeTextField::NamedTextValue should have field name and value attributes.
4978
+ -----------------------------------------------------------------------------------------------------------------------
4979
+  (0.0ms) SAVEPOINT active_record_1
4980
+ SQL (0.3ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
4981
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "notes"], ["value", "none_set"], ["owner_id", 1]]
4982
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4983
+  (0.0ms) SAVEPOINT active_record_1
4984
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "puppy"], ["value", "Millie"], ["owner_id", 1], ["owner_type", "Library"]]
4985
+  (0.0ms) RELEASE SAVEPOINT active_record_1
4986
+ LargeTextField::NamedTextValue Load (0.0ms) SELECT "large_text_fields".* FROM "large_text_fields" WHERE "large_text_fields"."id" = ? LIMIT 1 [["id", 2]]
4987
+ Library Load (0.1ms) SELECT "libraries".* FROM "libraries" WHERE "libraries"."id" = ? LIMIT 1 [["id", 1]]
4988
+  (0.7ms) rollback transaction
4989
+  (0.0ms) begin transaction
4990
+ --------------------------------------------------------------------------------------------------------------------------
4991
+ LargeTextField::NamedTextValueTest: test_: LargeTextField::NamedTextValue should use large_text_fields as the table name.
4992
+ --------------------------------------------------------------------------------------------------------------------------
4993
+  (0.0ms) rollback transaction
4994
+  (0.0ms) begin transaction
4995
+ -------------------------------------------------------------------------------------------------------
4996
+ LargeTextField::NamedTextValueTest: test_: unique index should allow different owners and field names.
4997
+ -------------------------------------------------------------------------------------------------------
4998
+  (0.0ms) SAVEPOINT active_record_1
4999
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
5000
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "notes"], ["value", "none_set"], ["owner_id", 1]]
5001
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5002
+  (0.0ms) SAVEPOINT active_record_1
5003
+ SQL (0.0ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Alexandria"]]
5004
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "notes"], ["value", "none_set"], ["owner_id", 2]]
5005
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5006
+  (0.0ms) SAVEPOINT active_record_1
5007
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "puppy"], ["value", "Millie"], ["owner_id", 1], ["owner_type", "Library"]]
5008
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5009
+  (0.0ms) SAVEPOINT active_record_1
5010
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "dog"], ["value", "Wiki"], ["owner_id", 1], ["owner_type", "Library"]]
5011
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5012
+  (0.0ms) SAVEPOINT active_record_1
5013
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "puppy"], ["value", "Millie"], ["owner_id", 2], ["owner_type", "Library"]]
5014
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5015
+  (0.7ms) rollback transaction
5016
+  (0.0ms) begin transaction
5017
+ ------------------------------------------------------------------------------------------------------------------------------------
5018
+ LargeTextField::NamedTextValueTest: test_: unique index should raise a unique constraint failure on the same owner, and field name.
5019
+ ------------------------------------------------------------------------------------------------------------------------------------
5020
+  (0.0ms) SAVEPOINT active_record_1
5021
+ SQL (0.2ms) INSERT INTO "libraries" ("name") VALUES (?) [["name", "Smithsonian"]]
5022
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("owner_type", "field_name", "value", "owner_id") VALUES (?, ?, ?, ?) [["owner_type", "Library"], ["field_name", "notes"], ["value", "none_set"], ["owner_id", 1]]
5023
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5024
+  (0.0ms) SAVEPOINT active_record_1
5025
+ SQL (0.0ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "puppy"], ["value", "Millie"], ["owner_id", 1], ["owner_type", "Library"]]
5026
+  (0.0ms) RELEASE SAVEPOINT active_record_1
5027
+  (0.0ms) SAVEPOINT active_record_1
5028
+ SQL (0.1ms) INSERT INTO "large_text_fields" ("field_name", "value", "owner_id", "owner_type") VALUES (?, ?, ?, ?) [["field_name", "puppy"], ["value", "Wiki"], ["owner_id", 1], ["owner_type", "Library"]]
5029
+  (0.0ms) ROLLBACK TO SAVEPOINT active_record_1
5030
+  (0.6ms) rollback transaction
5031
+  (0.0ms) begin transaction
5032
+ ------------------------------
5033
+ LargeTextFieldTest: test_truth
5034
+ ------------------------------
5035
+  (0.0ms) rollback transaction
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: large_text_field
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0.pre.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-05 00:00:00.000000000 Z
11
+ date: 2020-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: protected_attributes
@@ -108,9 +108,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
108
108
  version: '0'
109
109
  required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  requirements:
111
- - - ">"
111
+ - - ">="
112
112
  - !ruby/object:Gem::Version
113
- version: 1.3.1
113
+ version: '0'
114
114
  requirements: []
115
115
  rubyforge_project:
116
116
  rubygems_version: 2.6.13