forest_liana 2.3.3 → 2.3.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: '046176008e331d0d0ef0f719a898e070a834b667'
4
- data.tar.gz: 228a5457c46e11389e6fb87cee5d811df508b2a2
3
+ metadata.gz: adb9c6a85c9df210dcce393a9efce7d90a1fb2b8
4
+ data.tar.gz: 1f2206132bf0f9ee43cdd53803a93d61fafab72c
5
5
  SHA512:
6
- metadata.gz: 71402998da21e786c5dd6d8a70b8f025cd92335ba266fb459c809e003ad55d99636457ef99eeaa03bcf2f567e918ea474209a3d67cba441319f774e216715c64
7
- data.tar.gz: 730998341e1be2728267a5cfc91d160205ed0aff5958d98fa374b84c0a0e227f2cbc6515eea3dd4a6417f0da661e42c519e554675bfe801ce1dcd135d8013208
6
+ metadata.gz: fd0ee0f8ecfc15d04439dc4ebc49ab1e2ef18b8d36d52644f421442407c4cecfbda3c5ddc652695b67275592fc62b78553001dadac8528b8d09fd2620ec74090
7
+ data.tar.gz: fc639376f419a4ead4edbef9c63488bf83d446fd67b1f9a0115cecabf6afeb0a87debbe063e665ea23914ac9525108ec7160b4c3d19c1887cd067b9f8870f838
@@ -84,6 +84,10 @@ module ForestLiana
84
84
  head :not_found
85
85
  end
86
86
 
87
+ def internal_server_error
88
+ head :internal_server_error
89
+ end
90
+
87
91
  private
88
92
 
89
93
  def force_utf8_encoding(json)
@@ -116,17 +120,21 @@ module ForestLiana
116
120
  end
117
121
 
118
122
  def fields_per_model(params_fields, model)
119
- params_fields.to_unsafe_h().inject({}) do |fields, param_field|
120
- relation_name = param_field[0]
121
- relation_fields = param_field[1]
123
+ if params_fields
124
+ params_fields.to_unsafe_h().inject({}) do |fields, param_field|
125
+ relation_name = param_field[0]
126
+ relation_fields = param_field[1]
122
127
 
123
- if relation_name == model.name
124
- fields[relation_name] = relation_fields
125
- else
126
- model_name = model.reflect_on_association(relation_name.to_sym).class_name
127
- fields[model_name] = relation_fields
128
+ if relation_name == model.name
129
+ fields[relation_name] = relation_fields
130
+ else
131
+ model_name = model.reflect_on_association(relation_name.to_sym).class_name
132
+ fields[model_name] = relation_fields
133
+ end
134
+ fields
128
135
  end
129
- fields
136
+ else
137
+ nil
130
138
  end
131
139
  end
132
140
 
@@ -9,39 +9,59 @@ module ForestLiana
9
9
  end
10
10
 
11
11
  def index
12
- getter = HasManyGetter.new(@resource, @association, params)
13
- getter.perform
14
-
15
- respond_to do |format|
16
- format.json { render_jsonapi(getter) }
17
- format.csv { render_csv(getter, @association.klass) }
12
+ begin
13
+ getter = HasManyGetter.new(@resource, @association, params)
14
+ getter.perform
15
+
16
+ respond_to do |format|
17
+ format.json { render_jsonapi(getter) }
18
+ format.csv { render_csv(getter, @association.klass) }
19
+ end
20
+ rescue => error
21
+ FOREST_LOGGER.error "Association Index error: #{error}"
22
+ internal_server_error
18
23
  end
19
24
  end
20
25
 
21
26
  def update
22
- updater = BelongsToUpdater.new(@resource, @association, params)
23
- updater.perform
24
-
25
- if updater.errors
26
- render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
27
- updater.errors), status: 422
28
- else
29
- head :no_content
27
+ begin
28
+ updater = BelongsToUpdater.new(@resource, @association, params)
29
+ updater.perform
30
+
31
+ if updater.errors
32
+ render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
33
+ updater.errors), status: 422
34
+ else
35
+ head :no_content
36
+ end
37
+ rescue => error
38
+ FOREST_LOGGER.error "Association Update error: #{error}"
39
+ internal_server_error
30
40
  end
31
41
  end
32
42
 
33
43
  def associate
34
- associator = HasManyAssociator.new(@resource, @association, params)
35
- associator.perform
44
+ begin
45
+ associator = HasManyAssociator.new(@resource, @association, params)
46
+ associator.perform
36
47
 
37
- head :no_content
48
+ head :no_content
49
+ rescue => error
50
+ FOREST_LOGGER.error "Association Associate error: #{error}"
51
+ internal_server_error
52
+ end
38
53
  end
39
54
 
40
55
  def dissociate
