lazy_global_record 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +4 -7
- data/lib/lazy_global_record/version.rb +1 -1
- data/lib/lazy_global_record.rb +6 -4
- data/test/dummy/log/test.log +495 -0
- data/test/lazy_global_record_test.rb +14 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80f068e29c8dba787bf3ee262e954db73b1f65d4
|
4
|
+
data.tar.gz: ade0cf9586c796625a5e4b274f6e88b2f68fe1d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98a7ae2b0ee15141ef5e40e63be863c953f56e47dd303ef71ebc8d430eb90ea1a924dcec479463f2c47b2f6b887e4ee4db00b98246af9fb692f0f75715e38a62
|
7
|
+
data.tar.gz: 800d262e97fc32cb9c7cd91b7b2db0394deb1e997c734a3b0f246211c404bc814bd77726709a2439a88697a9cbd8ef698043d32eed15e157b61c812fa8c64afb
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# LazyGlobalRecord
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/lazy_global_record)
|
4
|
+
|
3
5
|
Lazy loading of 'interesting' ActiveRecord model id's, thread-safely and with
|
4
6
|
easy cache reset and lazy creation in testing. Uses ruby-concurrent
|
5
7
|
as a dependency.
|
@@ -33,13 +35,8 @@ it out and the cached value is wrong. And it's none of it thread-safe,
|
|
33
35
|
and this is 2016, get with the concurrency program already.
|
34
36
|
|
35
37
|
So this gem provides an answer, with a pattern to fetch and cache
|
36
|
-
an ActiveRecord model `id` (or other values),
|
37
|
-
|
38
|
-
* thread-safe lazy loading
|
39
|
-
* Raise if it's not there in production
|
40
|
-
* Create it lazily if it's not there in dev/test
|
41
|
-
* Allow reset of memoization in dev/test, after every test
|
42
|
-
* Supply various custom logic with a concise api
|
38
|
+
an ActiveRecord model `id` (or other values), lazily, thread-safely,
|
39
|
+
with auto-creation and easy cache reset in test env.
|
43
40
|
|
44
41
|
~~~ruby
|
45
42
|
class Department < ActiveRecord::Base
|
data/lib/lazy_global_record.rb
CHANGED
@@ -35,9 +35,11 @@ class LazyGlobalRecord
|
|
35
35
|
def value
|
36
36
|
# double-deref, our atomic slot, and the delay itself.
|
37
37
|
# needed so we can #reset in a thread-safe way too.
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
delay = @slot.value
|
39
|
+
|
40
|
+
value = delay.value
|
41
|
+
if delay.reason
|
42
|
+
raise delay.reason
|
41
43
|
end
|
42
44
|
value
|
43
45
|
end
|
@@ -51,7 +53,7 @@ class LazyGlobalRecord
|
|
51
53
|
end
|
52
54
|
|
53
55
|
def reset
|
54
|
-
raise TypeError.new("This
|
56
|
+
raise TypeError.new("This LazyGlobalRecord object is not resettable") unless resettable?
|
55
57
|
@slot.set( create_delay )
|
56
58
|
end
|
57
59
|
|
data/test/dummy/log/test.log
CHANGED
@@ -1155,3 +1155,498 @@ LazyGlobalRecordTest: test_it_does_allow_reset_when_allowed
|
|
1155
1155
|
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1156
1156
|
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1[0m [["id", 2]]
|
1157
1157
|
[1m[35m (0.5ms)[0m rollback transaction
|
1158
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.3ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
1159
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1160
|
+
--------------------------------------------------------------------
|
1161
|
+
LazyGlobalRecordTest: test_it_creates_a_record_when_creation_allowed
|
1162
|
+
--------------------------------------------------------------------
|
1163
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
1164
|
+
[1m[35mValue Load (0.4ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "three"]]
|
1165
|
+
[1m[36mSQL (0.6ms)[0m [1mINSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?)[0m [["value", "three"], ["created_at", "2016-03-01 18:00:20.552514"], ["updated_at", "2016-03-01 18:00:20.552514"]]
|
1166
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
1167
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1[0m [["id", 1]]
|
1168
|
+
[1m[35m (0.4ms)[0m rollback transaction
|
1169
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1170
|
+
-------------------------------------------------------------------
|
1171
|
+
LazyGlobalRecordTest: test_it_does_not_allow_reset_when_not_allowed
|
1172
|
+
-------------------------------------------------------------------
|
1173
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1174
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "four"]]
|
1175
|
+
[1m[35mSQL (0.2ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "four"], ["created_at", "2016-03-01 18:00:20.557594"], ["updated_at", "2016-03-01 18:00:20.557594"]]
|
1176
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1177
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
1178
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
1179
|
+
---------------------------------------------------------
|
1180
|
+
LazyGlobalRecordTest: test_raises_on_exceptions_in_filter
|
1181
|
+
---------------------------------------------------------
|
1182
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1183
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "one"]]
|
1184
|
+
[1m[35mSQL (0.2ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "one"], ["created_at", "2016-03-01 18:00:20.560124"], ["updated_at", "2016-03-01 18:00:20.560124"]]
|
1185
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1186
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
1187
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1188
|
+
-----------------------------------------------------------
|
1189
|
+
LazyGlobalRecordTest: test_it_does_allow_reset_when_allowed
|
1190
|
+
-----------------------------------------------------------
|
1191
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
1192
|
+
[1m[36mSQL (0.3ms)[0m [1mINSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["value", "five"], ["other_value", "first"], ["created_at", "2016-03-01 18:00:20.562271"], ["updated_at", "2016-03-01 18:00:20.562271"]]
|
1193
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1194
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1195
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "five"]]
|
1196
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1197
|
+
[1m[35mSQL (0.0ms)[0m DELETE FROM "values"
|
1198
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1199
|
+
[1m[35mSQL (0.5ms)[0m INSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["value", "five"], ["other_value", "second"], ["created_at", "2016-03-01 18:00:20.564327"], ["updated_at", "2016-03-01 18:00:20.564327"]]
|
1200
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1201
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1202
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "five"]]
|
1203
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1204
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1[0m [["id", 2]]
|
1205
|
+
[1m[35m (0.5ms)[0m rollback transaction
|
1206
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1207
|
+
----------------------------------------
|
1208
|
+
LazyGlobalRecordTest: test_custom_filter
|
1209
|
+
----------------------------------------
|
1210
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1211
|
+
[1m[36mSQL (0.3ms)[0m [1mINSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["value", "seven"], ["other_value", "treasure"], ["created_at", "2016-03-01 18:00:20.567862"], ["updated_at", "2016-03-01 18:00:20.567862"]]
|
1212
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1213
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1214
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "seven"]]
|
1215
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1216
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
1217
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
1218
|
+
-------------------------------------------------------
|
1219
|
+
LazyGlobalRecordTest: test_it_uses_custom_creation_proc
|
1220
|
+
-------------------------------------------------------
|
1221
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1222
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "six"]]
|
1223
|
+
[1m[35mSQL (0.2ms)[0m INSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["value", "six"], ["other_value", "manual"], ["created_at", "2016-03-01 18:00:20.571096"], ["updated_at", "2016-03-01 18:00:20.571096"]]
|
1224
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1225
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1 [["id", 1]]
|
1226
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1227
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1228
|
+
---------------------------------------------------------------------------
|
1229
|
+
LazyGlobalRecordTest: test_it_raises_on_no_record_when_creation_not_allowed
|
1230
|
+
---------------------------------------------------------------------------
|
1231
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1232
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "two"]]
|
1233
|
+
[1m[36m (0.0ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1234
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
1235
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
1236
|
+
---------------------------------------------------
|
1237
|
+
LazyGlobalRecordTest: test_it_returns_id_by_default
|
1238
|
+
---------------------------------------------------
|
1239
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1240
|
+
[1m[36mSQL (0.4ms)[0m [1mINSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?)[0m [["value", "one"], ["created_at", "2016-03-01 18:00:20.574683"], ["updated_at", "2016-03-01 18:00:20.574683"]]
|
1241
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
1242
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
1243
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "one"]]
|
1244
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1245
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "one"]]
|
1246
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1247
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1248
|
+
-----------------------------------------------------------------------
|
1249
|
+
LazyGlobalRecordTest: test_raises_an_exception_if_exceptions_are_raised
|
1250
|
+
-----------------------------------------------------------------------
|
1251
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1252
|
+
[1m[35m (0.0ms)[0m ROLLBACK TO SAVEPOINT active_record_1
|
1253
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1254
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "nonesuch"]]
|
1255
|
+
[1m[36m (0.0ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1256
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
1257
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
1258
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1259
|
+
--------------------------------------------------------------------
|
1260
|
+
LazyGlobalRecordTest: test_it_creates_a_record_when_creation_allowed
|
1261
|
+
--------------------------------------------------------------------
|
1262
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1263
|
+
[1m[35mValue Load (0.2ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "three"]]
|
1264
|
+
[1m[36mSQL (0.3ms)[0m [1mINSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?)[0m [["value", "three"], ["created_at", "2016-03-01 18:00:40.630182"], ["updated_at", "2016-03-01 18:00:40.630182"]]
|
1265
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1266
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1[0m [["id", 1]]
|
1267
|
+
[1m[35m (1.3ms)[0m rollback transaction
|
1268
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1269
|
+
-------------------------------------------------------------------
|
1270
|
+
LazyGlobalRecordTest: test_it_does_not_allow_reset_when_not_allowed
|
1271
|
+
-------------------------------------------------------------------
|
1272
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1273
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "four"]]
|
1274
|
+
[1m[35mSQL (0.2ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "four"], ["created_at", "2016-03-01 18:00:40.635501"], ["updated_at", "2016-03-01 18:00:40.635501"]]
|
1275
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1276
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
1277
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1278
|
+
---------------------------------------------------------
|
1279
|
+
LazyGlobalRecordTest: test_raises_on_exceptions_in_filter
|
1280
|
+
---------------------------------------------------------
|
1281
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1282
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "one"]]
|
1283
|
+
[1m[35mSQL (0.2ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "one"], ["created_at", "2016-03-01 18:00:40.638030"], ["updated_at", "2016-03-01 18:00:40.638030"]]
|
1284
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1285
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
1286
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1287
|
+
-----------------------------------------------------------------------
|
1288
|
+
LazyGlobalRecordTest: test_raises_an_exception_if_exceptions_are_raised
|
1289
|
+
-----------------------------------------------------------------------
|
1290
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1291
|
+
[1m[36m (0.0ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1292
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
1293
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "nonesuch"]]
|
1294
|
+
[1m[35m (0.0ms)[0m ROLLBACK TO SAVEPOINT active_record_1
|
1295
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
1296
|
+
[1m[35m (0.0ms)[0m begin transaction
|
1297
|
+
---------------------------------------------------
|
1298
|
+
LazyGlobalRecordTest: test_it_returns_id_by_default
|
1299
|
+
---------------------------------------------------
|
1300
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1301
|
+
[1m[35mSQL (0.4ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "one"], ["created_at", "2016-03-01 18:00:40.641708"], ["updated_at", "2016-03-01 18:00:40.641708"]]
|
1302
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1303
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1304
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "one"]]
|
1305
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1306
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "one"]]
|
1307
|
+
[1m[35m (0.4ms)[0m rollback transaction
|
1308
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1309
|
+
---------------------------------------------------------------------------
|
1310
|
+
LazyGlobalRecordTest: test_it_raises_on_no_record_when_creation_not_allowed
|
1311
|
+
---------------------------------------------------------------------------
|
1312
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1313
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "two"]]
|
1314
|
+
[1m[35m (0.0ms)[0m ROLLBACK TO SAVEPOINT active_record_1
|
1315
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
1316
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1317
|
+
-----------------------------------------------------------
|
1318
|
+
LazyGlobalRecordTest: test_it_does_allow_reset_when_allowed
|
1319
|
+
-----------------------------------------------------------
|
1320
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1321
|
+
[1m[35mSQL (0.3ms)[0m INSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["value", "five"], ["other_value", "first"], ["created_at", "2016-03-01 18:00:40.646657"], ["updated_at", "2016-03-01 18:00:40.646657"]]
|
1322
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1323
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1324
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "five"]]
|
1325
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1326
|
+
[1m[36mSQL (0.0ms)[0m [1mDELETE FROM "values"[0m
|
1327
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1328
|
+
[1m[36mSQL (0.3ms)[0m [1mINSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["value", "five"], ["other_value", "second"], ["created_at", "2016-03-01 18:00:40.648809"], ["updated_at", "2016-03-01 18:00:40.648809"]]
|
1329
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1330
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1331
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "five"]]
|
1332
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1333
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1 [["id", 2]]
|
1334
|
+
[1m[36m (0.7ms)[0m [1mrollback transaction[0m
|
1335
|
+
[1m[35m (0.0ms)[0m begin transaction
|
1336
|
+
-------------------------------------------------------
|
1337
|
+
LazyGlobalRecordTest: test_it_uses_custom_creation_proc
|
1338
|
+
-------------------------------------------------------
|
1339
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
1340
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "six"]]
|
1341
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["value", "six"], ["other_value", "manual"], ["created_at", "2016-03-01 18:00:40.652769"], ["updated_at", "2016-03-01 18:00:40.652769"]]
|
1342
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
1343
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1[0m [["id", 1]]
|
1344
|
+
[1m[35m (0.4ms)[0m rollback transaction
|
1345
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1346
|
+
----------------------------------------
|
1347
|
+
LazyGlobalRecordTest: test_custom_filter
|
1348
|
+
----------------------------------------
|
1349
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1350
|
+
[1m[36mSQL (0.3ms)[0m [1mINSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["value", "seven"], ["other_value", "treasure"], ["created_at", "2016-03-01 18:00:40.655919"], ["updated_at", "2016-03-01 18:00:40.655919"]]
|
1351
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
1352
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
1353
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "seven"]]
|
1354
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1355
|
+
[1m[35m (0.4ms)[0m rollback transaction
|
1356
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
1357
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1358
|
+
---------------------------------------------------
|
1359
|
+
LazyGlobalRecordTest: test_it_returns_id_by_default
|
1360
|
+
---------------------------------------------------
|
1361
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
1362
|
+
[1m[35mSQL (0.9ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "one"], ["created_at", "2016-03-02 17:38:49.834874"], ["updated_at", "2016-03-02 17:38:49.834874"]]
|
1363
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1364
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1365
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "one"]]
|
1366
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1367
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "one"]]
|
1368
|
+
[1m[35m (0.4ms)[0m rollback transaction
|
1369
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1370
|
+
--------------------------------------------------------------------
|
1371
|
+
LazyGlobalRecordTest: test_it_creates_a_record_when_creation_allowed
|
1372
|
+
--------------------------------------------------------------------
|
1373
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1374
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "three"]]
|
1375
|
+
[1m[35mSQL (0.2ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "three"], ["created_at", "2016-03-02 17:38:49.847644"], ["updated_at", "2016-03-02 17:38:49.847644"]]
|
1376
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1377
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1 [["id", 1]]
|
1378
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1379
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1380
|
+
-------------------------------------------------------------------
|
1381
|
+
LazyGlobalRecordTest: test_it_does_not_allow_reset_when_not_allowed
|
1382
|
+
-------------------------------------------------------------------
|
1383
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1384
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "four"]]
|
1385
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?)[0m [["value", "four"], ["created_at", "2016-03-02 17:38:49.852844"], ["updated_at", "2016-03-02 17:38:49.852844"]]
|
1386
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1387
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1388
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1389
|
+
---------------------------------------------------------
|
1390
|
+
LazyGlobalRecordTest: test_raises_on_exceptions_in_filter
|
1391
|
+
---------------------------------------------------------
|
1392
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1393
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "one"]]
|
1394
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?)[0m [["value", "one"], ["created_at", "2016-03-02 17:38:49.855708"], ["updated_at", "2016-03-02 17:38:49.855708"]]
|
1395
|
+
[1m[35m (0.0ms)[0m ROLLBACK TO SAVEPOINT active_record_1
|
1396
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1397
|
+
[1m[35m (0.0ms)[0m begin transaction
|
1398
|
+
----------------------------------------
|
1399
|
+
LazyGlobalRecordTest: test_custom_filter
|
1400
|
+
----------------------------------------
|
1401
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1402
|
+
[1m[35mSQL (0.3ms)[0m INSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["value", "seven"], ["other_value", "treasure"], ["created_at", "2016-03-02 17:38:49.857922"], ["updated_at", "2016-03-02 17:38:49.857922"]]
|
1403
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1404
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1405
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "seven"]]
|
1406
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
1407
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1408
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1409
|
+
-----------------------------------------------------------------------
|
1410
|
+
LazyGlobalRecordTest: test_raises_an_exception_if_exceptions_are_raised
|
1411
|
+
-----------------------------------------------------------------------
|
1412
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1413
|
+
[1m[35m (0.0ms)[0m ROLLBACK TO SAVEPOINT active_record_1
|
1414
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
1415
|
+
[1m[35mValue Load (0.2ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "nonesuch"]]
|
1416
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1417
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1418
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1419
|
+
-------------------------------------------------------
|
1420
|
+
LazyGlobalRecordTest: test_it_uses_custom_creation_proc
|
1421
|
+
-------------------------------------------------------
|
1422
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1423
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "six"]]
|
1424
|
+
[1m[35mSQL (0.2ms)[0m INSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["value", "six"], ["other_value", "manual"], ["created_at", "2016-03-02 17:38:49.864812"], ["updated_at", "2016-03-02 17:38:49.864812"]]
|
1425
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1426
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1 [["id", 1]]
|
1427
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1428
|
+
[1m[35m (0.0ms)[0m begin transaction
|
1429
|
+
---------------------------------------------------------------------------
|
1430
|
+
LazyGlobalRecordTest: test_it_raises_on_no_record_when_creation_not_allowed
|
1431
|
+
---------------------------------------------------------------------------
|
1432
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1433
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "two"]]
|
1434
|
+
[1m[36m (0.0ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1435
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
1436
|
+
[1m[36m (0.2ms)[0m [1mbegin transaction[0m
|
1437
|
+
-----------------------------------------------------------
|
1438
|
+
LazyGlobalRecordTest: test_it_does_allow_reset_when_allowed
|
1439
|
+
-----------------------------------------------------------
|
1440
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
1441
|
+
[1m[36mSQL (0.3ms)[0m [1mINSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["value", "five"], ["other_value", "first"], ["created_at", "2016-03-02 17:38:49.869017"], ["updated_at", "2016-03-02 17:38:49.869017"]]
|
1442
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
1443
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1444
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "five"]]
|
1445
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1446
|
+
[1m[35mSQL (0.0ms)[0m DELETE FROM "values"
|
1447
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1448
|
+
[1m[35mSQL (0.4ms)[0m INSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["value", "five"], ["other_value", "second"], ["created_at", "2016-03-02 17:38:49.871797"], ["updated_at", "2016-03-02 17:38:49.871797"]]
|
1449
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1450
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
1451
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "five"]]
|
1452
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1453
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1[0m [["id", 2]]
|
1454
|
+
[1m[35m (0.6ms)[0m rollback transaction
|
1455
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
1456
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1457
|
+
---------------------------------------------------
|
1458
|
+
LazyGlobalRecordTest: test_it_returns_id_by_default
|
1459
|
+
---------------------------------------------------
|
1460
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1461
|
+
[1m[35mSQL (0.3ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "one"], ["created_at", "2016-03-02 17:41:10.695871"], ["updated_at", "2016-03-02 17:41:10.695871"]]
|
1462
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1463
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1464
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "one"]]
|
1465
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
1466
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "one"]]
|
1467
|
+
[1m[35m (1.2ms)[0m rollback transaction
|
1468
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1469
|
+
--------------------------------------------------------------------
|
1470
|
+
LazyGlobalRecordTest: test_it_creates_a_record_when_creation_allowed
|
1471
|
+
--------------------------------------------------------------------
|
1472
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1473
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "three"]]
|
1474
|
+
[1m[35mSQL (0.3ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "three"], ["created_at", "2016-03-02 17:41:10.705471"], ["updated_at", "2016-03-02 17:41:10.705471"]]
|
1475
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1476
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1 [["id", 1]]
|
1477
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
1478
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1479
|
+
---------------------------------------------------------
|
1480
|
+
LazyGlobalRecordTest: test_raises_on_exceptions_in_filter
|
1481
|
+
---------------------------------------------------------
|
1482
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
1483
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "one"]]
|
1484
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?)[0m [["value", "one"], ["created_at", "2016-03-02 17:41:10.710122"], ["updated_at", "2016-03-02 17:41:10.710122"]]
|
1485
|
+
[1m[35m (0.1ms)[0m ROLLBACK TO SAVEPOINT active_record_1
|
1486
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
1487
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1488
|
+
-------------------------------------------------------------------
|
1489
|
+
LazyGlobalRecordTest: test_it_does_not_allow_reset_when_not_allowed
|
1490
|
+
-------------------------------------------------------------------
|
1491
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1492
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "four"]]
|
1493
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?)[0m [["value", "four"], ["created_at", "2016-03-02 17:41:10.712892"], ["updated_at", "2016-03-02 17:41:10.712892"]]
|
1494
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1495
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
1496
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1497
|
+
----------------------------------------
|
1498
|
+
LazyGlobalRecordTest: test_custom_filter
|
1499
|
+
----------------------------------------
|
1500
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1501
|
+
[1m[35mSQL (0.3ms)[0m INSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["value", "seven"], ["other_value", "treasure"], ["created_at", "2016-03-02 17:41:10.714983"], ["updated_at", "2016-03-02 17:41:10.714983"]]
|
1502
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1503
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1504
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "seven"]]
|
1505
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1506
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1507
|
+
[1m[35m (0.0ms)[0m begin transaction
|
1508
|
+
---------------------------------------------------------------------------
|
1509
|
+
LazyGlobalRecordTest: test_it_raises_on_no_record_when_creation_not_allowed
|
1510
|
+
---------------------------------------------------------------------------
|
1511
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1512
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "two"]]
|
1513
|
+
[1m[36m (0.0ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1514
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
1515
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
1516
|
+
-------------------------------------------------------
|
1517
|
+
LazyGlobalRecordTest: test_it_uses_custom_creation_proc
|
1518
|
+
-------------------------------------------------------
|
1519
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1520
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "six"]]
|
1521
|
+
[1m[35mSQL (0.2ms)[0m INSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["value", "six"], ["other_value", "manual"], ["created_at", "2016-03-02 17:41:10.719480"], ["updated_at", "2016-03-02 17:41:10.719480"]]
|
1522
|
+
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1523
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1 [["id", 1]]
|
1524
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1525
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1526
|
+
-----------------------------------------------------------------------
|
1527
|
+
LazyGlobalRecordTest: test_raises_an_exception_if_exceptions_are_raised
|
1528
|
+
-----------------------------------------------------------------------
|
1529
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1530
|
+
[1m[35m (0.0ms)[0m ROLLBACK TO SAVEPOINT active_record_1
|
1531
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1532
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "nonesuch"]]
|
1533
|
+
[1m[36m (0.0ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1534
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
1535
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1536
|
+
-----------------------------------------------------------
|
1537
|
+
LazyGlobalRecordTest: test_it_does_allow_reset_when_allowed
|
1538
|
+
-----------------------------------------------------------
|
1539
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
1540
|
+
[1m[36mSQL (0.3ms)[0m [1mINSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["value", "five"], ["other_value", "first"], ["created_at", "2016-03-02 17:41:10.723668"], ["updated_at", "2016-03-02 17:41:10.723668"]]
|
1541
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
1542
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1543
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "five"]]
|
1544
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1545
|
+
[1m[35mSQL (0.0ms)[0m DELETE FROM "values"
|
1546
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1547
|
+
[1m[35mSQL (0.3ms)[0m INSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["value", "five"], ["other_value", "second"], ["created_at", "2016-03-02 17:41:10.726118"], ["updated_at", "2016-03-02 17:41:10.726118"]]
|
1548
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1549
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1550
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "five"]]
|
1551
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1552
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1[0m [["id", 2]]
|
1553
|
+
[1m[35m (0.5ms)[0m rollback transaction
|
1554
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
1555
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1556
|
+
-------------------------------------------------------
|
1557
|
+
LazyGlobalRecordTest: test_it_uses_custom_creation_proc
|
1558
|
+
-------------------------------------------------------
|
1559
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1560
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "six"]]
|
1561
|
+
[1m[36mSQL (0.4ms)[0m [1mINSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["value", "six"], ["other_value", "manual"], ["created_at", "2016-03-02 17:43:21.216628"], ["updated_at", "2016-03-02 17:43:21.216628"]]
|
1562
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1563
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1[0m [["id", 1]]
|
1564
|
+
[1m[35m (1.3ms)[0m rollback transaction
|
1565
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1566
|
+
---------------------------------------------------------
|
1567
|
+
LazyGlobalRecordTest: test_raises_on_exceptions_in_filter
|
1568
|
+
---------------------------------------------------------
|
1569
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1570
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "one"]]
|
1571
|
+
[1m[35mSQL (0.3ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "one"], ["created_at", "2016-03-02 17:43:21.222139"], ["updated_at", "2016-03-02 17:43:21.222139"]]
|
1572
|
+
[1m[36m (0.1ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1573
|
+
[1m[35m (0.3ms)[0m rollback transaction
|
1574
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
1575
|
+
---------------------------------------------------
|
1576
|
+
LazyGlobalRecordTest: test_it_returns_id_by_default
|
1577
|
+
---------------------------------------------------
|
1578
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1579
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?)[0m [["value", "one"], ["created_at", "2016-03-02 17:43:21.224342"], ["updated_at", "2016-03-02 17:43:21.224342"]]
|
1580
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1581
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1582
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "one"]]
|
1583
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1584
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "one"]]
|
1585
|
+
[1m[36m (0.3ms)[0m [1mrollback transaction[0m
|
1586
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1587
|
+
-------------------------------------------------------------------
|
1588
|
+
LazyGlobalRecordTest: test_it_does_not_allow_reset_when_not_allowed
|
1589
|
+
-------------------------------------------------------------------
|
1590
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1591
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "four"]]
|
1592
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?)[0m [["value", "four"], ["created_at", "2016-03-02 17:43:21.227808"], ["updated_at", "2016-03-02 17:43:21.227808"]]
|
1593
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
1594
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1595
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1596
|
+
---------------------------------------------------------------------------
|
1597
|
+
LazyGlobalRecordTest: test_it_raises_on_no_record_when_creation_not_allowed
|
1598
|
+
---------------------------------------------------------------------------
|
1599
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1600
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "two"]]
|
1601
|
+
[1m[36m (0.0ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1602
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
1603
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
1604
|
+
--------------------------------------------------------------------
|
1605
|
+
LazyGlobalRecordTest: test_it_creates_a_record_when_creation_allowed
|
1606
|
+
--------------------------------------------------------------------
|
1607
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1608
|
+
[1m[36mValue Load (0.1ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "three"]]
|
1609
|
+
[1m[35mSQL (0.2ms)[0m INSERT INTO "values" ("value", "created_at", "updated_at") VALUES (?, ?, ?) [["value", "three"], ["created_at", "2016-03-02 17:43:21.231774"], ["updated_at", "2016-03-02 17:43:21.231774"]]
|
1610
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1611
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1 [["id", 1]]
|
1612
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
1613
|
+
[1m[35m (0.1ms)[0m begin transaction
|
1614
|
+
-----------------------------------------------------------------------
|
1615
|
+
LazyGlobalRecordTest: test_raises_an_exception_if_exceptions_are_raised
|
1616
|
+
-----------------------------------------------------------------------
|
1617
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1618
|
+
[1m[35m (0.0ms)[0m ROLLBACK TO SAVEPOINT active_record_1
|
1619
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1620
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "nonesuch"]]
|
1621
|
+
[1m[36m (0.0ms)[0m [1mROLLBACK TO SAVEPOINT active_record_1[0m
|
1622
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
1623
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
1624
|
+
-----------------------------------------------------------
|
1625
|
+
LazyGlobalRecordTest: test_it_does_allow_reset_when_allowed
|
1626
|
+
-----------------------------------------------------------
|
1627
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1628
|
+
[1m[36mSQL (0.2ms)[0m [1mINSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["value", "five"], ["other_value", "first"], ["created_at", "2016-03-02 17:43:21.235495"], ["updated_at", "2016-03-02 17:43:21.235495"]]
|
1629
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1630
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1631
|
+
[1m[35mValue Load (0.0ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "five"]]
|
1632
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1633
|
+
[1m[35mSQL (0.0ms)[0m DELETE FROM "values"
|
1634
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1635
|
+
[1m[35mSQL (0.3ms)[0m INSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["value", "five"], ["other_value", "second"], ["created_at", "2016-03-02 17:43:21.237476"], ["updated_at", "2016-03-02 17:43:21.237476"]]
|
1636
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1637
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
1638
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1[0m [["value", "five"]]
|
1639
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
1640
|
+
[1m[36mValue Load (0.0ms)[0m [1mSELECT "values".* FROM "values" WHERE "values"."id" = ? LIMIT 1[0m [["id", 2]]
|
1641
|
+
[1m[35m (0.8ms)[0m rollback transaction
|
1642
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
1643
|
+
----------------------------------------
|
1644
|
+
LazyGlobalRecordTest: test_custom_filter
|
1645
|
+
----------------------------------------
|
1646
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
1647
|
+
[1m[36mSQL (0.4ms)[0m [1mINSERT INTO "values" ("value", "other_value", "created_at", "updated_at") VALUES (?, ?, ?, ?)[0m [["value", "seven"], ["other_value", "treasure"], ["created_at", "2016-03-02 17:43:21.241562"], ["updated_at", "2016-03-02 17:43:21.241562"]]
|
1648
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
1649
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
1650
|
+
[1m[35mValue Load (0.1ms)[0m SELECT "values".* FROM "values" WHERE "values"."value" = ? ORDER BY "values"."id" ASC LIMIT 1 [["value", "seven"]]
|
1651
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
1652
|
+
[1m[35m (0.4ms)[0m rollback transaction
|
@@ -85,8 +85,12 @@ class LazyGlobalRecordTest < ActiveSupport::TestCase
|
|
85
85
|
create_with: -> { raise ArgumentError.new("expected") }
|
86
86
|
)
|
87
87
|
assert_raise(ArgumentError) { lazy.value }
|
88
|
+
|
89
|
+
# and a second time please
|
90
|
+
assert_raise(ArgumentError) { lazy.value }
|
88
91
|
end
|
89
92
|
|
93
|
+
|
90
94
|
test "custom filter" do
|
91
95
|
Value.create(:value => "seven", :other_value => "treasure")
|
92
96
|
lazy = LazyGlobalRecord.new(
|
@@ -102,6 +106,16 @@ class LazyGlobalRecordTest < ActiveSupport::TestCase
|
|
102
106
|
assert struct.id.present?
|
103
107
|
assert_equal "treasure", struct.other_value
|
104
108
|
assert_equal "more", struct.more
|
109
|
+
end
|
110
|
+
|
111
|
+
test "raises on exceptions in filter" do
|
112
|
+
lazy = LazyGlobalRecord.new(
|
113
|
+
relation: -> { Value.where(value: "one") },
|
114
|
+
filter: lambda { |original| raise ArgumentError, "intentional" }
|
115
|
+
)
|
105
116
|
|
117
|
+
assert_raise(ArgumentError) { value = lazy.value }
|
118
|
+
# and ensure a second time please
|
119
|
+
assert_raise(ArgumentError) { value = lazy.value }
|
106
120
|
end
|
107
121
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lazy_global_record
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Friends of the Web
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02
|
11
|
+
date: 2016-03-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -126,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
126
|
version: '0'
|
127
127
|
requirements: []
|
128
128
|
rubyforge_project:
|
129
|
-
rubygems_version: 2.
|
129
|
+
rubygems_version: 2.5.1
|
130
130
|
signing_key:
|
131
131
|
specification_version: 4
|
132
132
|
summary: Lazy loading of 'interesting' ActiveRecord model id's, thread-safely and
|