forest_liana 7.0.2 → 7.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b09187df0403cde37e732b39f06e89a4df087f1d91fe7e13a80aafd3490b33e7
4
- data.tar.gz: d81c4f22e697da9926c8e35736ce76eb60eca5f5b7d5579cb9140f680dfd15d9
3
+ metadata.gz: 9e27c82de4862ee0ef5a2d1c3a83911f3257c5622979bb5a0fa2b60f367b6095
4
+ data.tar.gz: 2e63d770bd045090db7458feb0a417e002419998202f2a9b20dc4087cf38e635
5
5
  SHA512:
6
- metadata.gz: 40e99d1d96cd7142fb8ae68a4aab488eb9fd3ac67a36e2e78213a3e5b63c9e1f516840b0648255e4f2efe3c983ba0e4146bdac8081e5e8fba5a2c98201be62c8
7
- data.tar.gz: f3a7a15486d28e64d62157fdf2fbef4779ab67b78423e3b75f0dcebf31e8549c3a8ddb0bed3234709ee5776416dced7e9e39ee755527775e4b5cea09265543b7
6
+ metadata.gz: e0a8e5a2a516e9224c90acf8c0ae367d2a99e5ec1d40132851c6e1a258d5a338c68e48eccd9facbccbe4650258426fb1d74286f9c58438ebd4e3a83a8a947d3e
7
+ data.tar.gz: c64b4806f3073c29e20d4d5c24e6d3e28d785db24de4cb3e62e9dfedc971e6da4be789333913eacd0933d3ef3e7333029f5b3045d1394a768ba5cd0d808f780d
@@ -149,7 +149,7 @@ module ForestLiana
149
149
 
150
150
  def parse_value(operator, value)
151
151
  case operator
152
- when 'not', 'greater_than', 'less_than', 'not_equal', 'equal', 'before', 'after', 'in'
152
+ when 'not', 'greater_than', 'less_than', 'not_equal', 'equal', 'before', 'after'
153
153
  value
154
154
  when 'contains', 'not_contains'
155
155
  "%#{value}%"
@@ -157,6 +157,12 @@ module ForestLiana
157
157
  "#{value}%"
158
158
  when 'ends_with'
159
159
  "%#{value}"
160
+ when 'in'
161
+ if value.kind_of?(String)
162
+ value.split(',').map { |val| val.strip() }
163
+ else
164
+ value
165
+ end
160
166
  when 'present', 'blank'
161
167
  else
162
168
  raise_unknown_operator_error(operator)
@@ -159,9 +159,16 @@ module ForestLiana
159
159
 
160
160
  def segment_query_allowed?
161
161
  segments_queries_permissions = get_segments_in_permissions
162
-
162
+ # NOTICE: The segmentQuery should be in the segments_queries_permissions
163
163
  return false unless segments_queries_permissions
164
164
 
165
+ # Handle UNION queries made by the FRONT to display available actions on details view
166
+ unionQueries = @collection_list_parameters[:segmentQuery].split('/*MULTI-SEGMENTS-QUERIES-UNION*/ UNION ');
167
+ if unionQueries.length > 1
168
+ # Are unionQueries all included only in the allowed queries
169
+ return unionQueries.all? { |unionQuery| segments_queries_permissions.select { |query| query.gsub(/;\s*/i, '') === unionQuery }.length > 0 };
170
+ end
171
+
165
172
  # NOTICE: @query_request_info matching an existing segment query
166
173
  return segments_queries_permissions.include? @collection_list_parameters[:segmentQuery]
167
174
  end
@@ -20,6 +20,7 @@ module ForestLiana
20
20
  last_name: user['last_name'],
21
21
  team: user['teams'][0],
22
22
  role: user['role'],
23
+ tags: user['tags'],
23
24
  rendering_id: rendering_id,
24
25
  exp: expiration_in_seconds()
25
26
  }, ForestLiana.auth_secret, 'HS256')
@@ -0,0 +1,11 @@
1
+ require 'httpclient'
2
+
3
+ class HTTPClient
4
+ alias original_initialize initialize
5
+
6
+ def initialize(*args, &block)
7
+ original_initialize(*args, &block)
8
+ # NOTICE: Force use of the default system CA certs (instead of the 6 year old bundled ones).
9
+ @session_manager&.ssl_config&.set_default_paths
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "7.0.2"
2
+ VERSION = "7.2.2"
3
3
  end
