forest_liana 7.6.3 → 7.6.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/services/forest_liana/base_getter.rb +22 -0
- data/app/services/forest_liana/has_many_getter.rb +2 -6
- data/app/services/forest_liana/pie_stat_getter.rb +1 -1
- data/app/services/forest_liana/resource_getter.rb +1 -1
- data/app/services/forest_liana/resources_getter.rb +3 -3
- data/app/services/forest_liana/value_stat_getter.rb +1 -1
- data/lib/forest_liana/version.rb +1 -1
- data/spec/dummy/app/models/island.rb +1 -0
- data/spec/dummy/app/models/tree.rb +5 -0
- data/spec/helpers/forest_liana/query_helper_spec.rb +18 -11
- data/spec/services/forest_liana/resources_getter_spec.rb +15 -0
- data/spec/services/forest_liana/schema_adapter_spec.rb +2 -2
- metadata +129 -129
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f706a8e009cd73a7493662f62db58e8fa05daccd6c51b3303919354573bbdb6
|
4
|
+
data.tar.gz: 28c20ebe192a3e9aa366026c1e2f65401cc5627806c6e1348ca6a29297b3889b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7119a64a459718a8f65b7c5a85cefcd6e427360ce14a8f5bd0749ef5eb88b30441ea82c1f409e706a60919fc7615f2f2b7b7d21d41e10490d8f9f3f2010205f
|
7
|
+
data.tar.gz: e85658a00033eccc188f75e59cb15a4b299044e4f7e012f92b07dad854a40b3811b524a3ba7bfedd74f2d00193d01d53424c5da09468947f5c998fd24595380b
|
@@ -29,5 +29,27 @@ module ForestLiana
|
|
29
29
|
def compute_includes
|
30
30
|
@includes = ForestLiana::QueryHelper.get_one_association_names_symbol(@resource)
|
31
31
|
end
|
32
|
+
|
33
|
+
def optimize_record_loading(resource, records)
|
34
|
+
instance_dependent_associations = instance_dependent_associations(resource)
|
35
|
+
eager_loads = @includes - instance_dependent_associations
|
36
|
+
|
37
|
+
result = records.eager_load(eager_loads)
|
38
|
+
|
39
|
+
# Rails 7 can mix `eager_load` and `preload` in the same scope
|
40
|
+
# Rails 6 cannot mix `eager_load` and `preload` in the same scope
|
41
|
+
# Rails 6 and 7 cannot mix `eager_load` and `includes` in the same scope
|
42
|
+
if Rails::VERSION::MAJOR >= 7
|
43
|
+
result = result.preload(instance_dependent_associations)
|
44
|
+
end
|
45
|
+
|
46
|
+
result
|
47
|
+
end
|
48
|
+
|
49
|
+
def instance_dependent_associations(resource)
|
50
|
+
@includes.select do |association_name|
|
51
|
+
resource.reflect_on_association(association_name)&.scope&.arity&.positive?
|
52
|
+
end
|
53
|
+
end
|
32
54
|
end
|
33
55
|
end
|
@@ -64,12 +64,8 @@ module ForestLiana
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def prepare_query
|
67
|
-
|
68
|
-
|
69
|
-
.find(@params[:id])
|
70
|
-
.send(@params[:association_name])
|
71
|
-
.eager_load(@includes)
|
72
|
-
)
|
67
|
+
association = get_resource().find(@params[:id]).send(@params[:association_name])
|
68
|
+
@records = optimize_record_loading(association, @search_query_builder.perform(association))
|
73
69
|
end
|
74
70
|
|
75
71
|
def offset
|
@@ -5,7 +5,7 @@ module ForestLiana
|
|
5
5
|
def perform
|
6
6
|
if @params[:group_by_field]
|
7
7
|
timezone_offset = @params[:timezone].to_i
|
8
|
-
resource =
|
8
|
+
resource = optimize_record_loading(@resource, get_resource)
|
9
9
|
|
10
10
|
filters = ForestLiana::ScopeManager.append_scope_for_user(@params[:filters], @user, @resource.name)
|
11
11
|
|
@@ -12,7 +12,7 @@ module ForestLiana
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def perform
|
15
|
-
records = get_resource()
|
15
|
+
records = optimize_record_loading(@resource, get_resource())
|
16
16
|
scoped_records = ForestLiana::ScopeManager.apply_scopes_on_records(records, @user, @collection_name, @params[:timezone])
|
17
17
|
@record = scoped_records.find(@params[:id])
|
18
18
|
end
|
@@ -66,13 +66,13 @@ module ForestLiana
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def perform
|
69
|
-
@records = @records
|
69
|
+
@records = optimize_record_loading(@resource, @records)
|
70
70
|
end
|
71
71
|
|
72
72
|
def count
|
73
|
-
# NOTICE: For performance reasons, do not
|
73
|
+
# NOTICE: For performance reasons, do not optimize loading the data if there is no search or
|
74
74
|
# filters on associations.
|
75
|
-
@records_count = @count_needs_includes ? @records
|
75
|
+
@records_count = @count_needs_includes ? optimize_record_loading(@resource, @records).count : @records.count
|
76
76
|
end
|
77
77
|
|
78
78
|
def query_for_batch
|
@@ -4,7 +4,7 @@ module ForestLiana
|
|
4
4
|
|
5
5
|
def perform
|
6
6
|
return if @params[:aggregate].blank?
|
7
|
-
resource =
|
7
|
+
resource = optimize_record_loading(@resource, get_resource)
|
8
8
|
|
9
9
|
filters = ForestLiana::ScopeManager.append_scope_for_user(@params[:filters], @user, @resource.name)
|
10
10
|
|
data/lib/forest_liana/version.rb
CHANGED
@@ -2,4 +2,9 @@ class Tree < ActiveRecord::Base
|
|
2
2
|
belongs_to :owner, class_name: 'User', inverse_of: :trees_owned
|
3
3
|
belongs_to :cutter, class_name: 'User', inverse_of: :trees_cut
|
4
4
|
belongs_to :island
|
5
|
+
belongs_to :eponymous_island,
|
6
|
+
->(record) { where(name: record.name) },
|
7
|
+
class_name: 'Island',
|
8
|
+
inverse_of: :eponymous_tree,
|
9
|
+
optional: true
|
5
10
|
end
|
@@ -14,29 +14,35 @@ module ForestLiana
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
context 'on a model having
|
17
|
+
context 'on a model having some belongsTo associations' do
|
18
|
+
let(:expected_association_attributes) do
|
19
|
+
[
|
20
|
+
{ name: :owner, klass: User },
|
21
|
+
{ name: :cutter, klass: User },
|
22
|
+
{ name: :island, klass: Island },
|
23
|
+
{ name: :eponymous_island, klass: Island },
|
24
|
+
]
|
25
|
+
end
|
26
|
+
|
18
27
|
it 'should return the one-one associations' do
|
19
28
|
associations = QueryHelper.get_one_associations(Tree)
|
20
|
-
expect(associations.length).to eq(
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
expect(associations.second.klass).to eq(User)
|
25
|
-
expect(associations.third.name).to eq(:island)
|
26
|
-
expect(associations.third.klass).to eq(Island)
|
29
|
+
expect(associations.length).to eq(expected_association_attributes.length)
|
30
|
+
associations.zip(expected_association_attributes).each do |association, expected_attributes|
|
31
|
+
expect(association).to have_attributes(expected_attributes)
|
32
|
+
end
|
27
33
|
end
|
28
34
|
end
|
29
35
|
end
|
30
36
|
|
31
37
|
describe 'get_one_association_names_symbol' do
|
32
38
|
it 'should return the one-one associations names as symbols' do
|
33
|
-
expect(QueryHelper.get_one_association_names_symbol(Tree)).to eq([:owner, :cutter, :island])
|
39
|
+
expect(QueryHelper.get_one_association_names_symbol(Tree)).to eq([:owner, :cutter, :island, :eponymous_island])
|
34
40
|
end
|
35
41
|
end
|
36
42
|
|
37
43
|
describe 'get_one_association_names_string' do
|
38
44
|
it 'should return the one-one associations names as strings' do
|
39
|
-
expect(QueryHelper.get_one_association_names_string(Tree)).to eq(['owner', 'cutter', 'island'])
|
45
|
+
expect(QueryHelper.get_one_association_names_string(Tree)).to eq(['owner', 'cutter', 'island', 'eponymous_island'])
|
40
46
|
end
|
41
47
|
end
|
42
48
|
|
@@ -64,8 +70,9 @@ module ForestLiana
|
|
64
70
|
end
|
65
71
|
|
66
72
|
it 'should return relationships on models having a custom table name' do
|
67
|
-
expect(tables_associated_to_relations_name['isle'].length).to eq(
|
73
|
+
expect(tables_associated_to_relations_name['isle'].length).to eq(2)
|
68
74
|
expect(tables_associated_to_relations_name['isle'].first).to eq(:island)
|
75
|
+
expect(tables_associated_to_relations_name['isle'].second).to eq(:eponymous_island)
|
69
76
|
end
|
70
77
|
end
|
71
78
|
end
|
@@ -155,6 +155,21 @@ module ForestLiana
|
|
155
155
|
end
|
156
156
|
end
|
157
157
|
|
158
|
+
describe 'when getting instance dependent associations' do
|
159
|
+
let(:resource) { Island }
|
160
|
+
let(:fields) { { 'Island' => 'id,eponymous_tree', 'eponymous_tree' => 'id,name'} }
|
161
|
+
|
162
|
+
it 'should get only the expected records' do
|
163
|
+
getter.perform
|
164
|
+
records = getter.records
|
165
|
+
count = getter.count
|
166
|
+
|
167
|
+
expect(records.count).to eq Island.count
|
168
|
+
expect(count).to eq Island.count
|
169
|
+
expect(records.map(&:name)).to match_array(Island.pluck(:name))
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
158
173
|
describe 'when filtering on an ambiguous field' do
|
159
174
|
let(:resource) { Tree }
|
160
175
|
let(:pageSize) { 5 }
|
@@ -8,7 +8,7 @@ module ForestLiana
|
|
8
8
|
end
|
9
9
|
|
10
10
|
expect(collection.fields.map { |field| field[:field] }).to eq(
|
11
|
-
["created_at", "id", "location", "name", "trees", "updated_at"]
|
11
|
+
["created_at", "eponymous_tree", "id", "location", "name", "trees", "updated_at"]
|
12
12
|
)
|
13
13
|
end
|
14
14
|
end
|
@@ -20,7 +20,7 @@ module ForestLiana
|
|
20
20
|
end
|
21
21
|
|
22
22
|
expect(collection.fields.map { |field| field[:field].to_s}).to eq(
|
23
|
-
["age", "created_at", "cutter", "id", "island", "name", "owner", "updated_at"]
|
23
|
+
["age", "created_at", "cutter", "eponymous_island", "id", "island", "name", "owner", "updated_at"]
|
24
24
|
)
|
25
25
|
end
|
26
26
|
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: 7.6.
|
4
|
+
version: 7.6.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: 2022-
|
11
|
+
date: 2022-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -515,176 +515,176 @@ signing_key:
|
|
515
515
|
specification_version: 4
|
516
516
|
summary: Official Rails Liana for Forest
|
517
517
|
test_files:
|
518
|
-
- test/
|
519
|
-
- test/
|
520
|
-
- test/
|
521
|
-
- test/
|
522
|
-
- test/
|
523
|
-
- test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
|
524
|
-
- test/dummy/db/migrate/20150608133044_create_has_one_field.rb
|
525
|
-
- test/dummy/db/migrate/20150608131610_create_float_field.rb
|
526
|
-
- test/dummy/db/migrate/20150608131603_create_decimal_field.rb
|
527
|
-
- test/dummy/db/migrate/20150608131430_create_integer_field.rb
|
528
|
-
- test/dummy/db/migrate/20150608150016_create_has_many_field.rb
|
529
|
-
- test/dummy/db/migrate/20150608132621_create_string_field.rb
|
530
|
-
- test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
|
531
|
-
- test/dummy/db/migrate/20160627172810_create_owner.rb
|
532
|
-
- test/dummy/db/migrate/20150612112520_create_has_and_belongs_to_many_field.rb
|
533
|
-
- test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
|
534
|
-
- test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
|
535
|
-
- test/dummy/db/migrate/20150608130516_create_date_field.rb
|
536
|
-
- test/dummy/db/migrate/20181111162121_create_references_table.rb
|
537
|
-
- test/dummy/db/schema.rb
|
538
|
-
- test/dummy/public/422.html
|
539
|
-
- test/dummy/public/500.html
|
540
|
-
- test/dummy/public/404.html
|
541
|
-
- test/dummy/public/favicon.ico
|
542
|
-
- test/dummy/app/controllers/application_controller.rb
|
518
|
+
- test/test_helper.rb
|
519
|
+
- test/forest_liana_test.rb
|
520
|
+
- test/routing/route_test.rb
|
521
|
+
- test/services/forest_liana/schema_adapter_test.rb
|
522
|
+
- test/services/forest_liana/operator_date_interval_parser_test.rb
|
543
523
|
- test/dummy/app/helpers/application_helper.rb
|
544
|
-
- test/dummy/app/
|
545
|
-
- test/dummy/app/models/has_many_class_name_field.rb
|
546
|
-
- test/dummy/app/models/tree.rb
|
547
|
-
- test/dummy/app/models/boolean_field.rb
|
524
|
+
- test/dummy/app/models/serialize_field.rb
|
548
525
|
- test/dummy/app/models/float_field.rb
|
549
|
-
- test/dummy/app/models/
|
526
|
+
- test/dummy/app/models/belongs_to_field.rb
|
527
|
+
- test/dummy/app/models/has_many_class_name_field.rb
|
528
|
+
- test/dummy/app/models/reference.rb
|
529
|
+
- test/dummy/app/models/has_many_field.rb
|
550
530
|
- test/dummy/app/models/has_many_through_field.rb
|
531
|
+
- test/dummy/app/models/integer_field.rb
|
532
|
+
- test/dummy/app/models/string_field.rb
|
551
533
|
- test/dummy/app/models/owner.rb
|
552
|
-
- test/dummy/app/models/date_field.rb
|
553
|
-
- test/dummy/app/models/has_and_belongs_to_many_field.rb
|
554
|
-
- test/dummy/app/models/has_many_field.rb
|
555
|
-
- test/dummy/app/models/belongs_to_class_name_field.rb
|
556
534
|
- test/dummy/app/models/decimal_field.rb
|
557
|
-
- test/dummy/app/models/
|
558
|
-
- test/dummy/app/models/belongs_to_field.rb
|
535
|
+
- test/dummy/app/models/has_and_belongs_to_many_field.rb
|
559
536
|
- test/dummy/app/models/polymorphic_field.rb
|
560
|
-
- test/dummy/app/models/
|
561
|
-
- test/dummy/app/models/
|
562
|
-
- test/dummy/app/models/
|
563
|
-
- test/dummy/app/
|
537
|
+
- test/dummy/app/models/tree.rb
|
538
|
+
- test/dummy/app/models/belongs_to_class_name_field.rb
|
539
|
+
- test/dummy/app/models/has_one_field.rb
|
540
|
+
- test/dummy/app/models/date_field.rb
|
541
|
+
- test/dummy/app/models/boolean_field.rb
|
542
|
+
- test/dummy/app/views/layouts/application.html.erb
|
543
|
+
- test/dummy/app/controllers/application_controller.rb
|
564
544
|
- test/dummy/app/assets/config/manifest.js
|
565
545
|
- test/dummy/app/assets/javascripts/application.js
|
546
|
+
- test/dummy/app/assets/stylesheets/application.css
|
547
|
+
- test/dummy/public/422.html
|
548
|
+
- test/dummy/public/favicon.ico
|
549
|
+
- test/dummy/public/404.html
|
550
|
+
- test/dummy/public/500.html
|
566
551
|
- test/dummy/config.ru
|
552
|
+
- test/dummy/config/routes.rb
|
553
|
+
- test/dummy/config/secrets.yml
|
554
|
+
- test/dummy/config/application.rb
|
555
|
+
- test/dummy/config/boot.rb
|
556
|
+
- test/dummy/config/environments/development.rb
|
567
557
|
- test/dummy/config/environments/production.rb
|
568
558
|
- test/dummy/config/environments/test.rb
|
569
|
-
- test/dummy/config/environments/development.rb
|
570
559
|
- test/dummy/config/environment.rb
|
571
|
-
- test/dummy/config/
|
572
|
-
- test/dummy/config/
|
573
|
-
- test/dummy/config/application.rb
|
560
|
+
- test/dummy/config/database.yml
|
561
|
+
- test/dummy/config/initializers/assets.rb
|
574
562
|
- test/dummy/config/initializers/backtrace_silencers.rb
|
575
|
-
- test/dummy/config/initializers/
|
576
|
-
- test/dummy/config/initializers/inflections.rb
|
577
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
563
|
+
- test/dummy/config/initializers/filter_parameter_logging.rb
|
578
564
|
- test/dummy/config/initializers/cookies_serializer.rb
|
565
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
566
|
+
- test/dummy/config/initializers/inflections.rb
|
567
|
+
- test/dummy/config/initializers/mime_types.rb
|
579
568
|
- test/dummy/config/initializers/session_store.rb
|
580
|
-
- test/dummy/config/initializers/filter_parameter_logging.rb
|
581
|
-
- test/dummy/config/initializers/assets.rb
|
582
569
|
- test/dummy/config/locales/en.yml
|
583
|
-
- test/dummy/
|
584
|
-
- test/dummy/config/boot.rb
|
585
|
-
- test/dummy/Rakefile
|
586
|
-
- test/dummy/bin/bundle
|
570
|
+
- test/dummy/bin/setup
|
587
571
|
- test/dummy/bin/rake
|
588
572
|
- test/dummy/bin/rails
|
589
|
-
- test/dummy/bin/
|
573
|
+
- test/dummy/bin/bundle
|
574
|
+
- test/dummy/Rakefile
|
575
|
+
- test/dummy/db/schema.rb
|
576
|
+
- test/dummy/db/migrate/20150608131610_create_float_field.rb
|
577
|
+
- test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
|
578
|
+
- test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
|
579
|
+
- test/dummy/db/migrate/20181111162121_create_references_table.rb
|
580
|
+
- test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
|
581
|
+
- test/dummy/db/migrate/20170614141921_create_serialize_field.rb
|
582
|
+
- test/dummy/db/migrate/20150608131603_create_decimal_field.rb
|
583
|
+
- test/dummy/db/migrate/20150608132621_create_string_field.rb
|
584
|
+
- test/dummy/db/migrate/20150608130516_create_date_field.rb
|
585
|
+
- test/dummy/db/migrate/20160628173505_add_timestamps.rb
|
586
|
+
- test/dummy/db/migrate/20160627172810_create_owner.rb
|
587
|
+
- test/dummy/db/migrate/20150608133044_create_has_one_field.rb
|
588
|
+
- test/dummy/db/migrate/20160627172951_create_tree.rb
|
589
|
+
- test/dummy/db/migrate/20150608150016_create_has_many_field.rb
|
590
|
+
- test/dummy/db/migrate/20150608131430_create_integer_field.rb
|
591
|
+
- test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
|
592
|
+
- test/dummy/db/migrate/20150608132159_create_boolean_field.rb
|
593
|
+
- test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
|
594
|
+
- test/dummy/db/migrate/20150612112520_create_has_and_belongs_to_many_field.rb
|
590
595
|
- test/dummy/README.rdoc
|
591
|
-
- test/
|
592
|
-
- test/forest_liana_test.rb
|
593
|
-
- test/fixtures/has_many_through_field.yml
|
594
|
-
- test/fixtures/has_one_field.yml
|
595
|
-
- test/fixtures/has_many_field.yml
|
596
|
-
- test/fixtures/reference.yml
|
596
|
+
- test/fixtures/serialize_field.yml
|
597
597
|
- test/fixtures/belongs_to_field.yml
|
598
|
+
- test/fixtures/has_one_field.yml
|
598
599
|
- test/fixtures/string_field.yml
|
600
|
+
- test/fixtures/reference.yml
|
599
601
|
- test/fixtures/owner.yml
|
600
|
-
- test/fixtures/serialize_field.yml
|
601
602
|
- test/fixtures/tree.yml
|
602
|
-
- test/
|
603
|
-
- test/
|
604
|
-
-
|
605
|
-
- spec/
|
606
|
-
- spec/
|
607
|
-
- spec/
|
608
|
-
- spec/
|
609
|
-
- spec/
|
610
|
-
- spec/
|
611
|
-
- spec/
|
612
|
-
- spec/
|
613
|
-
- spec/
|
614
|
-
- spec/
|
615
|
-
- spec/
|
616
|
-
- spec/
|
617
|
-
- spec/
|
618
|
-
- spec/
|
619
|
-
- spec/
|
620
|
-
- spec/
|
621
|
-
- spec/
|
603
|
+
- test/fixtures/has_many_through_field.yml
|
604
|
+
- test/fixtures/has_many_field.yml
|
605
|
+
- spec/helpers/forest_liana/query_helper_spec.rb
|
606
|
+
- spec/helpers/forest_liana/schema_helper_spec.rb
|
607
|
+
- spec/lib/forest_liana/schema_file_updater_spec.rb
|
608
|
+
- spec/lib/forest_liana/bootstrapper_spec.rb
|
609
|
+
- spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
|
610
|
+
- spec/services/forest_liana/scope_manager_spec.rb
|
611
|
+
- spec/services/forest_liana/has_many_getter_spec.rb
|
612
|
+
- spec/services/forest_liana/smart_action_field_validator_spec.rb
|
613
|
+
- spec/services/forest_liana/permissions_getter_spec.rb
|
614
|
+
- spec/services/forest_liana/apimap_sorter_spec.rb
|
615
|
+
- spec/services/forest_liana/resources_getter_spec.rb
|
616
|
+
- spec/services/forest_liana/ip_whitelist_checker_spec.rb
|
617
|
+
- spec/services/forest_liana/value_stat_getter_spec.rb
|
618
|
+
- spec/services/forest_liana/schema_adapter_spec.rb
|
619
|
+
- spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
|
620
|
+
- spec/services/forest_liana/filters_parser_spec.rb
|
621
|
+
- spec/services/forest_liana/pie_stat_getter_spec.rb
|
622
|
+
- spec/services/forest_liana/permissions_checker_live_queries_spec.rb
|
623
|
+
- spec/services/forest_liana/resource_updater_spec.rb
|
624
|
+
- spec/services/forest_liana/line_stat_getter_spec.rb
|
625
|
+
- spec/services/forest_liana/permissions_formatter_spec.rb
|
626
|
+
- spec/config/initializers/logger_spec.rb
|
622
627
|
- spec/dummy/app/helpers/application_helper.rb
|
623
|
-
- spec/dummy/app/
|
624
|
-
- spec/dummy/app/models/tree.rb
|
628
|
+
- spec/dummy/app/models/reference.rb
|
625
629
|
- spec/dummy/app/models/owner.rb
|
630
|
+
- spec/dummy/app/models/location.rb
|
631
|
+
- spec/dummy/app/models/tree.rb
|
626
632
|
- spec/dummy/app/models/product.rb
|
627
633
|
- spec/dummy/app/models/user.rb
|
628
|
-
- spec/dummy/app/models/location.rb
|
629
634
|
- spec/dummy/app/models/island.rb
|
630
|
-
- spec/dummy/app/
|
631
|
-
- spec/dummy/app/
|
635
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
636
|
+
- spec/dummy/app/controllers/forest/islands_controller.rb
|
637
|
+
- spec/dummy/app/controllers/application_controller.rb
|
638
|
+
- spec/dummy/app/config/routes.rb
|
632
639
|
- spec/dummy/app/assets/config/manifest.js
|
633
640
|
- spec/dummy/app/assets/javascripts/application.js
|
634
|
-
- spec/dummy/app/
|
641
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
635
642
|
- spec/dummy/config.ru
|
643
|
+
- spec/dummy/lib/forest_liana/controllers/owner_trees_controller.rb
|
644
|
+
- spec/dummy/lib/forest_liana/controllers/owners_controller.rb
|
645
|
+
- spec/dummy/lib/forest_liana/collections/location.rb
|
646
|
+
- spec/dummy/lib/forest_liana/collections/user.rb
|
647
|
+
- spec/dummy/lib/forest_liana/collections/island.rb
|
648
|
+
- spec/dummy/config/routes.rb
|
649
|
+
- spec/dummy/config/secrets.yml
|
650
|
+
- spec/dummy/config/application.rb
|
651
|
+
- spec/dummy/config/boot.rb
|
652
|
+
- spec/dummy/config/environments/development.rb
|
636
653
|
- spec/dummy/config/environments/production.rb
|
637
654
|
- spec/dummy/config/environments/test.rb
|
638
|
-
- spec/dummy/config/environments/development.rb
|
639
655
|
- spec/dummy/config/environment.rb
|
640
|
-
- spec/dummy/config/
|
641
|
-
- spec/dummy/config/
|
642
|
-
- spec/dummy/config/application.rb
|
656
|
+
- spec/dummy/config/database.yml
|
657
|
+
- spec/dummy/config/initializers/assets.rb
|
643
658
|
- spec/dummy/config/initializers/backtrace_silencers.rb
|
644
|
-
- spec/dummy/config/initializers/mime_types.rb
|
645
|
-
- spec/dummy/config/initializers/inflections.rb
|
646
|
-
- spec/dummy/config/initializers/wrap_parameters.rb
|
647
|
-
- spec/dummy/config/initializers/cookies_serializer.rb
|
648
|
-
- spec/dummy/config/initializers/session_store.rb
|
649
659
|
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
650
|
-
- spec/dummy/config/initializers/
|
660
|
+
- spec/dummy/config/initializers/cookies_serializer.rb
|
651
661
|
- spec/dummy/config/initializers/forest_liana.rb
|
652
|
-
- spec/dummy/config/
|
653
|
-
- spec/dummy/config/
|
654
|
-
- spec/dummy/
|
655
|
-
- spec/dummy/
|
662
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
663
|
+
- spec/dummy/config/initializers/inflections.rb
|
664
|
+
- spec/dummy/config/initializers/mime_types.rb
|
665
|
+
- spec/dummy/config/initializers/session_store.rb
|
666
|
+
- spec/dummy/bin/setup
|
656
667
|
- spec/dummy/bin/rake
|
657
668
|
- spec/dummy/bin/rails
|
658
|
-
- spec/dummy/bin/
|
669
|
+
- spec/dummy/bin/bundle
|
670
|
+
- spec/dummy/Rakefile
|
671
|
+
- spec/dummy/db/schema.rb
|
672
|
+
- spec/dummy/db/migrate/20190226173051_create_isle.rb
|
673
|
+
- spec/dummy/db/migrate/20210326140855_create_locations.rb
|
674
|
+
- spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
|
675
|
+
- spec/dummy/db/migrate/20210326110524_create_references.rb
|
676
|
+
- spec/dummy/db/migrate/20210526084712_create_products.rb
|
677
|
+
- spec/dummy/db/migrate/20210511141752_create_owners.rb
|
678
|
+
- spec/dummy/db/migrate/20190226172951_create_user.rb
|
679
|
+
- spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
|
680
|
+
- spec/dummy/db/migrate/20190226174951_create_tree.rb
|
659
681
|
- spec/dummy/README.rdoc
|
660
|
-
- spec/lib/forest_liana/bootstrapper_spec.rb
|
661
|
-
- spec/lib/forest_liana/schema_file_updater_spec.rb
|
662
682
|
- spec/rails_helper.rb
|
663
|
-
- spec/helpers/forest_liana/query_helper_spec.rb
|
664
|
-
- spec/helpers/forest_liana/schema_helper_spec.rb
|
665
683
|
- spec/requests/test.ru
|
666
|
-
- spec/requests/stats_spec.rb
|
667
|
-
- spec/requests/cors_spec.rb
|
668
684
|
- spec/requests/count_spec.rb
|
669
|
-
- spec/requests/
|
685
|
+
- spec/requests/cors_spec.rb
|
686
|
+
- spec/requests/stats_spec.rb
|
670
687
|
- spec/requests/resources_spec.rb
|
671
688
|
- spec/requests/authentications_spec.rb
|
672
|
-
- spec/
|
673
|
-
- spec/services/forest_liana/resources_getter_spec.rb
|
674
|
-
- spec/services/forest_liana/schema_adapter_spec.rb
|
675
|
-
- spec/services/forest_liana/has_many_getter_spec.rb
|
676
|
-
- spec/services/forest_liana/resource_updater_spec.rb
|
677
|
-
- spec/services/forest_liana/line_stat_getter_spec.rb
|
678
|
-
- spec/services/forest_liana/permissions_getter_spec.rb
|
679
|
-
- spec/services/forest_liana/smart_action_field_validator_spec.rb
|
680
|
-
- spec/services/forest_liana/apimap_sorter_spec.rb
|
681
|
-
- spec/services/forest_liana/scope_manager_spec.rb
|
682
|
-
- spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
|
683
|
-
- spec/services/forest_liana/filters_parser_spec.rb
|
684
|
-
- spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
|
685
|
-
- spec/services/forest_liana/permissions_formatter_spec.rb
|
686
|
-
- spec/services/forest_liana/permissions_checker_live_queries_spec.rb
|
687
|
-
- spec/services/forest_liana/ip_whitelist_checker_spec.rb
|
688
|
-
- spec/services/forest_liana/pie_stat_getter_spec.rb
|
689
|
-
- spec/services/forest_liana/value_stat_getter_spec.rb
|
689
|
+
- spec/requests/actions_controller_spec.rb
|
690
690
|
- spec/spec_helper.rb
|