forest_liana 6.2.2 → 6.3.3

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: ef9f6868496eb0c7e53ccd20fc0ee0853693a9954d56254dffe3e428be975570
4
- data.tar.gz: 3b929c3692e18e69d8ce423d93f3ca223dc72a482290ab37342adc649a730dfb
3
+ metadata.gz: 84424699c2834facc9807360cdefbc7de4bf5e473d5d8976fc257c70a5878695
4
+ data.tar.gz: f96a6c6e6ba27fcd42a67ffacd1ddde1133b9980eec177c969494484d2708072
5
5
  SHA512:
6
- metadata.gz: ebbcc8eb29e6b4dd9e9e95c1dd85b9ccd7c8ddaa73e297abe9ed36994a139becd595f55db56a909b07c9da1c2829fea68404d85f90a99b0f8eb91a460abd377e
7
- data.tar.gz: 44d9e27b058eb2c3127c9efb5670100f032cda8f606a8a3b96a9ca7fc28d2a6b4ac7b97ca70e3514e5d32521ceb6aaa70c5c57aaf12f0d7e00aa179087e18bf7
6
+ metadata.gz: 8f509cc0cfed575e60c0b68e11cd44a6bb59c86dfd7bd5e40d14f87f9e2400b4ed7fccafc107e2eea1dbe474f564f9a48d76d84331ca5c9727adae7439176dda
7
+ data.tar.gz: ffdba30b4b5252116c020b42fde6d439baf910d5bcd572c73d5e6bd6c48a6fd39c9803df2300ad0617e61beb4e33bd0edd5c8286eae0a51e348226d187e04be5
@@ -5,7 +5,7 @@ module ForestLiana
5
5
  class AuthenticationController < ForestLiana::BaseController
6
6
  START_AUTHENTICATION_ROUTE = 'authentication'
7
7
  CALLBACK_AUTHENTICATION_ROUTE = 'authentication/callback'