@@ -45,7 +45,7 @@ describe "Authentications", type: :request do
45
45
 
46
46
  describe "GET /authentication/callback" do
47
47
  before() do
48
- response = '{"data":{"id":666,"attributes":{"first_name":"Alice","last_name":"Doe","email":"alice@forestadmin.com","teams":[1,2,3],"role":"Test"}}}'
48
+ response = '{"data":{"id":666,"attributes":{"first_name":"Alice","last_name":"Doe","email":"alice@forestadmin.com","teams":[1,2,3],"role":"Test","tags":[{"key":"city","value":"Paris"}]}}}'
49
49
  allow(ForestLiana::ForestApiRequester).to receive(:get).with(
50
50
  "/liana/v2/renderings/42/authorization", { :headers => { "forest-token" => "THE-ACCESS-TOKEN" }, :query=> {} }
51
51
  ).and_return(
@@ -76,6 +76,10 @@ describe "Authentications", type: :request do
76
76
  }
77
77
 
78
78
  expect(decoded).to include(expected_token_data)
79
+ tags = decoded['tags']
80
+ expect(tags.length).to eq(1)
81
+ expect(tags[0]['key']).to eq("city")
82
+ expect(tags[0]['value']).to eq("Paris")
79
83
  expect(body).to eq({ token: token, tokenData: decoded.deep_symbolize_keys! })
80
84
  expect(response).to have_http_status(200)
81
85
  end
@@ -396,6 +396,8 @@ module ForestLiana
396
396
  it { expect(filter_parser.parse_value('present', nil)).to eq nil }
397
397
  it { expect(filter_parser.parse_value('equal', 'yes')).to eq 'yes' }
398
398
  it { expect(filter_parser.parse_value('blank', nil)).to eq nil }
399
+ it { expect(filter_parser.parse_value('in', 'yes,maybe ,no ')).to eq ['yes', 'maybe', 'no'] }
400
+ it { expect(filter_parser.parse_value('in', 123)).to eq 123 }
399
401
  end
400
402
 
401
403
  context 'on unknown operator' do
@@ -481,6 +481,14 @@ module ForestLiana
481
481
  end
482
482
  end
483
483
 
484
+ context 'when user has no segments and param segmentQuery is there' do
485
+ let(:segmentQuery) { 'SELECT * FROM products;' }
486
+ let(:collection_list_parameters) { { :user_id => "1", :segmentQuery => segmentQuery } }
487
+ it 'should be authorized' do
488
+ expect(subject.is_authorized?).to be false
489
+ end
490
+ end
491
+
484
492
  context 'when segments are defined' do
485
493
  let(:segments_permissions) { ['SELECT * FROM products;', 'SELECT * FROM sellers;'] }
486
494
  let(:collection_list_parameters) { { :user_id => "1", :segmentQuery => segmentQuery } }
@@ -499,6 +507,26 @@ module ForestLiana
499
507
  end
500
508
  end
501
509
 
510
+ context 'when received union segments NOT passing validation' do
511
+ let(:segmentQuery) { 'SELECT * FROM sellers/*MULTI-SEGMENTS-QUERIES-UNION*/ UNION SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2' }
512
+ it 'should return false' do
513
+ expect(subject.is_authorized?).to be false
514
+ end
515
+ end
516
+
517
+ context 'when received union segments passing validation' do
518
+ let(:segmentQuery) { 'SELECT * FROM sellers/*MULTI-SEGMENTS-QUERIES-UNION*/ UNION SELECT * FROM products' }
519
+ it 'should return true' do
520
+ expect(subject.is_authorized?).to be true
521
+ end
522
+ end
523
+ context 'when received union segments with UNION inside passing validation' do
524
+ let(:segmentQuery) { 'SELECT COUNT(*) AS value FROM products/*MULTI-SEGMENTS-QUERIES-UNION*/ UNION SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2' }
525
+ let(:segments_permissions) { ['SELECT COUNT(*) AS value FROM products;', 'SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2;', 'SELECT * FROM products;', 'SELECT * FROM sellers;'] }
526
+ it 'should return true' do
527
+ expect(subject.is_authorized?).to be true
528
+ end
529
+ end
502
530
  end