41
- dissociator = HasManyDissociator.new(@resource, @association, params)
42
- dissociator.perform
56
+ begin
57
+ dissociator = HasManyDissociator.new(@resource, @association, params)
58
+ dissociator.perform
43
59
 
44
- head :no_content
60
+ head :no_content
61
+ rescue => error
62
+ FOREST_LOGGER.error "Association Associate error: #{error}"
63
+ internal_server_error
64
+ end
45
65
  end
46
66
 
47
67
  private
@@ -14,58 +14,83 @@ module ForestLiana
14
14
  end
15
15
 
16
16
  def index
17
- getter = ForestLiana::ResourcesGetter.new(@resource, params)
18
- getter.perform
19
-
20
- respond_to do |format|
21
- format.json { render_jsonapi(getter) }
22
- format.csv { render_csv(getter, @resource) }
17
+ begin
18
+ getter = ForestLiana::ResourcesGetter.new(@resource, params)
19
+ getter.perform
20
+
21
+ respond_to do |format|
22
+ format.json { render_jsonapi(getter) }
23
+ format.csv { render_csv(getter, @resource) }
24
+ end
25
+ rescue => error
26
+ FOREST_LOGGER.error "Records Index error: #{error}"
27
+ internal_server_error
23
28
  end
24
29
  end
25
30
 
26
31
  def show
27
- getter = ForestLiana::ResourceGetter.new(@resource, params)
28
- getter.perform
29
-
30
- render serializer: nil, json:
31
- serialize_model(get_record(getter.record), include: includes(getter))
32
+ begin
33
+ getter = ForestLiana::ResourceGetter.new(@resource, params)
34
+ getter.perform
35
+
36
+ render serializer: nil, json:
37
+ serialize_model(get_record(getter.record), include: includes(getter))
38
+ rescue => error
39
+ FOREST_LOGGER.error "Record Show error: #{error}"
40
+ internal_server_error
41
+ end
32
42
  end
33
43
 
34
44
  def create
35
- creator = ForestLiana::ResourceCreator.new(@resource, params)
36
- creator.perform
37
-
38
- if creator.errors
39
- render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
40
- creator.errors), status: 400
41
- elsif creator.record.valid?
42
- render serializer: nil,
43
- json: serialize_model(get_record(creator.record), include: record_includes)
44
- else
45
- render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
46
- creator.record.errors), status: 400
45
+ begin
46
+ creator = ForestLiana::ResourceCreator.new(@resource, params)
47
+ creator.perform
48
+
49
+ if creator.errors
50
+ render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
51
+ creator.errors), status: 400
52
+ elsif creator.record.valid?
53
+ render serializer: nil,
54
+ json: serialize_model(get_record(creator.record), include: record_includes)
55
+ else
56
+ render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
57
+ creator.record.errors), status: 400
58
+ end
59
+ rescue => error
60
+ FOREST_LOGGER.error "Record Create error: #{error}"
61
+ internal_server_error
47
62
  end
48
63
  end
49
64
 
50
65
  def update
51
- updater = ForestLiana::ResourceUpdater.new(@resource, params)
52
- updater.perform
53
-
54
- if updater.errors
55
- render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
56
- updater.errors), status: 400
57
- elsif updater.record.valid?
58
- render serializer: nil,
59
- json: serialize_model(get_record(updater.record), include: record_includes)
60
- else
61
- render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
62
- updater.record.errors), status: 400
66
+ begin
67
+ updater = ForestLiana::ResourceUpdater.new(@resource, params)
68
+ updater.perform
69
+
70
+ if updater.errors
71
+ render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
72
+ updater.errors), status: 400
73
+ elsif updater.record.valid?
74
+ render serializer: nil,
75
+ json: serialize_model(get_record(updater.record), include: record_includes)
76
+ else
77
+ render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
78
+ updater.record.errors), status: 400
79
+ end
80
+ rescue => error
81
+ FOREST_LOGGER.error "Record Update error: #{error}"
82
+ internal_server_error
63
83
  end
64
84
  end
65
85
 
66
86
  def destroy
67
- @resource.destroy(params[:id])
68
- head :no_content
87
+ begin
88
+ @resource.destroy(params[:id])
89
+ head :no_content
90
+ rescue => error
91
+ FOREST_LOGGER.error "Record Destroy error: #{error}"
92
+ internal_server_error
93
+ end
69
94
  end
70
95
 
71
96
  private
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "2.3.3"
2
+ VERSION = "2.3.4"
3
3
  end
Binary file
@@ -13804,3 +13804,448 @@ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belo
13804
13804
  -------------------------------------------------------------------------------------------------
13805
13805
   (0.2ms) SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."status" = '1')
13806
13806
   (0.0ms) rollback transaction
