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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2c5dee061bff5a6292ee2524d8ec3df10fdd6698960285532cb847c9407412d
4
- data.tar.gz: 224fc3ad7164a489f3480fe06b153b31a20614a1f4aaf1fc2e66461fa8993218
3
+ metadata.gz: 1f706a8e009cd73a7493662f62db58e8fa05daccd6c51b3303919354573bbdb6
4
+ data.tar.gz: 28c20ebe192a3e9aa366026c1e2f65401cc5627806c6e1348ca6a29297b3889b
5
5
  SHA512:
6
- metadata.gz: b0b21988df4803f55f3ef8a72980af8d52d512faddd0189458bc3ab5639e7608fd240da95d0f0a075458a7d855f8b5ff9f81a2b694ef9adf2e29a1c33c373c48
7
- data.tar.gz: 557a854cee3d809681be1ee96f420266278c3ea2d665f4d4653b574b71ec8a8fa03acf5c6ee4d2c48b031485079d5c3bf0ac39510c31fde228a3d7b18e77dc7f
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
- @records = @search_query_builder.perform(
68
- get_resource()
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 = get_resource().eager_load(@includes)
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().eager_load(@includes)
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.eager_load(@includes)
69
+ @records = optimize_record_loading(@resource, @records)
70
70
  end
71
71
 
72
72
  def count
73
- # NOTICE: For performance reasons, do not eager load the data if there is no search or
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.eager_load(@includes).count : @records.count
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 = get_resource().eager_load(@includes)
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
 
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "7.6.3"
2
+ VERSION = "7.6.4"
3
3
  end
@@ -3,4 +3,5 @@ class Island < ActiveRecord::Base
3
3
 
4
4
  has_many :trees
5
5
  has_one :location
6
+ has_one :eponymous_tree, ->(record) { where(name: record.name) }, class_name: 'Tree'
6
7
  end
@@ -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 3 belongsTo associations' do
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(3)
21
- expect(associations.first.name).to eq(:owner)
22
- expect(associations.first.klass).to eq(User)
23
- expect(associations.second.name).to eq(:cutter)
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(1)
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.3
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-05-19 00:00:00.000000000 Z
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/dummy/db/migrate/20150608132159_create_boolean_field.rb
519
- - test/dummy/db/migrate/20160627172951_create_tree.rb
520
- - test/dummy/db/migrate/20170614141921_create_serialize_field.rb
521
- - test/dummy/db/migrate/20160628173505_add_timestamps.rb
522
- - test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
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/views/layouts/application.html.erb
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/has_one_field.rb
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/string_field.rb
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/integer_field.rb
561
- - test/dummy/app/models/reference.rb
562
- - test/dummy/app/models/serialize_field.rb
563
- - test/dummy/app/assets/stylesheets/application.css
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/secrets.yml
572
- - test/dummy/config/routes.rb
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/mime_types.rb
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/config/database.yml
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/setup
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/test_helper.rb
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/routing/route_test.rb
603
- - test/services/forest_liana/schema_adapter_test.rb
604
- - test/services/forest_liana/operator_date_interval_parser_test.rb
605
- - spec/dummy/lib/forest_liana/collections/user.rb
606
- - spec/dummy/lib/forest_liana/collections/location.rb
607
- - spec/dummy/lib/forest_liana/collections/island.rb
608
- - spec/dummy/lib/forest_liana/controllers/owners_controller.rb
609
- - spec/dummy/lib/forest_liana/controllers/owner_trees_controller.rb
610
- - spec/dummy/db/migrate/20210526084712_create_products.rb
611
- - spec/dummy/db/migrate/20190226173051_create_isle.rb
612
- - spec/dummy/db/migrate/20210326140855_create_locations.rb
613
- - spec/dummy/db/migrate/20210326110524_create_references.rb
614
- - spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
615
- - spec/dummy/db/migrate/20190226174951_create_tree.rb
616
- - spec/dummy/db/migrate/20190226172951_create_user.rb
617
- - spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
618
- - spec/dummy/db/migrate/20210511141752_create_owners.rb
619
- - spec/dummy/db/schema.rb
620
- - spec/dummy/app/controllers/forest/islands_controller.rb
621
- - spec/dummy/app/controllers/application_controller.rb
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/views/layouts/application.html.erb
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/models/reference.rb
631
- - spec/dummy/app/assets/stylesheets/application.css
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/config/routes.rb
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/secrets.yml
641
- - spec/dummy/config/routes.rb
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/assets.rb
660
+ - spec/dummy/config/initializers/cookies_serializer.rb
651
661
  - spec/dummy/config/initializers/forest_liana.rb
652
- - spec/dummy/config/database.yml
653
- - spec/dummy/config/boot.rb
654
- - spec/dummy/Rakefile
655
- - spec/dummy/bin/bundle
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/setup
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/actions_controller_spec.rb
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/config/initializers/logger_spec.rb
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