503
531
 
504
532
  context 'when user has not the required permission' do
@@ -458,6 +458,14 @@ module ForestLiana
458
458
  end
459
459
  end
460
460
 
461
+ context 'when user has no segments queries permissions and param segmentQuery is there' do
462
+ let(:segmentQuery) { 'SELECT * FROM products;' }
463
+ let(:collection_list_parameters) { { :user_id => "1", :segmentQuery => segmentQuery } }
464
+ it 'should be authorized' do
465
+ expect(subject.is_authorized?).to be false
466
+ end
467
+ end
468
+
461
469
  context 'when segments are defined' do
462
470
  let(:default_rendering_id) { 1 }
463
471
  let(:segments_permissions) {
@@ -484,6 +492,36 @@ module ForestLiana
484
492
  expect(subject.is_authorized?).to be false
485
493
  end
486
494
  end
495
+
496
+ context 'when received union segments NOT passing validation' do
497
+ let(:segmentQuery) { 'SELECT * FROM sellers/*MULTI-SEGMENTS-QUERIES-UNION*/ UNION SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2' }
498
+ it 'should return false' do
499
+ expect(subject.is_authorized?).to be false
500
+ end
501
+ end
502
+
503
+ context 'when received union segments passing validation' do
504
+ let(:segmentQuery) { 'SELECT * FROM sellers/*MULTI-SEGMENTS-QUERIES-UNION*/ UNION SELECT * FROM products' }
505
+ it 'should return true' do
506
+ expect(subject.is_authorized?).to be true
507
+ end
508
+ end
509
+
510
+ context 'when received union segments with UNION inside passing validation' do
511
+ let(:segmentQuery) { 'SELECT COUNT(*) AS value FROM products/*MULTI-SEGMENTS-QUERIES-UNION*/ UNION SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2' }
512
+ let(:segments_permissions) {
513
+ {
514
+ default_rendering_id => {
515
+ collection_name => {
516
+ 'segments' => ['SELECT COUNT(*) AS value FROM products;', 'SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2;', 'SELECT * FROM products;', 'SELECT * FROM sellers;']
517
+ }
518
+ }
519
+ }
520
+ }
521
+ it 'should return true' do
522
+ expect(subject.is_authorized?).to be true
523
+ end
524
+ end
487
525
  end
488
526
  end
489
527
 
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.0.2
4
+ version: 7.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sandro Munda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-16 00:00:00.000000000 Z
11
+ date: 2021-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -302,6 +302,7 @@ files:
302
302
  - config/initializers/arel-helpers.rb
303
303
  - config/initializers/error-messages.rb
304
304
  - config/initializers/errors.rb
305
+ - config/initializers/httpclient.rb
305
306
  - config/initializers/logger.rb
306
307
  - config/initializers/time_formats.rb
307
308
  - config/routes.rb
@@ -510,170 +511,170 @@ specification_version: 4
510
511
  summary: Official Rails Liana for Forest
511
512
  test_files:
512
513
  - test/routing/route_test.rb
513
- - test/dummy/Rakefile
514
- - test/dummy/bin/setup
515
- - test/dummy/bin/bundle
516
- - test/dummy/bin/rake
517
- - test/dummy/bin/rails
518
- - test/dummy/public/500.html
514
+ - test/forest_liana_test.rb
515
+ - test/fixtures/belongs_to_field.yml
516
+ - test/fixtures/owner.yml
517
+ - test/fixtures/has_one_field.yml
518
+ - test/fixtures/serialize_field.yml
519
+ - test/fixtures/string_field.yml
520
+ - test/fixtures/has_many_through_field.yml
521
+ - test/fixtures/reference.yml
522
+ - test/fixtures/has_many_field.yml
523
+ - test/fixtures/tree.yml
524
+ - test/dummy/README.rdoc
519
525
  - test/dummy/public/404.html
520
- - test/dummy/public/favicon.ico
521
526
  - test/dummy/public/422.html
522
- - test/dummy/db/schema.rb
523
- - test/dummy/db/migrate/20150608131610_create_float_field.rb
524
- - test/dummy/db/migrate/20150608150016_create_has_many_field.rb
525
- - test/dummy/db/migrate/20160628173505_add_timestamps.rb
526
- - test/dummy/db/migrate/20160627172810_create_owner.rb
527
- - test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
528
- - test/dummy/db/migrate/20150608132159_create_boolean_field.rb
529
- - test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
530
- - test/dummy/db/migrate/20150612112520_create_has_and_belongs_to_many_field.rb
531
- - test/dummy/db/migrate/20160627172951_create_tree.rb
532
- - test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
533
- - test/dummy/db/migrate/20150608131603_create_decimal_field.rb
534
- - test/dummy/db/migrate/20150608130516_create_date_field.rb
535
- - test/dummy/db/migrate/20150608133044_create_has_one_field.rb
536
- - test/dummy/db/migrate/20150608131430_create_integer_field.rb
537
- - test/dummy/db/migrate/20150608132621_create_string_field.rb
538
- - test/dummy/db/migrate/20170614141921_create_serialize_field.rb
539
- - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
540
- - test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
541
- - test/dummy/db/migrate/20181111162121_create_references_table.rb
542
- - test/dummy/README.rdoc
543
- - test/dummy/app/assets/stylesheets/application.css
544
- - test/dummy/app/assets/javascripts/application.js
545
- - test/dummy/app/assets/config/manifest.js
546
- - test/dummy/app/helpers/application_helper.rb
547
- - test/dummy/app/models/float_field.rb
548
- - test/dummy/app/models/boolean_field.rb
549
- - test/dummy/app/models/decimal_field.rb
527
+ - test/dummy/public/500.html
528
+ - test/dummy/public/favicon.ico
529
+ - test/dummy/Rakefile
530
+ - test/dummy/config/application.rb
531
+ - test/dummy/config/routes.rb
532
+ - test/dummy/config/environments/production.rb
533
+ - test/dummy/config/environments/test.rb
534
+ - test/dummy/config/environments/development.rb
535
+ - test/dummy/config/database.yml
536
+ - test/dummy/config/initializers/backtrace_silencers.rb
537
+ - test/dummy/config/initializers/assets.rb
538
+ - test/dummy/config/initializers/wrap_parameters.rb
539
+ - test/dummy/config/initializers/filter_parameter_logging.rb
540
+ - test/dummy/config/initializers/session_store.rb
541
+ - test/dummy/config/initializers/inflections.rb
542
+ - test/dummy/config/initializers/mime_types.rb
543
+ - test/dummy/config/initializers/cookies_serializer.rb
544
+ - test/dummy/config/locales/en.yml
545
+ - test/dummy/config/environment.rb
546
+ - test/dummy/config/secrets.yml
547
+ - test/dummy/config/boot.rb
548
+ - test/dummy/app/models/has_many_through_field.rb
549
+ - test/dummy/app/models/tree.rb
550
550
  - test/dummy/app/models/belongs_to_field.rb
551
551
  - test/dummy/app/models/belongs_to_class_name_field.rb
552
- - test/dummy/app/models/has_and_belongs_to_many_field.rb
553
- - test/dummy/app/models/string_field.rb
554
- - test/dummy/app/models/has_many_class_name_field.rb
555
- - test/dummy/app/models/integer_field.rb
552
+ - test/dummy/app/models/polymorphic_field.rb
553
+ - test/dummy/app/models/reference.rb
556
554
  - test/dummy/app/models/date_field.rb
557
- - test/dummy/app/models/serialize_field.rb
555
+ - test/dummy/app/models/decimal_field.rb
558
556
  - test/dummy/app/models/owner.rb
559
- - test/dummy/app/models/polymorphic_field.rb
560
- - test/dummy/app/models/has_many_through_field.rb
561
- - test/dummy/app/models/has_one_field.rb
562
557
  - test/dummy/app/models/has_many_field.rb
563
- - test/dummy/app/models/reference.rb
564
- - test/dummy/app/models/tree.rb
565
- - test/dummy/app/controllers/application_controller.rb
558
+ - test/dummy/app/models/boolean_field.rb
559
+ - test/dummy/app/models/has_and_belongs_to_many_field.rb
560
+ - test/dummy/app/models/serialize_field.rb
561
+ - test/dummy/app/models/integer_field.rb
562
+ - test/dummy/app/models/float_field.rb
563
+ - test/dummy/app/models/has_many_class_name_field.rb
564
+ - test/dummy/app/models/string_field.rb
565
+ - test/dummy/app/models/has_one_field.rb
566
566
  - test/dummy/app/views/layouts/application.html.erb
567
+ - test/dummy/app/assets/javascripts/application.js
568
+ - test/dummy/app/assets/stylesheets/application.css
569
+ - test/dummy/app/assets/config/manifest.js
570
+ - test/dummy/app/controllers/application_controller.rb
571
+ - test/dummy/app/helpers/application_helper.rb
567
572
  - test/dummy/config.ru
568
- - test/dummy/config/secrets.yml
569
- - test/dummy/config/boot.rb
570
- - test/dummy/config/locales/en.yml
571
- - test/dummy/config/environment.rb
572
- - test/dummy/config/initializers/inflections.rb
573
- - test/dummy/config/initializers/assets.rb
574
- - test/dummy/config/initializers/backtrace_silencers.rb
575
- - test/dummy/config/initializers/mime_types.rb
576
- - test/dummy/config/initializers/wrap_parameters.rb
577
- - test/dummy/config/initializers/cookies_serializer.rb
578
- - test/dummy/config/initializers/session_store.rb
579
- - test/dummy/config/initializers/filter_parameter_logging.rb
580
- - test/dummy/config/database.yml
581
- - test/dummy/config/routes.rb
582
- - test/dummy/config/environments/production.rb
583
- - test/dummy/config/environments/development.rb
584
- - test/dummy/config/environments/test.rb
585
- - test/dummy/config/application.rb
586
- - test/test_helper.rb
587
- - test/fixtures/serialize_field.yml
588
- - test/fixtures/has_one_field.yml
589
- - test/fixtures/string_field.yml
590
- - test/fixtures/tree.yml
591
- - test/fixtures/has_many_field.yml
592
- - test/fixtures/reference.yml
593
- - test/fixtures/owner.yml
594
- - test/fixtures/belongs_to_field.yml
595
- - test/fixtures/has_many_through_field.yml
596
- - test/services/forest_liana/schema_adapter_test.rb
573
+ - test/dummy/db/migrate/20150608131603_create_decimal_field.rb
574
+ - test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
575
+ - test/dummy/db/migrate/20160628173505_add_timestamps.rb
576
+ - test/dummy/db/migrate/20181111162121_create_references_table.rb
577
+ - test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
578
+ - test/dummy/db/migrate/20150608131610_create_float_field.rb
579
+ - test/dummy/db/migrate/20160627172951_create_tree.rb
580
+ - test/dummy/db/migrate/20150612112520_create_has_and_belongs_to_many_field.rb
581
+ - test/dummy/db/migrate/20150608132159_create_boolean_field.rb
582
+ - test/dummy/db/migrate/20150608131430_create_integer_field.rb
583
+ - test/dummy/db/migrate/20150608133044_create_has_one_field.rb
584
+ - test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
585
+ - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
586
+ - test/dummy/db/migrate/20150608130516_create_date_field.rb
587
+ - test/dummy/db/migrate/20170614141921_create_serialize_field.rb
588
+ - test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
589
+ - test/dummy/db/migrate/20150608150016_create_has_many_field.rb
590
+ - test/dummy/db/migrate/20160627172810_create_owner.rb
591
+ - test/dummy/db/migrate/20150608132621_create_string_field.rb
592
+ - test/dummy/db/schema.rb
593
+ - test/dummy/bin/rails
594
+ - test/dummy/bin/rake
595
+ - test/dummy/bin/bundle
596
+ - test/dummy/bin/setup
597
597
  - test/services/forest_liana/operator_date_interval_parser_test.rb
598
- - test/forest_liana_test.rb
599
- - spec/helpers/forest_liana/query_helper_spec.rb
600
- - spec/helpers/forest_liana/schema_helper_spec.rb
601
- - spec/dummy/Rakefile
602
- - spec/dummy/bin/setup
603
- - spec/dummy/bin/bundle
604
- - spec/dummy/bin/rake
605
- - spec/dummy/bin/rails
606
- - spec/dummy/db/schema.rb
607
- - spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
608
- - spec/dummy/db/migrate/20210511141752_create_owners.rb
609
- - spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
610
- - spec/dummy/db/migrate/20210326140855_create_locations.rb
611
- - spec/dummy/db/migrate/20190226174951_create_tree.rb
612
- - spec/dummy/db/migrate/20210326110524_create_references.rb
613
- - spec/dummy/db/migrate/20190226172951_create_user.rb
614
- - spec/dummy/db/migrate/20210526084712_create_products.rb
615
- - spec/dummy/db/migrate/20190226173051_create_isle.rb
598
+ - test/services/forest_liana/schema_adapter_test.rb
599
+ - test/test_helper.rb
600
+ - spec/spec_helper.rb
601
+ - spec/config/initializers/logger_spec.rb
602
+ - spec/lib/forest_liana/schema_file_updater_spec.rb
603
+ - spec/lib/forest_liana/bootstrapper_spec.rb
604
+ - spec/rails_helper.rb
616
605
  - spec/dummy/README.rdoc
617
- - spec/dummy/app/assets/stylesheets/application.css
618
- - spec/dummy/app/assets/javascripts/application.js
619
- - spec/dummy/app/assets/config/manifest.js
620
- - spec/dummy/app/helpers/application_helper.rb
621
- - spec/dummy/app/models/island.rb
622
- - spec/dummy/app/models/product.rb
623
- - spec/dummy/app/models/user.rb
624
- - spec/dummy/app/models/owner.rb
625
- - spec/dummy/app/models/location.rb
626
- - spec/dummy/app/models/reference.rb
627
- - spec/dummy/app/models/tree.rb
628
- - spec/dummy/app/controllers/forest/islands_controller.rb
629
- - spec/dummy/app/controllers/application_controller.rb
630
- - spec/dummy/app/config/routes.rb
631
- - spec/dummy/app/views/layouts/application.html.erb
632
- - spec/dummy/config.ru
633
- - spec/dummy/config/secrets.yml
634
- - spec/dummy/config/boot.rb
635
- - spec/dummy/config/environment.rb
636
- - spec/dummy/config/initializers/inflections.rb
637
- - spec/dummy/config/initializers/assets.rb
606
+ - spec/dummy/Rakefile
607
+ - spec/dummy/config/application.rb
608
+ - spec/dummy/config/routes.rb
609
+ - spec/dummy/config/environments/production.rb
610
+ - spec/dummy/config/environments/test.rb
611
+ - spec/dummy/config/environments/development.rb
612
+ - spec/dummy/config/database.yml
638
613
  - spec/dummy/config/initializers/backtrace_silencers.rb
614
+ - spec/dummy/config/initializers/assets.rb
615
+ - spec/dummy/config/initializers/wrap_parameters.rb
616
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
617
+ - spec/dummy/config/initializers/session_store.rb
639
618
  - spec/dummy/config/initializers/forest_liana.rb
619
+ - spec/dummy/config/initializers/inflections.rb
640
620
  - spec/dummy/config/initializers/mime_types.rb
641
- - spec/dummy/config/initializers/wrap_parameters.rb
642
621
  - spec/dummy/config/initializers/cookies_serializer.rb
643
- - spec/dummy/config/initializers/session_store.rb
644
- - spec/dummy/config/initializers/filter_parameter_logging.rb
645
- - spec/dummy/config/database.yml
646
- - spec/dummy/config/routes.rb
647
- - spec/dummy/config/environments/production.rb
648
- - spec/dummy/config/environments/development.rb
649
- - spec/dummy/config/environments/test.rb
650
- - spec/dummy/config/application.rb
622
+ - spec/dummy/config/environment.rb
623
+ - spec/dummy/config/secrets.yml
624
+ - spec/dummy/config/boot.rb
651
625
  - spec/dummy/lib/forest_liana/collections/island.rb
652
626
  - spec/dummy/lib/forest_liana/collections/user.rb
653
627
  - spec/dummy/lib/forest_liana/collections/location.rb
654
- - spec/config/initializers/logger_spec.rb
655
- - spec/services/forest_liana/scope_manager_spec.rb
656
- - spec/services/forest_liana/resources_getter_spec.rb
628
+ - spec/dummy/app/models/tree.rb
629
+ - spec/dummy/app/models/island.rb
630
+ - spec/dummy/app/models/reference.rb
631
+ - spec/dummy/app/models/owner.rb
632
+ - spec/dummy/app/models/product.rb
633
+ - spec/dummy/app/models/user.rb
634
+ - spec/dummy/app/models/location.rb
635
+ - spec/dummy/app/views/layouts/application.html.erb
636
+ - spec/dummy/app/config/routes.rb
637
+ - spec/dummy/app/assets/javascripts/application.js
638
+ - spec/dummy/app/assets/stylesheets/application.css
639
+ - spec/dummy/app/assets/config/manifest.js
640
+ - spec/dummy/app/controllers/application_controller.rb
641
+ - spec/dummy/app/controllers/forest/islands_controller.rb
642
+ - spec/dummy/app/helpers/application_helper.rb
643
+ - spec/dummy/config.ru
644
+ - spec/dummy/db/migrate/20190226173051_create_isle.rb
645
+ - spec/dummy/db/migrate/20190226172951_create_user.rb
646
+ - spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
647
+ - spec/dummy/db/migrate/20210326110524_create_references.rb
648
+ - spec/dummy/db/migrate/20190226174951_create_tree.rb
649
+ - spec/dummy/db/migrate/20210526084712_create_products.rb
650
+ - spec/dummy/db/migrate/20210326140855_create_locations.rb
651
+ - spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
652
+ - spec/dummy/db/migrate/20210511141752_create_owners.rb
653
+ - spec/dummy/db/schema.rb
654
+ - spec/dummy/bin/rails
655
+ - spec/dummy/bin/rake
656
+ - spec/dummy/bin/bundle
657
+ - spec/dummy/bin/setup
658
+ - spec/services/forest_liana/apimap_sorter_spec.rb
659
+ - spec/services/forest_liana/smart_action_field_validator_spec.rb
657
660
  - spec/services/forest_liana/resource_updater_spec.rb
661
+ - spec/services/forest_liana/has_many_getter_spec.rb
662
+ - spec/services/forest_liana/scope_manager_spec.rb
663
+ - spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
664
+ - spec/services/forest_liana/ip_whitelist_checker_spec.rb
665
+ - spec/services/forest_liana/permissions_formatter_spec.rb
658
666
  - spec/services/forest_liana/value_stat_getter_spec.rb
667
+ - spec/services/forest_liana/line_stat_getter_spec.rb
668
+ - spec/services/forest_liana/filters_parser_spec.rb
669
+ - spec/services/forest_liana/permissions_checker_live_queries_spec.rb
659
670
  - spec/services/forest_liana/permissions_getter_spec.rb
660
671
  - spec/services/forest_liana/pie_stat_getter_spec.rb
661
- - spec/services/forest_liana/permissions_checker_live_queries_spec.rb
662
- - spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
663
672
  - spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
664
- - spec/services/forest_liana/smart_action_field_validator_spec.rb
665
- - spec/services/forest_liana/filters_parser_spec.rb
666
- - spec/services/forest_liana/apimap_sorter_spec.rb
667
673
  - spec/services/forest_liana/schema_adapter_spec.rb
668
- - spec/services/forest_liana/has_many_getter_spec.rb
669
- - spec/services/forest_liana/line_stat_getter_spec.rb
670
- - spec/services/forest_liana/ip_whitelist_checker_spec.rb
671
- - spec/services/forest_liana/permissions_formatter_spec.rb
672
- - spec/spec_helper.rb
673
- - spec/lib/forest_liana/schema_file_updater_spec.rb
674
- - spec/lib/forest_liana/bootstrapper_spec.rb
675
- - spec/rails_helper.rb
676
- - spec/requests/stats_spec.rb
674
+ - spec/services/forest_liana/resources_getter_spec.rb
675
+ - spec/requests/authentications_spec.rb
677
676
  - spec/requests/actions_controller_spec.rb
677
+ - spec/requests/stats_spec.rb
678
678
  - spec/requests/resources_spec.rb
679
- - spec/requests/authentications_spec.rb
679
+ - spec/helpers/forest_liana/query_helper_spec.rb
680
+ - spec/helpers/forest_liana/schema_helper_spec.rb