13807
+ ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
13808
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
13809
+  (0.1ms)  SELECT sql
13810
+ FROM sqlite_master
13811
+ WHERE name='index_belongs_to_class_name_fields_on_foo_id' AND type='index'
13812
+ UNION ALL
13813
+ SELECT sql
13814
+ FROM sqlite_temp_master
13815
+ WHERE name='index_belongs_to_class_name_fields_on_foo_id' AND type='index'
13816
+ 
13817
+  (0.1ms) SELECT sql
13818
+ FROM sqlite_master
13819
+ WHERE name='index_belongs_to_fields_on_has_many_field_id' AND type='index'
13820
+ UNION ALL
13821
+ SELECT sql
13822
+ FROM sqlite_temp_master
13823
+ WHERE name='index_belongs_to_fields_on_has_many_field_id' AND type='index'
13824
+
13825
+  (0.1ms)  SELECT sql
13826
+ FROM sqlite_master
13827
+ WHERE name='index_belongs_to_fields_on_has_many_class_name_field_id' AND type='index'
13828
+ UNION ALL
13829
+ SELECT sql
13830
+ FROM sqlite_temp_master
13831
+ WHERE name='index_belongs_to_fields_on_has_many_class_name_field_id' AND type='index'
13832
+ 
13833
+  (0.1ms) SELECT sql
13834
+ FROM sqlite_master
13835
+ WHERE name='index_belongs_to_fields_on_has_one_field_id' AND type='index'
13836
+ UNION ALL
13837
+ SELECT sql
13838
+ FROM sqlite_temp_master
13839
+ WHERE name='index_belongs_to_fields_on_has_one_field_id' AND type='index'
13840
+
13841
+  (0.1ms)  SELECT sql
13842
+ FROM sqlite_master
13843
+ WHERE name='index_has_many_fields_on_has_many_through_field_id' AND type='index'
13844
+ UNION ALL
13845
+ SELECT sql
13846
+ FROM sqlite_temp_master
13847
+ WHERE name='index_has_many_fields_on_has_many_through_field_id' AND type='index'
13848
+ 
13849
+  (0.1ms) SELECT sql
13850
+ FROM sqlite_master
13851
+ WHERE name='index_polymorphic_fields_on_has_one_field_id' AND type='index'
13852
+ UNION ALL
13853
+ SELECT sql
13854
+ FROM sqlite_temp_master
13855
+ WHERE name='index_polymorphic_fields_on_has_one_field_id' AND type='index'
13856
+
13857
+  (0.1ms)  SELECT sql
13858
+ FROM sqlite_master
13859
+ WHERE name='index_trees_on_owner_id' AND type='index'
13860
+ UNION ALL
13861
+ SELECT sql
13862
+ FROM sqlite_temp_master
13863
+ WHERE name='index_trees_on_owner_id' AND type='index'
13864
+ 
13865
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
13866
+  (0.1ms) begin transaction
13867
+ Fixture Delete (0.9ms) DELETE FROM "has_many_through_fields"
13868
+ Fixture Insert (0.4ms) INSERT INTO "has_many_through_fields" ("id") VALUES (1)
13869
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (2)
13870
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (3)
13871
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (4)
13872
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (5)
13873
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (6)
13874
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (7)
13875
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (8)
13876
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (9)
13877
+ Fixture Insert (0.0ms) INSERT INTO "has_many_through_fields" ("id") VALUES (10)
13878
+ Fixture Delete (0.4ms) DELETE FROM "string_fields"
13879
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (1, 'Test 1')
13880
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (2, 'Test 2')
13881
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (3, 'Test 3')
13882
+ Fixture Insert (0.1ms) INSERT INTO "string_fields" ("id", "field") VALUES (4, 'Test 4')
13883
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (5, 'Test 5')
13884
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (6, 'Test 6')
13885
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (7, 'Test 7')
13886
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (8, 'Test 8')
13887
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (9, 'Test 9')
13888
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (10, 'Test 10')
13889
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (11, 'Test 11')
13890
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (12, 'Test 12')
13891
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (13, 'Test 13')
13892
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (14, 'Test 14')
13893
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (15, 'Test 15')
13894
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (16, 'Test 16')
13895
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (17, 'Test 17')
13896
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (18, 'Test 18')
13897
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (19, 'Test 19')
13898
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (20, 'Test 20')
13899
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (21, 'Test 21')
13900
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (22, 'Test 22')
13901
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (23, 'Test 23')
13902
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (24, 'Test 24')
13903
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (25, 'Test 25')
13904
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (26, 'Test 26')
13905
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (27, 'Test 27')
13906
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (28, 'Test 28')
13907
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (29, 'Test 29')
13908
+ Fixture Insert (0.0ms) INSERT INTO "string_fields" ("id", "field") VALUES (30, 'Test 30')
13909
+ Fixture Delete (1.0ms) DELETE FROM "belongs_to_fields"
13910
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (1, 1, 1)
13911
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (2, 2, 1)
13912
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (3, 3, 1)
13913
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (4, 4, 2)
13914
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (5, 5, 2)
13915
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (6, 6, 2)
13916
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (7, 7, 3)
13917
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (8, 8, 3)
13918
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (9, 9, 3)
13919
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (10, 10, 4)
13920
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (11, 11, 4)
13921
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (12, 12, 4)
13922
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (13, 13, 5)
13923
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (14, 14, 5)
13924
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (15, 15, 5)
13925
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (16, 16, 6)
13926
+ Fixture Insert (0.2ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (17, 17, 6)
13927
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (18, 18, 6)
13928
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (19, 19, 7)
13929
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (20, 20, 7)
13930
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (21, 21, 7)
13931
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (22, 22, 7)
13932
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (23, 23, 8)
13933
+ Fixture Insert (0.1ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (24, 24, 8)
13934
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (25, 25, 9)
13935
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (26, 26, 9)
13936
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (27, 27, 9)
13937
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (28, 28, 10)
13938
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (29, 29, 10)
13939
+ Fixture Insert (0.0ms) INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (30, 30, 10)
13940
+ Fixture Delete (0.7ms) DELETE FROM "trees"
13941
+ Fixture Insert (0.1ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (1, 'Oak', 1, '2011-02-11 11:00:00.000000', '2011-02-11 11:00:00.000000')
13942
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (2, 'Mapple', 2, '2011-02-15 21:00:00.000000', '2011-02-15 21:00:00.000000')
13943
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (3, 'Mapple', 2, '2013-04-11 12:00:00.000000', '2013-04-11 12:00:00.000000')
13944
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (4, 'Oak', 2, '2016-06-18 09:00:00.000000', '2016-06-18 09:00:00.000000')
13945
+ Fixture Insert (0.1ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (5, 'Oak', 3, '2015-06-18 09:00:00.000000', '2015-06-18 09:00:00.000000')
13946
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (6, 'Oak', 3, '2018-02-27 16:14:49.000000', '2018-02-27 16:14:49.000000')
13947
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (7, 'Sequoia', 1, '2018-02-27 16:14:49.000000', '2018-02-27 16:14:49.000000')
13948
+ Fixture Insert (0.0ms) INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (8, 'Fir', 1, '2018-02-27 16:14:49.000000', '2018-02-27 16:14:49.000000')
13949
+ Fixture Delete (0.4ms) DELETE FROM "has_one_fields"
13950
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (1, 't', 0)
13951
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (2, 't', 0)
13952
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (3, 't', 0)
13953
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (4, 't', 0)
13954
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (5, 't', 0)
13955
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (6, 't', 0)
13956
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (7, 't', 0)
13957
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (8, 't', 0)
13958
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (9, 't', 0)
13959
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (10, 't', 0)
13960
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (11, 't', 0)
13961
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (12, 't', 0)
13962
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (13, 't', 0)
13963
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (14, 't', 0)
13964
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (15, 't', 0)
13965
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (16, 't', 0)
13966
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (17, 't', 0)
13967
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (18, 't', 0)
13968
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (19, 't', 0)
13969
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (20, 't', 0)
13970
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (21, 't', 0)
13971
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (22, 't', 0)
13972
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (23, 't', 0)
13973
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (24, 't', 0)
13974
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (25, 't', 0)
13975
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (26, 't', 0)
13976
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (27, 't', 0)
13977
+ Fixture Insert (0.1ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (28, 't', 0)
13978
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (29, 't', 0)
13979
+ Fixture Insert (0.0ms) INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (30, 't', 1)
13980
+ Fixture Delete (0.5ms) DELETE FROM "owners"
13981
+ Fixture Insert (0.1ms) INSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (1, 'Sandro Munda', '2017-05-30 09:00:00.000000', '2018-06-27 20:00:00.000000')
13982
+ Fixture Insert (0.1ms) INSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (2, 'Arnaud Besnier', '2018-05-02 09:00:00.000000', '2018-06-28 08:00:00.000000')
13983
+ Fixture Insert (0.1ms) INSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (3, 'John Doe', '2016-05-02 09:00:00.000000', '2017-06-28 08:00:00.000000')
13984
+ Fixture Delete (0.7ms) DELETE FROM "has_many_fields"
13985
+ Fixture Insert (0.1ms) INSERT INTO "has_many_fields" ("id") VALUES (1)
13986
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (2)
13987
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (3)
13988
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (4)
13989
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (5, 3)
13990
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (6, 2)
13991
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (7)
13992
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (8, 2)
13993
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (9)
13994
+ Fixture Insert (0.0ms) INSERT INTO "has_many_fields" ("id") VALUES (10)
13995
+ Fixture Delete (0.1ms) DELETE FROM "serialize_fields"
13996
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (1, 'value 1')
13997
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (2, 'value 2')
13998
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (3, 'value 3')
13999
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (4, 'value 4')
14000
+ Fixture Insert (0.0ms) INSERT INTO "serialize_fields" ("id", "field") VALUES (5, 'value 5')
14001
+  (2.3ms) commit transaction
14002
+  (0.0ms) begin transaction
14003
+ ---------------------------------------------------------------------------------------------------------
14004
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_bad_format_value
14005
+ ---------------------------------------------------------------------------------------------------------
14006
+ SerializeField Load (0.2ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
14007
+  (0.2ms) rollback transaction
14008
+  (0.0ms) begin transaction
14009
+ ------------------------------------------------------------------------------------------------------
14010
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_missing_value
14011
+ ------------------------------------------------------------------------------------------------------
14012
+ SerializeField Load (0.2ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
14013
+  (0.3ms) SAVEPOINT active_record_1
14014
+  (0.2ms) RELEASE SAVEPOINT active_record_1
14015
+  (0.7ms) rollback transaction
14016
+  (0.1ms) begin transaction
14017
+ ---------------------------------------------------------------------------------------------------
14018
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_null_value
14019
+ ---------------------------------------------------------------------------------------------------
14020
+ SerializeField Load (0.1ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
14021
+  (0.0ms) SAVEPOINT active_record_1
14022
+ SQL (0.4ms) UPDATE "serialize_fields" SET "field" = ? WHERE "serialize_fields"."id" = ? [["field", nil], ["id", 1]]
14023
+  (0.0ms) RELEASE SAVEPOINT active_record_1
14024
+  (0.5ms) rollback transaction
14025
+  (0.1ms) begin transaction
14026
+ ------------------------------------------------------------------------------------------------------------
14027
+ ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_well_formated_value
14028
+ ------------------------------------------------------------------------------------------------------------
14029
+ SerializeField Load (0.1ms) SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
14030
+  (0.0ms) SAVEPOINT active_record_1
14031
+ SQL (0.2ms) UPDATE "serialize_fields" SET "field" = ? WHERE "serialize_fields"."id" = ? [["field", "---\n- test\n- test\n"], ["id", 1]]
14032
+  (0.0ms) RELEASE SAVEPOINT active_record_1
14033
+  (0.3ms) rollback transaction
14034
+  (0.0ms) begin transaction
14035
+ -----------------------------------------------------------
14036
+ ForestLiana::SchemaAdapterTest: test_belongsTo_relationship
14037
+ -----------------------------------------------------------
14038
+  (0.1ms) rollback transaction
14039
+  (0.1ms) begin transaction
14040
+ -------------------------------------------------------------------------
14041
+ ForestLiana::SchemaAdapterTest: test_DateTime_should_have_the_type_`Date`
14042
+ -------------------------------------------------------------------------
14043
+  (0.0ms) rollback transaction
14044
+  (0.0ms) begin transaction
14045
+ ---------------------------------------------------------------------------
14046
+ ForestLiana::SchemaAdapterTest: test_Boolean_should_have_the_type_`Boolean`
14047
+ ---------------------------------------------------------------------------
14048
+  (0.1ms) rollback transaction
14049
+  (0.1ms) begin transaction
14050
+ ---------------------------------------------------------
14051
+ ForestLiana::SchemaAdapterTest: test_hasMany_relationship
14052
+ ---------------------------------------------------------
14053
+  (0.0ms) rollback transaction
14054
+  (0.0ms) begin transaction
14055
+ --------------------------------------------------------
14056
+ ForestLiana::SchemaAdapterTest: test_hasOne_relationship
14057
+ --------------------------------------------------------
14058
+  (0.1ms) rollback transaction
14059
+  (0.0ms) begin transaction
14060
+ ------------------------------------------------------------------------
14061
+ ForestLiana::SchemaAdapterTest: test_Float_should_have_the_type_`Number`
14062
+ ------------------------------------------------------------------------
14063
+  (0.1ms) rollback transaction
14064
+  (0.0ms) begin transaction
14065
+ ------------------------------------------------------------------------------------
14066
+ ForestLiana::SchemaAdapterTest: test_belongsTo_relationhip_with_specified_class_name
14067
+ ------------------------------------------------------------------------------------
14068
+  (0.0ms) rollback transaction
14069
+  (0.0ms) begin transaction
14070
+ ---------------------------------------------------------------------
14071
+ ForestLiana::SchemaAdapterTest: test_Date_should_have_the_type_`Date`
14072
+ ---------------------------------------------------------------------
14073
+  (0.0ms) rollback transaction
14074
+  (0.0ms) begin transaction
14075
+ --------------------------------------------------------------------------
14076
+ ForestLiana::SchemaAdapterTest: test_Decimal_should_have_the_type_`Number`
14077
+ --------------------------------------------------------------------------
14078
+  (0.1ms) rollback transaction
14079
+  (0.0ms) begin transaction
14080
+ --------------------------------------------------------------------------
14081
+ ForestLiana::SchemaAdapterTest: test_Integer_should_have_the_type_`Number`
14082
+ --------------------------------------------------------------------------
14083
+  (0.0ms) rollback transaction
14084
+  (0.1ms) begin transaction
14085
+ -------------------------------------------------------------------------
14086
+ ForestLiana::SchemaAdapterTest: test_String_should_have_the_type_`String`
14087
+ -------------------------------------------------------------------------
14088
+  (0.0ms) rollback transaction
14089
+  (0.0ms) begin transaction
14090
+ ----------------------------------------------------------------------------------
14091
+ ForestLiana::SchemaAdapterTest: test_hasMany_relationhip_with_specified_class_name
14092
+ ----------------------------------------------------------------------------------
14093
+  (0.1ms) rollback transaction
14094
+  (0.0ms) begin transaction
14095
+ -----------------------------------
14096
+ ForestLiana::RouteTest: test_Routes
14097
+ -----------------------------------
14098
+  (0.1ms) rollback transaction
14099
+  (0.1ms) begin transaction
14100
+ -------------------------------------------------------------------------
14101
+ ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_search_parameter
14102
+ -------------------------------------------------------------------------
14103
+ Owner Load (0.1ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 1]]
14104
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') [["owner_id", 1]]
14105
+  (0.2ms) SELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') LIMIT 15 OFFSET 0) subquery_for_count [["owner_id", 1]]
14106
+ SQL (0.1ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') ORDER BY "trees"."id" ASC LIMIT 1 OFFSET 0 [["owner_id", 1]]
14107
+  (0.0ms) rollback transaction
14108
+  (0.0ms) begin transaction
14109
+ -----------------------------------------------------------------------
14110
+ ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_sort_parameter
14111
+ -----------------------------------------------------------------------
14112
+ Owner Load (0.1ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 1]]
14113
+ SQL (0.1ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY trees.id DESC [["owner_id", 1]]
14114
+  (0.1ms) SELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? LIMIT 15 OFFSET 0) subquery_for_count [["owner_id", 1]]
14115
+ SQL (0.1ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY trees.id DESC LIMIT 1 OFFSET 0 [["owner_id", 1]]
14116
+  (0.0ms) rollback transaction
14117
+  (0.0ms) begin transaction
14118
+ ------------------------------------------------------------------
14119
+ ForestLiana::HasManyGetterTest: test_HasMany_Getter_page_1_size_15
14120
+ ------------------------------------------------------------------
14121
+ Owner Load (0.1ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 1]]
14122
+ SQL (0.1ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? [["owner_id", 1]]
14123
+  (0.1ms) SELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? LIMIT 15 OFFSET 0) subquery_for_count [["owner_id", 1]]
14124
+ SQL (0.1ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY "trees"."id" ASC LIMIT 1 OFFSET 0 [["owner_id", 1]]
14125
+  (0.1ms) rollback transaction
14126
+  (0.1ms) begin transaction
14127
+ ---------------------------
14128
+ ForestLianaTest: test_truth
14129
+ ---------------------------
14130
+  (0.0ms) rollback transaction
14131
+  (0.0ms) begin transaction
14132
+ -------------------------------------------------------------------------------------------------
14133
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_enum_field
14134
+ -------------------------------------------------------------------------------------------------
14135
+  (0.2ms) SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."status" = '1')
14136
+  (0.1ms) rollback transaction
14137
+  (0.1ms) begin transaction
14138
+ ----------------------------------------------------------------------------------------------------
14139
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_integer_field
14140
+ ----------------------------------------------------------------------------------------------------
14141
+  (0.4ms) SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."id" = '3')
14142
+  (0.1ms) rollback transaction
14143
+  (0.1ms) begin transaction
14144
+ ----------------------------------------------------------------------------------------------------
14145
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_boolean_field
14146
+ ----------------------------------------------------------------------------------------------------
14147
+  (0.2ms) SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."checked" = 0)
14148
+  (0.0ms) rollback transaction
14149
+  (0.1ms) begin transaction
14150
+ -----------------------------------------------------------------------------
14151
+ ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_simple_filter
14152
+ -----------------------------------------------------------------------------
14153
+  (0.6ms) SELECT DISTINCT COUNT(DISTINCT "boolean_fields"."id") FROM "boolean_fields" WHERE ("boolean_fields"."field" = 1)
14154
+  (0.1ms) rollback transaction
14155
+  (0.0ms) begin transaction
14156
+ -----------------------------------------------------------------------------------------
14157
+ ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_boolean_field
14158
+ -----------------------------------------------------------------------------------------
14159
+  (0.4ms) SELECT COUNT(*) AS count_all, boolean_fields.field AS boolean_fields_field FROM "boolean_fields" GROUP BY boolean_fields.field ORDER BY count_all DESC
14160
+  (0.1ms) rollback transaction
14161
+  (0.0ms) begin transaction
14162
+ ---------------------------------------------------------------------------------------
14163
+ ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_foreign_key
14164
+ ---------------------------------------------------------------------------------------
14165
+  (0.6ms) SELECT COUNT(DISTINCT "belongs_to_fields"."id") AS count_id, belongs_to_fields.has_one_field_id AS belongs_to_fields_has_one_field_id FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" GROUP BY belongs_to_fields.has_one_field_id ORDER BY count_id DESC
14166
+  (0.0ms) rollback transaction
14167
+  (0.0ms) begin transaction
14168
+ ------------------------------------------------------------------------------------------------
14169
+ ForestLiana::ResourcesGetterTest: test_Filter_on_an_updated_at_field_of_an_associated_collection
14170
+ ------------------------------------------------------------------------------------------------
14171
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at BETWEEN '2017-01-01 08:00:00 UTC' AND '2018-01-01 07:59:59 UTC') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0
14172
+  (0.2ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at BETWEEN '2017-01-01 08:00:00 UTC' AND '2018-01-01 07:59:59 UTC')
14173
+  (0.0ms) rollback transaction
14174
+  (0.1ms) begin transaction
14175
+ ----------------------------------------------------------
14176
+ ForestLiana::ResourcesGetterTest: test_Filter_after_x_days
14177
+ ----------------------------------------------------------
14178
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4 FROM "trees" WHERE ("trees"."created_at" > '2018-02-27 16:13:50 UTC') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0
14179
+  (0.0ms) SELECT COUNT(*) FROM "trees" WHERE ("trees"."created_at" > '2018-02-27 16:13:50 UTC')
14180
+  (0.0ms) rollback transaction
14181
+  (0.1ms) begin transaction
14182
+ ----------------------------------------------------------------
14183
+ ForestLiana::ResourcesGetterTest: test_Filter_on_ambiguous_field
14184
+ ----------------------------------------------------------------
14185
+ SQL (0.4ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE ("trees"."created_at" > '2015-06-18 08:00:00') AND (owners.name = 'Arnaud Besnier') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0
14186
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE ("trees"."created_at" > '2015-06-18 08:00:00') AND (owners.name = 'Arnaud Besnier')
14187
+  (0.0ms) rollback transaction
14188
+  (0.1ms) begin transaction
14189
+ -----------------------------------------------------------------------
14190
+ ForestLiana::ResourcesGetterTest: test_Sort_by_a_belongs_to_association
14191
+ -----------------------------------------------------------------------
14192
+ SQL (0.2ms) SELECT "belongs_to_fields"."id" AS t0_r0, "belongs_to_fields"."has_one_field_id" AS t0_r1, "belongs_to_fields"."has_many_class_name_field_id" AS t0_r2, "belongs_to_fields"."has_many_field_id" AS t0_r3, "has_one_fields"."id" AS t1_r0, "has_one_fields"."checked" AS t1_r1, "has_one_fields"."status" AS t1_r2, "has_many_fields"."id" AS t2_r0, "has_many_fields"."has_many_through_field_id" AS t2_r1, "has_many_class_name_fields"."id" AS t3_r0 FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" ORDER BY "has_one_fields"."id" ASC LIMIT 10 OFFSET 0
14193
+  (0.1ms) SELECT COUNT(*) FROM "belongs_to_fields"
14194
+  (0.0ms) rollback transaction
14195
+  (0.0ms) begin transaction
14196
+ ------------------------------------------------------------
14197
+ ForestLiana::ResourcesGetterTest: test_Filter_before_x_hours
14198
+ ------------------------------------------------------------
14199
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4 FROM "trees" WHERE ("trees"."created_at" < '2018-02-27 16:13:50 UTC') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0
14200
+  (0.1ms) SELECT COUNT(*) FROM "trees" WHERE ("trees"."created_at" < '2018-02-27 16:13:50 UTC')
14201
+ Owner Load (0.1ms) SELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1 [["id", 2]]
14202
+  (0.1ms) rollback transaction
14203
+  (0.0ms) begin transaction
14204
+ -------------------------------------------------------------------------------------------
14205
+ ForestLiana::ResourcesGetterTest: test_Filter_on_an_updated_at_field_of_the_main_collection
14206
+ -------------------------------------------------------------------------------------------
14207
+ SQL (0.2ms) SELECT "owners"."id" AS t0_r0, "owners"."name" AS t0_r1, "owners"."created_at" AS t0_r2, "owners"."updated_at" AS t0_r3 FROM "owners" WHERE ("owners"."updated_at" BETWEEN '2017-01-01 08:00:00 UTC' AND '2018-01-01 07:59:59 UTC') ORDER BY owners.created_at DESC LIMIT 10 OFFSET 0
14208
+  (0.1ms) SELECT COUNT(*) FROM "owners" WHERE ("owners"."updated_at" BETWEEN '2017-01-01 08:00:00 UTC' AND '2018-01-01 07:59:59 UTC')
14209
+  (0.0ms) rollback transaction
14210
+  (0.2ms) begin transaction
14211
+ ------------------------------------------------------------------------------------
14212
+ ForestLiana::ResourcesGetterTest: test_Sort_on_an_ambiguous_field_name_with_a_filter
14213
+ ------------------------------------------------------------------------------------
14214
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.name = 'Arnaud Besnier') ORDER BY trees.name DESC LIMIT 10 OFFSET 0
14215
+  (0.1ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.name = 'Arnaud Besnier')
14216
+  (0.3ms) rollback transaction
14217
+  (0.0ms) begin transaction
14218
+ -----------------------------------------------------------------
14219
+ ForestLiana::ResourcesGetterTest: test_StringField_page_2_size_10
14220
+ -----------------------------------------------------------------
14221
+ SQL (0.1ms) SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY string_fields.id DESC LIMIT 10 OFFSET 10
14222
+  (0.1ms) SELECT COUNT(*) FROM "string_fields"
14223
+  (0.0ms) rollback transaction
14224
+  (0.1ms) begin transaction
14225
+ --------------------------------------------------------------------
14226
+ ForestLiana::ResourcesGetterTest: test_Sort_by_a_has_one_association
14227
+ --------------------------------------------------------------------
14228
+ SQL (0.6ms) SELECT "has_one_fields"."id" AS t0_r0, "has_one_fields"."checked" AS t0_r1, "has_one_fields"."status" AS t0_r2, "belongs_to_fields"."id" AS t1_r0, "belongs_to_fields"."has_one_field_id" AS t1_r1, "belongs_to_fields"."has_many_class_name_field_id" AS t1_r2, "belongs_to_fields"."has_many_field_id" AS t1_r3, "belongs_to_class_name_fields"."id" AS t2_r0, "belongs_to_class_name_fields"."foo_id" AS t2_r1 FROM "has_one_fields" LEFT OUTER JOIN "belongs_to_fields" ON "belongs_to_fields"."has_one_field_id" = "has_one_fields"."id" LEFT OUTER JOIN "belongs_to_class_name_fields" ON "belongs_to_class_name_fields"."foo_id" = "has_one_fields"."id" ORDER BY "belongs_to_fields"."id" DESC LIMIT 10 OFFSET 0
14229
+  (0.1ms) SELECT COUNT(*) FROM "has_one_fields"
14230
+  (0.1ms) rollback transaction
14231
+  (0.0ms) begin transaction
14232
+ ----------------------------------------------------------------
14233
+ ForestLiana::ResourcesGetterTest: test_StringField_sort_by_field
14234
+ ----------------------------------------------------------------
14235
+ SQL (0.2ms) SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY string_fields.field DESC LIMIT 10 OFFSET 0
14236
+  (0.0ms) SELECT COUNT(*) FROM "string_fields"
14237
+  (0.0ms) rollback transaction
14238
+  (0.1ms) begin transaction
14239
+ ------------------------------------------------------------------------------------------------------
14240
+ ForestLiana::ResourcesGetterTest: test_Filter_equal_on_an_updated_at_field_of_an_associated_collection
14241
+ ------------------------------------------------------------------------------------------------------
14242
+ SQL (0.2ms) SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at = 'Sat Jul 02 2016 11:52:00 GMT-0400 (EDT)') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0
14243
+  (0.2ms) SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at = 'Sat Jul 02 2016 11:52:00 GMT-0400 (EDT)')
14244
+  (0.1ms) rollback transaction
14245
+  (0.3ms) begin transaction
14246
+ -----------------------------------------------------------------
14247
+ ForestLiana::ResourcesGetterTest: test_StringField_page_1_size_15
14248
+ -----------------------------------------------------------------
14249
+ SQL (0.2ms) SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY string_fields.id DESC LIMIT 15 OFFSET 0
14250
+  (0.1ms) SELECT COUNT(*) FROM "string_fields"
14251
+  (0.1ms) rollback transaction
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forest_liana
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.3
4
+ version: 2.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sandro Munda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-21 00:00:00.000000000 Z
11
+ date: 2018-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails