forest_liana 2.8.3 → 2.8.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/forest_liana/application_controller.rb +1 -0
- data/app/controllers/forest_liana/resources_controller.rb +14 -7
- data/app/services/forest_liana/forest_api_requester.rb +13 -2
- data/app/services/forest_liana/permissions_checker.rb +28 -10
- data/app/services/forest_liana/permissions_getter.rb +4 -3
- data/lib/forest_liana/version.rb +1 -1
- data/lib/generators/forest_liana/install_generator.rb +3 -1
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +445 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f5ff503b76f35295dddf27be65927752562cb6d
|
4
|
+
data.tar.gz: b69bb68467dfa6614e0074853f05717b32fc1b3d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e7df3829c5a0081d7239584c36319a2ba7632771703d5ece7c243d19ef2b2924c4dc13107704e4edac82db6f2b80e5a6be9cde4a087a7e397f073f06bbdb413
|
7
|
+
data.tar.gz: 1e75a9ff7077f65c1ae3ea0723b299f778a278d65edc2bdc9d26e60831f6331ca7f7fe0398bfea0224dc43a082e9c82985f32b39fddd9270602288f8430d0a8a
|
@@ -68,6 +68,7 @@ module ForestLiana
|
|
68
68
|
|
69
69
|
@jwt_decoded_token = JWT.decode(token, ForestLiana.auth_secret, true,
|
70
70
|
{ algorithm: 'HS256', leeway: 30 }).try(:first)
|
71
|
+
@rendering_id = @jwt_decoded_token['data']['relationships']['renderings']['data'][0]['id']
|
71
72
|
else
|
72
73
|
head :unauthorized
|
73
74
|
end
|
@@ -16,11 +16,14 @@ module ForestLiana
|
|
16
16
|
def index
|
17
17
|
begin
|
18
18
|
if request.format == 'csv'
|
19
|
-
|
19
|
+
checker = ForestLiana::PermissionsChecker.new(@resource, 'export', @rendering_id)
|
20
|
+
return head :forbidden unless checker.is_authorized?
|
20
21
|
elsif params.has_key?(:searchToEdit)
|
21
|
-
|
22
|
+
checker = ForestLiana::PermissionsChecker.new(@resource, 'searchToEdit', @rendering_id)
|
23
|
+
return head :forbidden unless checker.is_authorized?
|
22
24
|
else
|
23
|
-
|
25
|
+
checker = ForestLiana::PermissionsChecker.new(@resource, 'list', @rendering_id)
|
26
|
+
return head :forbidden unless checker.is_authorized?
|
24
27
|
end
|
25
28
|
|
26
29
|
getter = ForestLiana::ResourcesGetter.new(@resource, params)
|
@@ -41,7 +44,8 @@ module ForestLiana
|
|
41
44
|
|
42
45
|
def show
|
43
46
|
begin
|
44
|
-
|
47
|
+
checker = ForestLiana::PermissionsChecker.new(@resource, 'show', @rendering_id)
|
48
|
+
return head :forbidden unless checker.is_authorized?
|
45
49
|
|
46
50
|
getter = ForestLiana::ResourceGetter.new(@resource, params)
|
47
51
|
getter.perform
|
@@ -56,7 +60,8 @@ module ForestLiana
|
|
56
60
|
|
57
61
|
def create
|
58
62
|
begin
|
59
|
-
|
63
|
+
checker = ForestLiana::PermissionsChecker.new(@resource, 'create', @rendering_id)
|
64
|
+
return head :forbidden unless checker.is_authorized?
|
60
65
|
|
61
66
|
creator = ForestLiana::ResourceCreator.new(@resource, params)
|
62
67
|
creator.perform
|
@@ -79,7 +84,8 @@ module ForestLiana
|
|
79
84
|
|
80
85
|
def update
|
81
86
|
begin
|
82
|
-
|
87
|
+
checker = ForestLiana::PermissionsChecker.new(@resource, 'update', @rendering_id)
|
88
|
+
return head :forbidden unless checker.is_authorized?
|
83
89
|
|
84
90
|
updater = ForestLiana::ResourceUpdater.new(@resource, params)
|
85
91
|
updater.perform
|
@@ -102,7 +108,8 @@ module ForestLiana
|
|
102
108
|
|
103
109
|
def destroy
|
104
110
|
begin
|
105
|
-
|
111
|
+
checker = ForestLiana::PermissionsChecker.new(@resource, 'delete', @rendering_id)
|
112
|
+
return head :forbidden unless checker.is_authorized?
|
106
113
|
|
107
114
|
@resource.destroy(params[:id])
|
108
115
|
head :no_content
|
@@ -1,11 +1,12 @@
|
|
1
1
|
module ForestLiana
|
2
2
|
class ForestApiRequester
|
3
|
-
def perform_request
|
3
|
+
def perform_request(query_parameters = nil)
|
4
4
|
http = Net::HTTP.new(@uri.host, @uri.port)
|
5
5
|
http.use_ssl = true if forest_api_url.start_with?('https')
|
6
6
|
|
7
7
|
http.start do |client|
|
8
|
-
|
8
|
+
path = get_path(query_parameters)
|
9
|
+
request = Net::HTTP::Get.new(path)
|
9
10
|
request['Content-Type'] = 'application/json'
|
10
11
|
request['forest-secret-key'] = ForestLiana.env_secret
|
11
12
|
request['forest-token'] = @forest_token if @forest_token
|
@@ -18,5 +19,15 @@ module ForestLiana
|
|
18
19
|
def forest_api_url
|
19
20
|
ENV['FOREST_URL'] || 'https://api.forestadmin.com';
|
20
21
|
end
|
22
|
+
|
23
|
+
def get_path(query_parameters)
|
24
|
+
route = @uri.path
|
25
|
+
unless query_parameters.nil?
|
26
|
+
query = query_parameters
|
27
|
+
.collect { |parameter, value| "#{parameter}=#{CGI::escape(value.to_s)}" }.join('&')
|
28
|
+
route += "?#{query}"
|
29
|
+
end
|
30
|
+
route
|
31
|
+
end
|
21
32
|
end
|
22
33
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
module ForestLiana
|
2
2
|
class PermissionsChecker
|
3
|
-
@@
|
4
|
-
@@last_retrieve = nil
|
3
|
+
@@permissions_per_rendering = Hash.new
|
5
4
|
@@expiration_in_seconds = (ENV['FOREST_PERMISSIONS_EXPIRATION_IN_SECONDS'] || 3600).to_i
|
6
5
|
|
7
|
-
def initialize(resource, permission_name)
|
6
|
+
def initialize(resource, permission_name, rendering_id)
|
8
7
|
@collection_name = ForestLiana.name_for(resource)
|
9
8
|
@permission_name = permission_name
|
9
|
+
@rendering_id = rendering_id
|
10
10
|
end
|
11
11
|
|
12
12
|
def is_authorized?
|
@@ -15,18 +15,34 @@ module ForestLiana
|
|
15
15
|
|
16
16
|
private
|
17
17
|
|
18
|
+
def get_permissions
|
19
|
+
@@permissions_per_rendering &&
|
20
|
+
@@permissions_per_rendering[@rendering_id] &&
|
21
|
+
@@permissions_per_rendering[@rendering_id]['data']
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_last_retrieve
|
25
|
+
@@permissions_per_rendering &&
|
26
|
+
@@permissions_per_rendering[@rendering_id] &&
|
27
|
+
@@permissions_per_rendering[@rendering_id]['last_retrieve']
|
28
|
+
end
|
29
|
+
|
18
30
|
def is_allowed?
|
19
|
-
|
20
|
-
|
21
|
-
|
31
|
+
permissions = get_permissions
|
32
|
+
|
33
|
+
if permissions && permissions[@collection_name] &&
|
34
|
+
permissions[@collection_name]['collection']
|
35
|
+
permissions[@collection_name]['collection'][@permission_name]
|
22
36
|
else
|
23
37
|
false
|
24
38
|
end
|
25
39
|
end
|
26
40
|
|
27
41
|
def retrieve_permissions
|
28
|
-
@@
|
29
|
-
@@
|
42
|
+
@@permissions_per_rendering[@rendering_id] = Hash.new
|
43
|
+
@@permissions_per_rendering[@rendering_id]['data'] =
|
44
|
+
ForestLiana::PermissionsGetter.new(@rendering_id).perform()
|
45
|
+
@@permissions_per_rendering[@rendering_id]['last_retrieve'] = Time.now
|
30
46
|
end
|
31
47
|
|
32
48
|
def date_difference_in_seconds(date1, date2)
|
@@ -34,9 +50,11 @@ module ForestLiana
|
|
34
50
|
end
|
35
51
|
|
36
52
|
def is_permission_expired?
|
37
|
-
|
53
|
+
last_retrieve = get_last_retrieve
|
54
|
+
|
55
|
+
return true if last_retrieve.nil?
|
38
56
|
|
39
|
-
elapsed_seconds = date_difference_in_seconds(Time.now,
|
57
|
+
elapsed_seconds = date_difference_in_seconds(Time.now, last_retrieve)
|
40
58
|
elapsed_seconds >= @@expiration_in_seconds
|
41
59
|
end
|
42
60
|
|
@@ -1,11 +1,12 @@
|
|
1
1
|
module ForestLiana
|
2
2
|
class PermissionsGetter < ForestApiRequester
|
3
|
-
def initialize
|
4
|
-
@uri = URI.parse("#{forest_api_url}/liana/
|
3
|
+
def initialize(rendering_id)
|
4
|
+
@uri = URI.parse("#{forest_api_url}/liana/v2/permissions")
|
5
|
+
@rendering_id = rendering_id
|
5
6
|
end
|
6
7
|
|
7
8
|
def perform
|
8
|
-
perform_request
|
9
|
+
perform_request({ 'renderingId' => @rendering_id })
|
9
10
|
rescue => exception
|
10
11
|
FOREST_LOGGER.error "Cannot retrieve the permissions for the project you\'re trying to unlock. Forest API seems to be down right now."
|
11
12
|
FOREST_LOGGER.error exception
|
data/lib/forest_liana/version.rb
CHANGED
@@ -8,7 +8,9 @@ module ForestLiana
|
|
8
8
|
|
9
9
|
def install
|
10
10
|
if ForestLiana.env_secret.present?
|
11
|
-
puts "\nForest liana already installed on this app
|
11
|
+
puts "\nForest liana already installed on this app.\nHere is your current environment " +
|
12
|
+
"secret: #{ForestLiana.env_secret}\nYou can update the config/secrets.yml file with the " +
|
13
|
+
"new environment secret: #{env_secret}"
|
12
14
|
return
|
13
15
|
end
|
14
16
|
|
data/test/dummy/db/test.sqlite3
CHANGED
Binary file
|
data/test/dummy/log/test.log
CHANGED
@@ -23531,3 +23531,448 @@ ForestLianaTest: test_truth
|
|
23531
23531
|
ForestLiana::RouteTest: test_Routes
|
23532
23532
|
-----------------------------------
|
23533
23533
|
[1m[35m (0.2ms)[0m rollback transaction
|
23534
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.6ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
23535
|
+
[1m[35mActiveRecord::SchemaMigration Load (0.1ms)[0m SELECT "schema_migrations".* FROM "schema_migrations"
|
23536
|
+
[1m[36m (0.1ms)[0m [1m SELECT sql
|
23537
|
+
FROM sqlite_master
|
23538
|
+
WHERE name='index_belongs_to_class_name_fields_on_foo_id' AND type='index'
|
23539
|
+
UNION ALL
|
23540
|
+
SELECT sql
|
23541
|
+
FROM sqlite_temp_master
|
23542
|
+
WHERE name='index_belongs_to_class_name_fields_on_foo_id' AND type='index'
|
23543
|
+
[0m
|
23544
|
+
[1m[35m (0.1ms)[0m SELECT sql
|
23545
|
+
FROM sqlite_master
|
23546
|
+
WHERE name='index_belongs_to_fields_on_has_many_field_id' AND type='index'
|
23547
|
+
UNION ALL
|
23548
|
+
SELECT sql
|
23549
|
+
FROM sqlite_temp_master
|
23550
|
+
WHERE name='index_belongs_to_fields_on_has_many_field_id' AND type='index'
|
23551
|
+
|
23552
|
+
[1m[36m (0.1ms)[0m [1m SELECT sql
|
23553
|
+
FROM sqlite_master
|
23554
|
+
WHERE name='index_belongs_to_fields_on_has_many_class_name_field_id' AND type='index'
|
23555
|
+
UNION ALL
|
23556
|
+
SELECT sql
|
23557
|
+
FROM sqlite_temp_master
|
23558
|
+
WHERE name='index_belongs_to_fields_on_has_many_class_name_field_id' AND type='index'
|
23559
|
+
[0m
|
23560
|
+
[1m[35m (0.1ms)[0m SELECT sql
|
23561
|
+
FROM sqlite_master
|
23562
|
+
WHERE name='index_belongs_to_fields_on_has_one_field_id' AND type='index'
|
23563
|
+
UNION ALL
|
23564
|
+
SELECT sql
|
23565
|
+
FROM sqlite_temp_master
|
23566
|
+
WHERE name='index_belongs_to_fields_on_has_one_field_id' AND type='index'
|
23567
|
+
|
23568
|
+
[1m[36m (0.1ms)[0m [1m SELECT sql
|
23569
|
+
FROM sqlite_master
|
23570
|
+
WHERE name='index_has_many_fields_on_has_many_through_field_id' AND type='index'
|
23571
|
+
UNION ALL
|
23572
|
+
SELECT sql
|
23573
|
+
FROM sqlite_temp_master
|
23574
|
+
WHERE name='index_has_many_fields_on_has_many_through_field_id' AND type='index'
|
23575
|
+
[0m
|
23576
|
+
[1m[35m (0.2ms)[0m SELECT sql
|
23577
|
+
FROM sqlite_master
|
23578
|
+
WHERE name='index_polymorphic_fields_on_has_one_field_id' AND type='index'
|
23579
|
+
UNION ALL
|
23580
|
+
SELECT sql
|
23581
|
+
FROM sqlite_temp_master
|
23582
|
+
WHERE name='index_polymorphic_fields_on_has_one_field_id' AND type='index'
|
23583
|
+
|
23584
|
+
[1m[36m (0.1ms)[0m [1m SELECT sql
|
23585
|
+
FROM sqlite_master
|
23586
|
+
WHERE name='index_trees_on_owner_id' AND type='index'
|
23587
|
+
UNION ALL
|
23588
|
+
SELECT sql
|
23589
|
+
FROM sqlite_temp_master
|
23590
|
+
WHERE name='index_trees_on_owner_id' AND type='index'
|
23591
|
+
[0m
|
23592
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.2ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
23593
|
+
[1m[35m (0.1ms)[0m begin transaction
|
23594
|
+
[1m[36mFixture Delete (0.6ms)[0m [1mDELETE FROM "has_many_through_fields"[0m
|
23595
|
+
[1m[35mFixture Insert (0.4ms)[0m INSERT INTO "has_many_through_fields" ("id") VALUES (1)
|
23596
|
+
[1m[36mFixture Insert (0.3ms)[0m [1mINSERT INTO "has_many_through_fields" ("id") VALUES (2)[0m
|
23597
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_many_through_fields" ("id") VALUES (3)
|
23598
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_through_fields" ("id") VALUES (4)[0m
|
23599
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_through_fields" ("id") VALUES (5)
|
23600
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_through_fields" ("id") VALUES (6)[0m
|
23601
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_through_fields" ("id") VALUES (7)
|
23602
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_through_fields" ("id") VALUES (8)[0m
|
23603
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_through_fields" ("id") VALUES (9)
|
23604
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_through_fields" ("id") VALUES (10)[0m
|
23605
|
+
[1m[35mFixture Delete (0.4ms)[0m DELETE FROM "string_fields"
|
23606
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (1, 'Test 1')[0m
|
23607
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (2, 'Test 2')
|
23608
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (3, 'Test 3')[0m
|
23609
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (4, 'Test 4')
|
23610
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (5, 'Test 5')[0m
|
23611
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (6, 'Test 6')
|
23612
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (7, 'Test 7')[0m
|
23613
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (8, 'Test 8')
|
23614
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (9, 'Test 9')[0m
|
23615
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (10, 'Test 10')
|
23616
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (11, 'Test 11')[0m
|
23617
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (12, 'Test 12')
|
23618
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (13, 'Test 13')[0m
|
23619
|
+
[1m[35mFixture Insert (0.2ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (14, 'Test 14')
|
23620
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (15, 'Test 15')[0m
|
23621
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (16, 'Test 16')
|
23622
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (17, 'Test 17')[0m
|
23623
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (18, 'Test 18')
|
23624
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (19, 'Test 19')[0m
|
23625
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (20, 'Test 20')
|
23626
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (21, 'Test 21')[0m
|
23627
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (22, 'Test 22')
|
23628
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (23, 'Test 23')[0m
|
23629
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (24, 'Test 24')
|
23630
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (25, 'Test 25')[0m
|
23631
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (26, 'Test 26')
|
23632
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (27, 'Test 27')[0m
|
23633
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (28, 'Test 28')
|
23634
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (29, 'Test 29')[0m
|
23635
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (30, 'Test 30')
|
23636
|
+
[1m[36mFixture Delete (0.9ms)[0m [1mDELETE FROM "belongs_to_fields"[0m
|
23637
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (1, 1, 1)
|
23638
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (2, 2, 1)[0m
|
23639
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (3, 3, 1)
|
23640
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (4, 4, 2)[0m
|
23641
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (5, 5, 2)
|
23642
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (6, 6, 2)[0m
|
23643
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (7, 7, 3)
|
23644
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (8, 8, 3)[0m
|
23645
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (9, 9, 3)
|
23646
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (10, 10, 4)[0m
|
23647
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (11, 11, 4)
|
23648
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (12, 12, 4)[0m
|
23649
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (13, 13, 5)
|
23650
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (14, 14, 5)[0m
|
23651
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (15, 15, 5)
|
23652
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (16, 16, 6)[0m
|
23653
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (17, 17, 6)
|
23654
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (18, 18, 6)[0m
|
23655
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (19, 19, 7)
|
23656
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (20, 20, 7)[0m
|
23657
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (21, 21, 7)
|
23658
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (22, 22, 7)[0m
|
23659
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (23, 23, 8)
|
23660
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (24, 24, 8)[0m
|
23661
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (25, 25, 9)
|
23662
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (26, 26, 9)[0m
|
23663
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (27, 27, 9)
|
23664
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (28, 28, 10)[0m
|
23665
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (29, 29, 10)
|
23666
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (30, 30, 10)[0m
|
23667
|
+
[1m[35mFixture Delete (0.7ms)[0m DELETE FROM "trees"
|
23668
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT 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')[0m
|
23669
|
+
[1m[35mFixture Insert (0.0ms)[0m 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')
|
23670
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT 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')[0m
|
23671
|
+
[1m[35mFixture Insert (0.0ms)[0m 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')
|
23672
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT 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')[0m
|
23673
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (6, 'Oak', 3, '2018-06-21 21:18:21.000000', '2018-06-21 21:18:21.000000')
|
23674
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (7, 'Sequoia', 1, '2018-06-21 21:18:21.000000', '2018-06-21 21:18:21.000000')[0m
|
23675
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (8, 'Fir', 1, '2018-06-21 21:18:21.000000', '2018-06-21 21:18:21.000000')
|
23676
|
+
[1m[36mFixture Delete (0.4ms)[0m [1mDELETE FROM "has_one_fields"[0m
|
23677
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (1, 't', 0)
|
23678
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (2, 't', 0)[0m
|
23679
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (3, 't', 0)
|
23680
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (4, 't', 0)[0m
|
23681
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (5, 't', 0)
|
23682
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (6, 't', 0)[0m
|
23683
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (7, 't', 0)
|
23684
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (8, 't', 0)[0m
|
23685
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (9, 't', 0)
|
23686
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (10, 't', 0)[0m
|
23687
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (11, 't', 0)
|
23688
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (12, 't', 0)[0m
|
23689
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (13, 't', 0)
|
23690
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (14, 't', 0)[0m
|
23691
|
+
[1m[35mFixture Insert (7.9ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (15, 't', 0)
|
23692
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (16, 't', 0)[0m
|
23693
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (17, 't', 0)
|
23694
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (18, 't', 0)[0m
|
23695
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (19, 't', 0)
|
23696
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (20, 't', 0)[0m
|
23697
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (21, 't', 0)
|
23698
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (22, 't', 0)[0m
|
23699
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (23, 't', 0)
|
23700
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (24, 't', 0)[0m
|
23701
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (25, 't', 0)
|
23702
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (26, 't', 0)[0m
|
23703
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (27, 't', 0)
|
23704
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (28, 't', 0)[0m
|
23705
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (29, 't', 0)
|
23706
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (30, 't', 1)[0m
|
23707
|
+
[1m[35mFixture Delete (0.3ms)[0m DELETE FROM "owners"
|
23708
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT 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')[0m
|
23709
|
+
[1m[35mFixture Insert (0.0ms)[0m 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')
|
23710
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT 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')[0m
|
23711
|
+
[1m[35mFixture Delete (1.1ms)[0m DELETE FROM "has_many_fields"
|
23712
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "has_many_fields" ("id") VALUES (1)[0m
|
23713
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_fields" ("id") VALUES (2)
|
23714
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_fields" ("id") VALUES (3)[0m
|
23715
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_fields" ("id") VALUES (4)
|
23716
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (5, 3)[0m
|
23717
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (6, 2)
|
23718
|
+
[1m[36mFixture Insert (0.3ms)[0m [1mINSERT INTO "has_many_fields" ("id") VALUES (7)[0m
|
23719
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (8, 2)
|
23720
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_fields" ("id") VALUES (9)[0m
|
23721
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_fields" ("id") VALUES (10)
|
23722
|
+
[1m[36mFixture Delete (0.1ms)[0m [1mDELETE FROM "serialize_fields"[0m
|
23723
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "serialize_fields" ("id", "field") VALUES (1, 'value 1')
|
23724
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "serialize_fields" ("id", "field") VALUES (2, 'value 2')[0m
|
23725
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "serialize_fields" ("id", "field") VALUES (3, 'value 3')
|
23726
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "serialize_fields" ("id", "field") VALUES (4, 'value 4')[0m
|
23727
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "serialize_fields" ("id", "field") VALUES (5, 'value 5')
|
23728
|
+
[1m[36m (2.0ms)[0m [1mcommit transaction[0m
|
23729
|
+
[1m[35m (0.1ms)[0m begin transaction
|
23730
|
+
-----------------------------------------------------------------------
|
23731
|
+
ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_sort_parameter
|
23732
|
+
-----------------------------------------------------------------------
|
23733
|
+
[1m[36mOwner Load (0.2ms)[0m [1mSELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1[0m [["id", 1]]
|
23734
|
+
[1m[35m (0.2ms)[0m SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? [["owner_id", 1]]
|
23735
|
+
[1m[36m (0.2ms)[0m [1mSELECT 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[0m [["owner_id", 1]]
|
23736
|
+
[1m[35mSQL (0.1ms)[0m 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]]
|
23737
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
23738
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23739
|
+
------------------------------------------------------------------
|
23740
|
+
ForestLiana::HasManyGetterTest: test_HasMany_Getter_page_1_size_15
|
23741
|
+
------------------------------------------------------------------
|
23742
|
+
[1m[36mOwner Load (0.1ms)[0m [1mSELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1[0m [["id", 1]]
|
23743
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? [["owner_id", 1]]
|
23744
|
+
[1m[36m (0.1ms)[0m [1mSELECT 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[0m [["owner_id", 1]]
|
23745
|
+
[1m[35mSQL (0.1ms)[0m 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]]
|
23746
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
23747
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23748
|
+
-------------------------------------------------------------------------
|
23749
|
+
ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_search_parameter
|
23750
|
+
-------------------------------------------------------------------------
|
23751
|
+
[1m[36mOwner Load (0.1ms)[0m [1mSELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1[0m [["id", 1]]
|
23752
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(DISTINCT "trees"."id") 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]]
|
23753
|
+
[1m[36m (0.1ms)[0m [1mSELECT 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[0m [["owner_id", 1]]
|
23754
|
+
[1m[35mSQL (0.5ms)[0m 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]]
|
23755
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
23756
|
+
[1m[35m (0.1ms)[0m begin transaction
|
23757
|
+
---------------------------------------------------------------------------------------------------------
|
23758
|
+
ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_bad_format_value
|
23759
|
+
---------------------------------------------------------------------------------------------------------
|
23760
|
+
[1m[36mSerializeField Load (0.1ms)[0m [1mSELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1[0m [["id", 1]]
|
23761
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23762
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23763
|
+
---------------------------------------------------------------------------------------------------
|
23764
|
+
ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_null_value
|
23765
|
+
---------------------------------------------------------------------------------------------------
|
23766
|
+
[1m[35mSerializeField Load (0.1ms)[0m SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
|
23767
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
23768
|
+
[1m[35mSQL (0.3ms)[0m UPDATE "serialize_fields" SET "field" = ? WHERE "serialize_fields"."id" = ? [["field", nil], ["id", 1]]
|
23769
|
+
[1m[36m (0.0ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
|
23770
|
+
[1m[35m (1.7ms)[0m rollback transaction
|
23771
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23772
|
+
------------------------------------------------------------------------------------------------------
|
23773
|
+
ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_missing_value
|
23774
|
+
------------------------------------------------------------------------------------------------------
|
23775
|
+
[1m[35mSerializeField Load (0.1ms)[0m SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
|
23776
|
+
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
|
23777
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
23778
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
23779
|
+
[1m[35m (0.1ms)[0m begin transaction
|
23780
|
+
------------------------------------------------------------------------------------------------------------
|
23781
|
+
ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_well_formated_value
|
23782
|
+
------------------------------------------------------------------------------------------------------------
|
23783
|
+
[1m[36mSerializeField Load (0.1ms)[0m [1mSELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1[0m [["id", 1]]
|
23784
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
23785
|
+
[1m[36mSQL (0.3ms)[0m [1mUPDATE "serialize_fields" SET "field" = ? WHERE "serialize_fields"."id" = ?[0m [["field", "---\n- test\n- test\n"], ["id", 1]]
|
23786
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
23787
|
+
[1m[36m (2.4ms)[0m [1mrollback transaction[0m
|
23788
|
+
[1m[35m (0.1ms)[0m begin transaction
|
23789
|
+
----------------------------------------------------------
|
23790
|
+
ForestLiana::ResourcesGetterTest: test_Filter_after_x_days
|
23791
|
+
----------------------------------------------------------
|
23792
|
+
[1m[36mSQL (0.3ms)[0m [1mSELECT "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-06-21 21:17:22 UTC') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0[0m
|
23793
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "trees" WHERE ("trees"."created_at" > '2018-06-21 21:17:22 UTC')
|
23794
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
23795
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23796
|
+
------------------------------------------------------------------------------------------------------
|
23797
|
+
ForestLiana::ResourcesGetterTest: test_Filter_equal_on_an_updated_at_field_of_an_associated_collection
|
23798
|
+
------------------------------------------------------------------------------------------------------
|
23799
|
+
[1m[36mSQL (0.2ms)[0m [1mSELECT "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[0m
|
23800
|
+
[1m[35m (0.1ms)[0m 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)')
|
23801
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
23802
|
+
[1m[35m (0.1ms)[0m begin transaction
|
23803
|
+
-------------------------------------------------------------------------------------------
|
23804
|
+
ForestLiana::ResourcesGetterTest: test_Filter_on_an_updated_at_field_of_the_main_collection
|
23805
|
+
-------------------------------------------------------------------------------------------
|
23806
|
+
[1m[36mSQL (0.2ms)[0m [1mSELECT "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[0m
|
23807
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "owners" WHERE ("owners"."updated_at" BETWEEN '2017-01-01 08:00:00 UTC' AND '2018-01-01 07:59:59 UTC')
|
23808
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
23809
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23810
|
+
-----------------------------------------------------------------------
|
23811
|
+
ForestLiana::ResourcesGetterTest: test_Sort_by_a_belongs_to_association
|
23812
|
+
-----------------------------------------------------------------------
|
23813
|
+
[1m[36mSQL (0.3ms)[0m [1mSELECT "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[0m
|
23814
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "belongs_to_fields"
|
23815
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
23816
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23817
|
+
--------------------------------------------------------------------
|
23818
|
+
ForestLiana::ResourcesGetterTest: test_Sort_by_a_has_one_association
|
23819
|
+
--------------------------------------------------------------------
|
23820
|
+
[1m[36mSQL (0.5ms)[0m [1mSELECT "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[0m
|
23821
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "has_one_fields"
|
23822
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
23823
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23824
|
+
------------------------------------------------------------------------------------
|
23825
|
+
ForestLiana::ResourcesGetterTest: test_Sort_on_an_ambiguous_field_name_with_a_filter
|
23826
|
+
------------------------------------------------------------------------------------
|
23827
|
+
[1m[36mSQL (0.7ms)[0m [1mSELECT "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[0m
|
23828
|
+
[1m[35m (0.2ms)[0m SELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.name = 'Arnaud Besnier')
|
23829
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
23830
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23831
|
+
------------------------------------------------------------------------------------------------
|
23832
|
+
ForestLiana::ResourcesGetterTest: test_Filter_on_an_updated_at_field_of_an_associated_collection
|
23833
|
+
------------------------------------------------------------------------------------------------
|
23834
|
+
[1m[36mSQL (0.3ms)[0m [1mSELECT "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[0m
|
23835
|
+
[1m[35m (0.2ms)[0m 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')
|
23836
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
23837
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23838
|
+
-----------------------------------------------------------------
|
23839
|
+
ForestLiana::ResourcesGetterTest: test_StringField_page_2_size_10
|
23840
|
+
-----------------------------------------------------------------
|
23841
|
+
[1m[36mSQL (0.2ms)[0m [1mSELECT "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[0m
|
23842
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "string_fields"
|
23843
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
23844
|
+
[1m[35m (0.1ms)[0m begin transaction
|
23845
|
+
-----------------------------------------------------------------
|
23846
|
+
ForestLiana::ResourcesGetterTest: test_StringField_page_1_size_15
|
23847
|
+
-----------------------------------------------------------------
|
23848
|
+
[1m[36mSQL (0.3ms)[0m [1mSELECT "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[0m
|
23849
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "string_fields"
|
23850
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
23851
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23852
|
+
----------------------------------------------------------------
|
23853
|
+
ForestLiana::ResourcesGetterTest: test_Filter_on_ambiguous_field
|
23854
|
+
----------------------------------------------------------------
|
23855
|
+
[1m[36mSQL (0.4ms)[0m [1mSELECT "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[0m
|
23856
|
+
[1m[35m (0.1ms)[0m 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')
|
23857
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
23858
|
+
[1m[35m (0.1ms)[0m begin transaction
|
23859
|
+
----------------------------------------------------------------
|
23860
|
+
ForestLiana::ResourcesGetterTest: test_StringField_sort_by_field
|
23861
|
+
----------------------------------------------------------------
|
23862
|
+
[1m[36mSQL (0.2ms)[0m [1mSELECT "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[0m
|
23863
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "string_fields"
|
23864
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
23865
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23866
|
+
------------------------------------------------------------
|
23867
|
+
ForestLiana::ResourcesGetterTest: test_Filter_before_x_hours
|
23868
|
+
------------------------------------------------------------
|
23869
|
+
[1m[36mSQL (0.3ms)[0m [1mSELECT "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-06-21 21:17:22 UTC') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0[0m
|
23870
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "trees" WHERE ("trees"."created_at" < '2018-06-21 21:17:22 UTC')
|
23871
|
+
[1m[36mOwner Load (0.1ms)[0m [1mSELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1[0m [["id", 2]]
|
23872
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23873
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
23874
|
+
-----------------------------------------------------------------------------
|
23875
|
+
ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_simple_filter
|
23876
|
+
-----------------------------------------------------------------------------
|
23877
|
+
[1m[35m (1.2ms)[0m SELECT DISTINCT COUNT(DISTINCT "boolean_fields"."id") FROM "boolean_fields" WHERE ("boolean_fields"."field" = 1)
|
23878
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
23879
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23880
|
+
----------------------------------------------------------------------------------------------------
|
23881
|
+
ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_boolean_field
|
23882
|
+
----------------------------------------------------------------------------------------------------
|
23883
|
+
[1m[36m (0.2ms)[0m [1mSELECT 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)[0m
|
23884
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
23885
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23886
|
+
-------------------------------------------------------------------------------------------------
|
23887
|
+
ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_enum_field
|
23888
|
+
-------------------------------------------------------------------------------------------------
|
23889
|
+
[1m[35m (0.2ms)[0m 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')
|
23890
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
23891
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23892
|
+
----------------------------------------------------------------------------------------------------
|
23893
|
+
ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_integer_field
|
23894
|
+
----------------------------------------------------------------------------------------------------
|
23895
|
+
[1m[36m (0.2ms)[0m [1mSELECT 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')[0m
|
23896
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
23897
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23898
|
+
---------------------------------------------------------------------------------------
|
23899
|
+
ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_foreign_key
|
23900
|
+
---------------------------------------------------------------------------------------
|
23901
|
+
[1m[35m (1.3ms)[0m 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
|
23902
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
23903
|
+
[1m[35m (0.0ms)[0m begin transaction
|
23904
|
+
-----------------------------------------------------------------------------------------
|
23905
|
+
ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_boolean_field
|
23906
|
+
-----------------------------------------------------------------------------------------
|
23907
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(*) AS count_all, boolean_fields.field AS boolean_fields_field FROM "boolean_fields" GROUP BY boolean_fields.field ORDER BY count_all DESC[0m
|
23908
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
23909
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23910
|
+
------------------------------------------------------------------------
|
23911
|
+
ForestLiana::SchemaAdapterTest: test_Float_should_have_the_type_`Number`
|
23912
|
+
------------------------------------------------------------------------
|
23913
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23914
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23915
|
+
-------------------------------------------------------------------------
|
23916
|
+
ForestLiana::SchemaAdapterTest: test_DateTime_should_have_the_type_`Date`
|
23917
|
+
-------------------------------------------------------------------------
|
23918
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23919
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
23920
|
+
-------------------------------------------------------------------------
|
23921
|
+
ForestLiana::SchemaAdapterTest: test_String_should_have_the_type_`String`
|
23922
|
+
-------------------------------------------------------------------------
|
23923
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
23924
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23925
|
+
---------------------------------------------------------------------------
|
23926
|
+
ForestLiana::SchemaAdapterTest: test_Boolean_should_have_the_type_`Boolean`
|
23927
|
+
---------------------------------------------------------------------------
|
23928
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
23929
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
23930
|
+
---------------------------------------------------------------------
|
23931
|
+
ForestLiana::SchemaAdapterTest: test_Date_should_have_the_type_`Date`
|
23932
|
+
---------------------------------------------------------------------
|
23933
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23934
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
23935
|
+
---------------------------------------------------------
|
23936
|
+
ForestLiana::SchemaAdapterTest: test_hasMany_relationship
|
23937
|
+
---------------------------------------------------------
|
23938
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23939
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23940
|
+
--------------------------------------------------------
|
23941
|
+
ForestLiana::SchemaAdapterTest: test_hasOne_relationship
|
23942
|
+
--------------------------------------------------------
|
23943
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23944
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23945
|
+
--------------------------------------------------------------------------
|
23946
|
+
ForestLiana::SchemaAdapterTest: test_Decimal_should_have_the_type_`Number`
|
23947
|
+
--------------------------------------------------------------------------
|
23948
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23949
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23950
|
+
--------------------------------------------------------------------------
|
23951
|
+
ForestLiana::SchemaAdapterTest: test_Integer_should_have_the_type_`Number`
|
23952
|
+
--------------------------------------------------------------------------
|
23953
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23954
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23955
|
+
-----------------------------------------------------------
|
23956
|
+
ForestLiana::SchemaAdapterTest: test_belongsTo_relationship
|
23957
|
+
-----------------------------------------------------------
|
23958
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23959
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
23960
|
+
----------------------------------------------------------------------------------
|
23961
|
+
ForestLiana::SchemaAdapterTest: test_hasMany_relationhip_with_specified_class_name
|
23962
|
+
----------------------------------------------------------------------------------
|
23963
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
23964
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23965
|
+
------------------------------------------------------------------------------------
|
23966
|
+
ForestLiana::SchemaAdapterTest: test_belongsTo_relationhip_with_specified_class_name
|
23967
|
+
------------------------------------------------------------------------------------
|
23968
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
23969
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
23970
|
+
---------------------------
|
23971
|
+
ForestLianaTest: test_truth
|
23972
|
+
---------------------------
|
23973
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
23974
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
23975
|
+
-----------------------------------
|
23976
|
+
ForestLiana::RouteTest: test_Routes
|
23977
|
+
-----------------------------------
|
23978
|
+
[1m[35m (0.1ms)[0m 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.8.
|
4
|
+
version: 2.8.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-06-
|
11
|
+
date: 2018-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|