8
- LOGOUT_ROUTE = 'authentication/logout';
8
+ LOGOUT_ROUTE = 'authentication/logout'
9
9
  PUBLIC_ROUTES = [
10
10
  "/#{START_AUTHENTICATION_ROUTE}",
11
11
  "/#{CALLBACK_AUTHENTICATION_ROUTE}",
@@ -48,6 +48,7 @@ class ForestLiana::Model::Action
48
48
  field[:default_value] = nil unless field.key?(:default_value)
49
49
  field[:enums] = nil unless field.key?(:enums)
50
50
  field[:is_required] = false unless field.key?(:is_required)
51
+ field[:is_read_only] = false unless field.key?(:is_read_only)
51
52
  field[:reference] = nil unless field.key?(:reference)
52
53
  field[:description] = nil unless field.key?(:description)
53
54
  field[:widget] = nil unless field.key?(:widget)
@@ -47,6 +47,7 @@ module ForestLiana
47
47
  'default_value',
48
48
  'enums',
49
49
  'is_required',
50
+ 'is_read_only',
50
51
  'reference',
51
52
  'description',
52
53
  'position',
@@ -4,22 +4,20 @@ module ForestLiana
4
4
  class OidcClientManager
5
5
  def self.get_client_for_callback_url(callback_url)
6
6
  begin
7
- client_data = Rails.cache.read(callback_url) || nil
8
- if client_data.nil?
9
- configuration = ForestLiana::OidcConfigurationRetriever.retrieve()
10
-
11
- if ForestLiana.forest_client_id.nil?
7
+ configuration = ForestLiana::OidcConfigurationRetriever.retrieve()
8
+ if ForestLiana.forest_client_id.nil?
9
+ client_data = Rails.cache.read("#{callback_url}-#{ForestLiana.env_secret}-client-data") || nil
10
+ if client_data.nil?
12
11
  client_credentials = ForestLiana::OidcDynamicClientRegistrator.register({
13
12
  token_endpoint_auth_method: 'none',
14
13
  redirect_uris: [callback_url],
15
14
  registration_endpoint: configuration['registration_endpoint']
16
15
  })
17
- else
18
- client_credentials = { 'client_id' => ForestLiana.forest_client_id }
16
+ client_data = { :client_id => client_credentials['client_id'], :issuer => configuration['issuer'] }
17
+ Rails.cache.write("#{callback_url}-#{ForestLiana.env_secret}-client-data", client_data)
19
18
  end
20
-
21
- client_data = { :client_id => client_credentials['client_id'], :issuer => configuration['issuer'] }
22
- Rails.cache.write(callback_url, client_data)
19
+ else
20
+ client_data = { :client_id => ForestLiana.forest_client_id, :issuer => configuration['issuer'] }
23
21
  end
24
22
 
25
23
  OpenIDConnect::Client.new(
@@ -30,7 +28,7 @@ module ForestLiana
30
28
  token_endpoint: '/oidc/token',
31
29
  )
32
30
  rescue => error
33
- Rails.cache.delete(callback_url)
31
+ Rails.cache.delete("#{callback_url}-#{ForestLiana.env_secret}-client-data")
34
32
  raise error
35
33
  end
36
34
  end
@@ -73,30 +73,34 @@ module ForestLiana
73
73
  def get_date_filter(operator, value)
74
74
  return nil unless is_date_operator? operator
75
75
 
76
- case operator
77
- when OPERATOR_FUTURE
78
- return ">= '#{Time.now}'"
79
- when OPERATOR_PAST
80
- return "<= '#{Time.now}'"
81
- when OPERATOR_TODAY
82
- return "BETWEEN '#{to_client_timezone(Time.now.beginning_of_day)}' " +
83
- "AND '#{to_client_timezone(Time.now.end_of_day)}'"
84
- when OPERATOR_PREVIOUS_X_DAYS
85
- ensure_integer_value(value)
86
- return "BETWEEN '" +
87
- "#{to_client_timezone(Integer(value).day.ago.beginning_of_day)}'" +
88
- " AND '#{to_client_timezone(1.day.ago.end_of_day)}'"
89
- when OPERATOR_PREVIOUS_X_DAYS_TO_DATE
90
- ensure_integer_value(value)
91
- return "BETWEEN '" +
92
- "#{to_client_timezone((Integer(value) - 1).day.ago.beginning_of_day)}'" +
93
- " AND '#{Time.now}'"
94
- when OPERATOR_BEFORE_X_HOURS_AGO
95
- ensure_integer_value(value)
96
- return "< '#{to_client_timezone((Integer(value)).hour.ago)}'"
97
- when OPERATOR_AFTER_X_HOURS_AGO
98
- ensure_integer_value(value)
99
- return "> '#{to_client_timezone((Integer(value)).hour.ago)}'"
76
+ filter = case operator
77
+ when OPERATOR_FUTURE
78
+ ">= '#{Time.now}'"
79
+ when OPERATOR_PAST
80
+ "<= '#{Time.now}'"
81
+ when OPERATOR_TODAY
82
+ "BETWEEN '#{to_client_timezone(Time.now.beginning_of_day)}' " +
83
+ "AND '#{to_client_timezone(Time.now.end_of_day)}'"
84
+ when OPERATOR_PREVIOUS_X_DAYS
85
+ ensure_integer_value(value)
86
+ "BETWEEN '" +
87
+ "#{to_client_timezone(Integer(value).day.ago.beginning_of_day)}'" +
88
+ " AND '#{to_client_timezone(1.day.ago.end_of_day)}'"
89
+ when OPERATOR_PREVIOUS_X_DAYS_TO_DATE
90
+ ensure_integer_value(value)
91
+ "BETWEEN '" +
92
+ "#{to_client_timezone((Integer(value) - 1).day.ago.beginning_of_day)}'" +
93
+ " AND '#{Time.now}'"
94
+ when OPERATOR_BEFORE_X_HOURS_AGO
95
+ ensure_integer_value(value)
96
+ "< '#{(Integer(value)).hour.ago}'"
97
+ when OPERATOR_AFTER_X_HOURS_AGO
98
+ ensure_integer_value(value)
99
+ "> '#{(Integer(value)).hour.ago}'"
100
+ end
101
+
102
+ if filter != nil
103
+ return filter
100
104
  end
101
105
 
102
106
  duration = PERIODS[operator][:duration]
@@ -53,6 +53,18 @@ module ForestLiana
53
53
  collection.actions.find {|action| action.name == action_name}
54
54
  end
55
55
 
56
+ def generate_action_hooks()
57
+ @collections_sent.each do |collection|
58
+ collection['actions'].each do |action|
59
+ c = get_collection(collection['name'])
60
+ a = get_action(c, action['name'])
61
+ load = !a.hooks.nil? && a.hooks.key?(:load) && a.hooks[:load].is_a?(Proc)
62
+ change = !a.hooks.nil? && a.hooks.key?(:change) && a.hooks[:change].is_a?(Hash) ? a.hooks[:change].keys : []
63
+ action['hooks'] = {:load => load, :change => change}
64
+ end
65
+ end
66
+ end
67
+
56
68
  def generate_apimap
57
69
  create_apimap
58
70
  require_lib_forest_liana
@@ -60,18 +72,8 @@ module ForestLiana
60
72
 
61
73
  if Rails.env.development?
62
74
  @collections_sent = ForestLiana.apimap.as_json
63
-
64
- @collections_sent.each do |collection|
65
- collection['actions'].each do |action|
66
- c = get_collection(collection['name'])
67
- a = get_action(c, action['name'])
68
- load = !a.hooks.nil? && a.hooks.key?(:load) && a.hooks[:load].is_a?(Proc)
69
- change = !a.hooks.nil? && a.hooks.key?(:change) && a.hooks[:change].is_a?(Hash) ? a.hooks[:change].keys : []
70
- action['hooks'] = {:load => load, :change => change}
71
- end
72
- end
73
-
74
75
  @meta_sent = ForestLiana.meta
76
+ generate_action_hooks
75
77
  SchemaFileUpdater.new(SCHEMA_FILENAME, @collections_sent, @meta_sent).perform()
76
78
  else
77
79
  if File.exists?(SCHEMA_FILENAME)
@@ -79,6 +81,7 @@ module ForestLiana
79
81
  content = JSON.parse(File.read(SCHEMA_FILENAME))
80
82
  @collections_sent = content['collections']
81
83
  @meta_sent = content['meta']
84
+ generate_action_hooks
82
85
  rescue JSON::JSONError
83
86
  FOREST_LOGGER.error "The content of .forestadmin-schema.json file is not a correct JSON."
84
87
  FOREST_LOGGER.error "The schema cannot be synchronized with Forest Admin servers."
@@ -58,6 +58,7 @@ module ForestLiana
58
58
  'default_value',
59
59
  'enums',
60
60
  'is_required',
61
+ 'is_read_only',
61
62
  'reference',
62
63
  'description',
63
64
  'position',
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "6.2.2"
2
+ VERSION = "6.3.3"
3
3
  end
@@ -26,6 +26,7 @@ describe 'Requesting Actions routes', :type => :request do
26
26
  default_value: nil,
27
27
  enums: nil,
28
28
  is_required: false,
29
+ is_read_only: false,
29
30
  reference: nil,
30
31
  description: nil,
31
32
  widget: nil,
@@ -0,0 +1,16 @@
1
+ module ForestLiana
2
+ class OperatorDateIntervalParserTest < ActiveSupport::TestCase
3
+ test 'OPERATOR_AFTER_X_HOURS_AGO and OPERATOR_BEFORE_X_HOURS_AGO should not take timezone into account' do
4
+ # Setting a big timezone (GMT+10) on purpose, the timezone should not be applied on the result date
5
+ operatorDateIntervalParser = OperatorDateIntervalParser.new('Australia/Sydney')
6
+
7
+ result = operatorDateIntervalParser.get_date_filter(OperatorDateIntervalParser::OPERATOR_AFTER_X_HOURS_AGO, 2)
8
+ hourComputed = result.split('> ')[1].tr('\'', '').to_datetime.hour
9
+ assert hourComputed == Time.now.utc.hour - 2
10
+
11
+ result = operatorDateIntervalParser.get_date_filter(OperatorDateIntervalParser::OPERATOR_BEFORE_X_HOURS_AGO, 2)
12
+ hourComputed = result.split('< ')[1].tr('\'', '').to_datetime.hour
13
+ assert hourComputed == Time.now.utc.hour - 2
14
+ end
15
+ end
16
+ 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: 6.2.2
4
+ version: 6.3.3
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-04-06 00:00:00.000000000 Z
11
+ date: 2021-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -467,6 +467,7 @@ files:
467
467
  - test/forest_liana_test.rb
468
468
  - test/routing/route_test.rb
469
469
  - test/services/forest_liana/has_many_getter_test.rb
470
+ - test/services/forest_liana/operator_date_interval_parser_test.rb
470
471
  - test/services/forest_liana/pie_stat_getter_test.rb
471
472
  - test/services/forest_liana/resource_updater_test.rb
472
473
  - test/services/forest_liana/schema_adapter_test.rb
@@ -497,160 +498,161 @@ signing_key:
497
498
  specification_version: 4
498
499
  summary: Official Rails Liana for Forest
499
500
  test_files:
500
- - test/dummy/db/migrate/20150608133044_create_has_one_field.rb
501
- - test/dummy/db/migrate/20150608132159_create_boolean_field.rb
502
- - test/dummy/db/migrate/20160627172810_create_owner.rb
503
- - test/dummy/db/migrate/20150608131603_create_decimal_field.rb
504
- - test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
505
- - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
506
- - test/dummy/db/migrate/20160627172951_create_tree.rb
507
- - test/dummy/db/migrate/20150608131610_create_float_field.rb
508
- - test/dummy/db/migrate/20150608150016_create_has_many_field.rb
509
- - test/dummy/db/migrate/20150608131430_create_integer_field.rb
510
- - test/dummy/db/migrate/20181111162121_create_references_table.rb
511
- - test/dummy/db/migrate/20150612112520_create_has_and_belongs_to_many_field.rb
512
- - test/dummy/db/migrate/20150608132621_create_string_field.rb
513
- - test/dummy/db/migrate/20170614141921_create_serialize_field.rb
514
- - test/dummy/db/migrate/20150608130516_create_date_field.rb
515
- - test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
516
- - test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
517
- - test/dummy/db/migrate/20160628173505_add_timestamps.rb
518
- - test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
519
- - test/dummy/db/schema.rb
520
- - test/dummy/public/404.html
501
+ - test/routing/route_test.rb
502
+ - test/fixtures/tree.yml
503
+ - test/fixtures/has_many_field.yml
504
+ - test/fixtures/serialize_field.yml
505
+ - test/fixtures/owner.yml
506
+ - test/fixtures/reference.yml
507
+ - test/fixtures/string_field.yml
508
+ - test/fixtures/belongs_to_field.yml
509
+ - test/fixtures/has_many_through_field.yml
510
+ - test/fixtures/has_one_field.yml
511
+ - test/test_helper.rb
512
+ - test/services/forest_liana/scope_validator_test.rb
513
+ - test/services/forest_liana/operator_date_interval_parser_test.rb
514
+ - test/services/forest_liana/has_many_getter_test.rb
515
+ - test/services/forest_liana/schema_adapter_test.rb
516
+ - test/services/forest_liana/pie_stat_getter_test.rb
517
+ - test/services/forest_liana/value_stat_getter_test.rb
518
+ - test/services/forest_liana/resource_updater_test.rb
519
+ - test/forest_liana_test.rb
520
+ - test/dummy/bin/bundle
521
+ - test/dummy/bin/setup
522
+ - test/dummy/bin/rake
523
+ - test/dummy/bin/rails
524
+ - test/dummy/config.ru
521
525
  - test/dummy/public/500.html
526
+ - test/dummy/public/404.html
522
527
  - test/dummy/public/422.html
523
528
  - test/dummy/public/favicon.ico
524
- - test/dummy/Rakefile
525
- - test/dummy/app/controllers/application_controller.rb
529
+ - test/dummy/app/assets/stylesheets/application.css
530
+ - test/dummy/app/assets/config/manifest.js
531
+ - test/dummy/app/assets/javascripts/application.js
532
+ - test/dummy/app/helpers/application_helper.rb
533
+ - test/dummy/app/views/layouts/application.html.erb
526
534
  - test/dummy/app/models/has_and_belongs_to_many_field.rb
527
- - test/dummy/app/models/polymorphic_field.rb
528
- - test/dummy/app/models/has_many_field.rb
529
- - test/dummy/app/models/float_field.rb
530
- - test/dummy/app/models/string_field.rb
531
- - test/dummy/app/models/has_one_field.rb
532
- - test/dummy/app/models/reference.rb
533
- - test/dummy/app/models/serialize_field.rb
535
+ - test/dummy/app/models/decimal_field.rb
536
+ - test/dummy/app/models/owner.rb
534
537
  - test/dummy/app/models/boolean_field.rb
538
+ - test/dummy/app/models/has_one_field.rb
539
+ - test/dummy/app/models/has_many_class_name_field.rb
535
540
  - test/dummy/app/models/has_many_through_field.rb
536
- - test/dummy/app/models/belongs_to_class_name_field.rb
537
- - test/dummy/app/models/decimal_field.rb
541
+ - test/dummy/app/models/has_many_field.rb
542
+ - test/dummy/app/models/belongs_to_field.rb
538
543
  - test/dummy/app/models/integer_field.rb
544
+ - test/dummy/app/models/belongs_to_class_name_field.rb
545
+ - test/dummy/app/models/polymorphic_field.rb
546
+ - test/dummy/app/models/serialize_field.rb
539
547
  - test/dummy/app/models/tree.rb
548
+ - test/dummy/app/models/float_field.rb
549
+ - test/dummy/app/models/reference.rb
540
550
  - test/dummy/app/models/date_field.rb
541
- - test/dummy/app/models/belongs_to_field.rb
542
- - test/dummy/app/models/has_many_class_name_field.rb
543
- - test/dummy/app/models/owner.rb
544
- - test/dummy/app/assets/stylesheets/application.css
545
- - test/dummy/app/assets/javascripts/application.js
546
- - test/dummy/app/assets/config/manifest.js
547
- - test/dummy/app/helpers/application_helper.rb
548
- - test/dummy/app/views/layouts/application.html.erb
551
+ - test/dummy/app/models/string_field.rb
552
+ - test/dummy/app/controllers/application_controller.rb
553
+ - test/dummy/db/schema.rb
554
+ - test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
555
+ - test/dummy/db/migrate/20150608130516_create_date_field.rb
556
+ - test/dummy/db/migrate/20150612112520_create_has_and_belongs_to_many_field.rb
557
+ - test/dummy/db/migrate/20150608132621_create_string_field.rb
558
+ - test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
559
+ - test/dummy/db/migrate/20150608131430_create_integer_field.rb
560
+ - test/dummy/db/migrate/20160627172951_create_tree.rb
561
+ - test/dummy/db/migrate/20160628173505_add_timestamps.rb
562
+ - test/dummy/db/migrate/20150608131610_create_float_field.rb
563
+ - test/dummy/db/migrate/20160627172810_create_owner.rb
564
+ - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
565
+ - test/dummy/db/migrate/20150608132159_create_boolean_field.rb
566
+ - test/dummy/db/migrate/20170614141921_create_serialize_field.rb
567
+ - test/dummy/db/migrate/20150608150016_create_has_many_field.rb
568
+ - test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
569
+ - test/dummy/db/migrate/20150608131603_create_decimal_field.rb
570
+ - test/dummy/db/migrate/20181111162121_create_references_table.rb
571
+ - test/dummy/db/migrate/20150608133044_create_has_one_field.rb
572
+ - test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
549
573
  - test/dummy/README.rdoc
550
- - test/dummy/config.ru
551
- - test/dummy/config/environment.rb
552
- - test/dummy/config/secrets.yml
553
- - test/dummy/config/boot.rb
554
- - test/dummy/config/database.yml
555
- - test/dummy/config/routes.rb
556
- - test/dummy/config/application.rb
574
+ - test/dummy/Rakefile
575
+ - test/dummy/config/initializers/inflections.rb
557
576
  - test/dummy/config/initializers/filter_parameter_logging.rb
577
+ - test/dummy/config/initializers/wrap_parameters.rb
558
578
  - test/dummy/config/initializers/mime_types.rb
559
- - test/dummy/config/initializers/session_store.rb
560
- - test/dummy/config/initializers/inflections.rb
561
579
  - test/dummy/config/initializers/assets.rb
562
- - test/dummy/config/initializers/wrap_parameters.rb
563
580
  - test/dummy/config/initializers/backtrace_silencers.rb
581
+ - test/dummy/config/initializers/session_store.rb
564
582
  - test/dummy/config/initializers/cookies_serializer.rb
565
- - test/dummy/config/environments/test.rb
583
+ - test/dummy/config/secrets.yml
584
+ - test/dummy/config/database.yml
585
+ - test/dummy/config/boot.rb
586
+ - test/dummy/config/locales/en.yml
587
+ - test/dummy/config/environment.rb
588
+ - test/dummy/config/application.rb
566
589
  - test/dummy/config/environments/production.rb
567
590
  - test/dummy/config/environments/development.rb
568
- - test/dummy/config/locales/en.yml
569
- - test/dummy/bin/rake
570
- - test/dummy/bin/bundle
571
- - test/dummy/bin/rails
572
- - test/dummy/bin/setup
573
- - test/test_helper.rb
574
- - test/forest_liana_test.rb
575
- - test/services/forest_liana/has_many_getter_test.rb
576
- - test/services/forest_liana/resource_updater_test.rb
577
- - test/services/forest_liana/schema_adapter_test.rb
578
- - test/services/forest_liana/scope_validator_test.rb
579
- - test/services/forest_liana/value_stat_getter_test.rb
580
- - test/services/forest_liana/pie_stat_getter_test.rb
581
- - test/fixtures/owner.yml
582
- - test/fixtures/has_many_through_field.yml
583
- - test/fixtures/reference.yml
584
- - test/fixtures/has_many_field.yml
585
- - test/fixtures/has_one_field.yml
586
- - test/fixtures/belongs_to_field.yml
587
- - test/fixtures/string_field.yml
588
- - test/fixtures/serialize_field.yml
589
- - test/fixtures/tree.yml
590
- - test/routing/route_test.rb
591
- - spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
592
- - spec/dummy/db/migrate/20210326110524_create_references.rb
593
- - spec/dummy/db/migrate/20190226173051_create_isle.rb
594
- - spec/dummy/db/migrate/20190226174951_create_tree.rb
595
- - spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
596
- - spec/dummy/db/migrate/20190226172951_create_user.rb
597
- - spec/dummy/db/migrate/20210326140855_create_locations.rb
598
- - spec/dummy/db/schema.rb
599
- - spec/dummy/lib/forest_liana/collections/location.rb
600
- - spec/dummy/lib/forest_liana/collections/user.rb
601
- - spec/dummy/Rakefile
602
- - spec/dummy/app/controllers/application_controller.rb
603
- - spec/dummy/app/models/island.rb
604
- - spec/dummy/app/models/reference.rb
605
- - spec/dummy/app/models/location.rb
606
- - spec/dummy/app/models/tree.rb
607
- - spec/dummy/app/models/user.rb
591
+ - test/dummy/config/environments/test.rb
592
+ - test/dummy/config/routes.rb
593
+ - spec/spec_helper.rb
594
+ - spec/rails_helper.rb
595
+ - spec/helpers/forest_liana/is_same_data_structure_helper_spec.rb
596
+ - spec/helpers/forest_liana/schema_helper_spec.rb
597
+ - spec/helpers/forest_liana/query_helper_spec.rb
598
+ - spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
599
+ - spec/services/forest_liana/resources_getter_spec.rb
600
+ - spec/services/forest_liana/filters_parser_spec.rb
601
+ - spec/services/forest_liana/permissions_getter_spec.rb
602
+ - spec/services/forest_liana/ip_whitelist_checker_spec.rb
603
+ - spec/services/forest_liana/schema_adapter_spec.rb
604
+ - spec/services/forest_liana/permissions_formatter_spec.rb
605
+ - spec/services/forest_liana/permissions_checker_live_queries_spec.rb
606
+ - spec/services/forest_liana/apimap_sorter_spec.rb
607
+ - spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
608
+ - spec/requests/actions_controller_spec.rb
609
+ - spec/requests/stats_spec.rb
610
+ - spec/requests/authentications_spec.rb
611
+ - spec/requests/resources_spec.rb
612
+ - spec/dummy/bin/bundle
613
+ - spec/dummy/bin/setup
614
+ - spec/dummy/bin/rake
615
+ - spec/dummy/bin/rails
616
+ - spec/dummy/config.ru
608
617
  - spec/dummy/app/assets/stylesheets/application.css
609
- - spec/dummy/app/assets/javascripts/application.js
610
618
  - spec/dummy/app/assets/config/manifest.js
611
- - spec/dummy/app/config/routes.rb
619
+ - spec/dummy/app/assets/javascripts/application.js
612
620
  - spec/dummy/app/helpers/application_helper.rb
613
621
  - spec/dummy/app/views/layouts/application.html.erb
622
+ - spec/dummy/app/models/user.rb
623
+ - spec/dummy/app/models/island.rb
624
+ - spec/dummy/app/models/location.rb
625
+ - spec/dummy/app/models/tree.rb
626
+ - spec/dummy/app/models/reference.rb
627
+ - spec/dummy/app/config/routes.rb
628
+ - spec/dummy/app/controllers/application_controller.rb
629
+ - spec/dummy/db/schema.rb
630
+ - spec/dummy/db/migrate/20190226174951_create_tree.rb
631
+ - spec/dummy/db/migrate/20210326140855_create_locations.rb
632
+ - spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
633
+ - spec/dummy/db/migrate/20210326110524_create_references.rb
634
+ - spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
635
+ - spec/dummy/db/migrate/20190226173051_create_isle.rb
636
+ - spec/dummy/db/migrate/20190226172951_create_user.rb
637
+ - spec/dummy/lib/forest_liana/collections/user.rb
638
+ - spec/dummy/lib/forest_liana/collections/location.rb
614
639
  - spec/dummy/README.rdoc
615
- - spec/dummy/config.ru
616
- - spec/dummy/config/environment.rb
617
- - spec/dummy/config/secrets.yml
618
- - spec/dummy/config/boot.rb
619
- - spec/dummy/config/database.yml
620
- - spec/dummy/config/routes.rb
621
- - spec/dummy/config/application.rb
640
+ - spec/dummy/Rakefile
641
+ - spec/dummy/config/initializers/inflections.rb
622
642
  - spec/dummy/config/initializers/filter_parameter_logging.rb
623
- - spec/dummy/config/initializers/forest_liana.rb
643
+ - spec/dummy/config/initializers/wrap_parameters.rb
624
644
  - spec/dummy/config/initializers/mime_types.rb
625
- - spec/dummy/config/initializers/session_store.rb
626
- - spec/dummy/config/initializers/inflections.rb
645
+ - spec/dummy/config/initializers/forest_liana.rb
627
646
  - spec/dummy/config/initializers/assets.rb
628
- - spec/dummy/config/initializers/wrap_parameters.rb
629
647
  - spec/dummy/config/initializers/backtrace_silencers.rb
648
+ - spec/dummy/config/initializers/session_store.rb
630
649
  - spec/dummy/config/initializers/cookies_serializer.rb
631
- - spec/dummy/config/environments/test.rb
650
+ - spec/dummy/config/secrets.yml
651
+ - spec/dummy/config/database.yml
652
+ - spec/dummy/config/boot.rb
653
+ - spec/dummy/config/environment.rb
654
+ - spec/dummy/config/application.rb
632
655
  - spec/dummy/config/environments/production.rb
633
656
  - spec/dummy/config/environments/development.rb
634
- - spec/dummy/bin/rake
635
- - spec/dummy/bin/bundle
636
- - spec/dummy/bin/rails
637
- - spec/dummy/bin/setup
638
- - spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
639
- - spec/services/forest_liana/resources_getter_spec.rb
640
- - spec/services/forest_liana/permissions_formatter_spec.rb
641
- - spec/services/forest_liana/permissions_checker_live_queries_spec.rb
642
- - spec/services/forest_liana/permissions_getter_spec.rb
643
- - spec/services/forest_liana/schema_adapter_spec.rb
644
- - spec/services/forest_liana/apimap_sorter_spec.rb
645
- - spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
646
- - spec/services/forest_liana/ip_whitelist_checker_spec.rb
647
- - spec/services/forest_liana/filters_parser_spec.rb
648
- - spec/rails_helper.rb
649
- - spec/requests/resources_spec.rb
650
- - spec/requests/authentications_spec.rb
651
- - spec/requests/actions_controller_spec.rb
652
- - spec/requests/stats_spec.rb
653
- - spec/helpers/forest_liana/is_same_data_structure_helper_spec.rb
654
- - spec/helpers/forest_liana/schema_helper_spec.rb
655
- - spec/helpers/forest_liana/query_helper_spec.rb
656
- - spec/spec_helper.rb
657
+ - spec/dummy/config/environments/test.rb
658
+ - spec/dummy/config/routes.rb