forest_liana 1.9.8 → 2.0.0
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/associations_controller.rb +12 -2
- data/app/controllers/forest_liana/resources_controller.rb +14 -5
- data/app/controllers/forest_liana/router.rb +1 -2
- data/app/models/forest_liana/model/collection.rb +3 -1
- data/app/serializers/forest_liana/collection_serializer.rb +1 -0
- data/app/services/forest_liana/base_getter.rb +2 -4
- data/app/services/forest_liana/has_many_getter.rb +2 -3
- data/app/services/forest_liana/resources_getter.rb +8 -8
- data/app/services/forest_liana/schema_adapter.rb +35 -6
- data/app/services/forest_liana/schema_utils.rb +17 -12
- data/lib/forest_liana.rb +12 -2
- data/lib/forest_liana/bootstraper.rb +31 -7
- data/lib/forest_liana/collection.rb +27 -3
- data/lib/forest_liana/version.rb +1 -1
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +22100 -0
- data/test/services/forest_liana/has_many_getter_test.rb +2 -2
- data/test/services/forest_liana/resource_updater_test.rb +5 -5
- data/test/services/forest_liana/resources_getter_test.rb +5 -5
- data/test/services/forest_liana/schema_adapter_test.rb +5 -5
- metadata +2 -2
@@ -2,12 +2,12 @@ module ForestLiana
|
|
2
2
|
class ResourcesGetterTest < ActiveSupport::TestCase
|
3
3
|
|
4
4
|
collectionOwner = ForestLiana::Model::Collection.new({
|
5
|
-
name: '
|
5
|
+
name: 'Owner',
|
6
6
|
fields: []
|
7
7
|
})
|
8
8
|
|
9
9
|
collectionTree = ForestLiana::Model::Collection.new({
|
10
|
-
name: '
|
10
|
+
name: 'Tree',
|
11
11
|
fields: []
|
12
12
|
})
|
13
13
|
|
@@ -2,7 +2,7 @@ module ForestLiana
|
|
2
2
|
class ResourceUpdaterTest < ActiveSupport::TestCase
|
3
3
|
|
4
4
|
collection = ForestLiana::Model::Collection.new({
|
5
|
-
name: '
|
5
|
+
name: 'SerializeField',
|
6
6
|
fields: [{
|
7
7
|
type: 'String',
|
8
8
|
field: 'field'
|
@@ -17,7 +17,7 @@ module ForestLiana
|
|
17
17
|
id: 1,
|
18
18
|
data: {
|
19
19
|
id: 1,
|
20
|
-
type: "
|
20
|
+
type: "SerializeField",
|
21
21
|
attributes: {}
|
22
22
|
}
|
23
23
|
)
|
@@ -33,7 +33,7 @@ module ForestLiana
|
|
33
33
|
id: 1,
|
34
34
|
data: {
|
35
35
|
id: 1,
|
36
|
-
type: "
|
36
|
+
type: "SerializeField",
|
37
37
|
attributes: {
|
38
38
|
field: nil
|
39
39
|
}
|
@@ -51,7 +51,7 @@ module ForestLiana
|
|
51
51
|
id: 1,
|
52
52
|
data: {
|
53
53
|
id: 1,
|
54
|
-
type: "
|
54
|
+
type: "SerializeField",
|
55
55
|
attributes: {
|
56
56
|
field: "Lucas"
|
57
57
|
}
|
@@ -70,7 +70,7 @@ module ForestLiana
|
|
70
70
|
id: 1,
|
71
71
|
data: {
|
72
72
|
id: 1,
|
73
|
-
type: "
|
73
|
+
type: "SerializeField",
|
74
74
|
attributes: {
|
75
75
|
field: "[\"test\", \"test\"]"
|
76
76
|
}
|
@@ -84,7 +84,7 @@ module ForestLiana
|
|
84
84
|
|
85
85
|
test 'Filter on ambiguous field' do
|
86
86
|
getter = ResourcesGetter.new(Tree, {
|
87
|
-
fields: { '
|
87
|
+
fields: { 'Tree' => 'id' },
|
88
88
|
page: { size: 10, number: 1 },
|
89
89
|
filter: {
|
90
90
|
'created_at' => '>2015-06-18 08:00:00',
|
@@ -106,7 +106,7 @@ module ForestLiana
|
|
106
106
|
|
107
107
|
test 'Filter before x days' do
|
108
108
|
getter = ResourcesGetter.new(Tree, {
|
109
|
-
fields: { '
|
109
|
+
fields: { 'Tree' => 'id' },
|
110
110
|
page: { size: 10, number: 1 },
|
111
111
|
filter: {
|
112
112
|
'created_at' => '$3HoursBefore',
|
@@ -127,7 +127,7 @@ module ForestLiana
|
|
127
127
|
|
128
128
|
test 'Sort on an ambiguous field name with a filter' do
|
129
129
|
getter = ResourcesGetter.new(Tree, {
|
130
|
-
fields: { '
|
130
|
+
fields: { 'Tree' => 'id' },
|
131
131
|
page: { size: 10, number: 1 },
|
132
132
|
sort: '-name',
|
133
133
|
filter: { 'owner:name' => 'Arnaud Besnier' },
|
@@ -161,7 +161,7 @@ module ForestLiana
|
|
161
161
|
|
162
162
|
test 'Filter on an updated_at field of an associated collection' do
|
163
163
|
getter = ResourcesGetter.new(Tree, {
|
164
|
-
fields: { '
|
164
|
+
fields: { 'Tree' => 'id' },
|
165
165
|
page: { size: 10, number: 1 },
|
166
166
|
filter: { 'owner:updated_at' => '$previousYear' },
|
167
167
|
filterType: 'and',
|
@@ -178,7 +178,7 @@ module ForestLiana
|
|
178
178
|
|
179
179
|
test 'Filter equal on an updated_at field of an associated collection' do
|
180
180
|
getter = ResourcesGetter.new(Tree, {
|
181
|
-
fields: { '
|
181
|
+
fields: { 'Tree' => 'id' },
|
182
182
|
page: { size: 10, number: 1 },
|
183
183
|
filter: {
|
184
184
|
'owner:updated_at' => 'Sat Jul 02 2016 11:52:00 GMT-0400 (EDT)',
|
@@ -40,7 +40,7 @@ module ForestLiana
|
|
40
40
|
assert schema.fields.include?({
|
41
41
|
field: :has_one_field,
|
42
42
|
type: 'Number',
|
43
|
-
reference: '
|
43
|
+
reference: 'HasOneField.id',
|
44
44
|
inverseOf: 'belongs_to_field'
|
45
45
|
})
|
46
46
|
end
|
@@ -50,7 +50,7 @@ module ForestLiana
|
|
50
50
|
assert schema.fields.include?({
|
51
51
|
field: 'belongs_to_field',
|
52
52
|
type: 'Number',
|
53
|
-
reference: '
|
53
|
+
reference: 'BelongsToField.id',
|
54
54
|
inverseOf: 'has_one_field',
|
55
55
|
"is-filterable": true
|
56
56
|
})
|
@@ -61,7 +61,7 @@ module ForestLiana
|
|
61
61
|
assert schema.fields.include?({
|
62
62
|
field: 'belongs_to_fields',
|
63
63
|
type: ['Number'],
|
64
|
-
reference: '
|
64
|
+
reference: 'BelongsToField.id',
|
65
65
|
inverseOf: 'has_many_field',
|
66
66
|
"is-filterable": false
|
67
67
|
})
|
@@ -72,7 +72,7 @@ module ForestLiana
|
|
72
72
|
assert schema.fields.include?({
|
73
73
|
field: 'foo',
|
74
74
|
type: ['Number'],
|
75
|
-
reference: '
|
75
|
+
reference: 'BelongsToField.id',
|
76
76
|
inverseOf: 'has_many_class_name_field',
|
77
77
|
"is-filterable": false
|
78
78
|
})
|
@@ -83,7 +83,7 @@ module ForestLiana
|
|
83
83
|
assert schema.fields.include?({
|
84
84
|
field: :foo,
|
85
85
|
type: 'Number',
|
86
|
-
reference: '
|
86
|
+
reference: 'HasOneField.id',
|
87
87
|
inverseOf: 'belongs_to_class_name_field'
|
88
88
|
})
|
89
89
|
end
|
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:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sandro Munda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|