forest_liana 6.2.2 → 6.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/forest_liana/authentication_controller.rb +1 -1
- data/app/models/forest_liana/model/action.rb +1 -0
- data/app/services/forest_liana/apimap_sorter.rb +1 -0
- data/app/services/forest_liana/oidc_client_manager.rb +9 -11
- data/app/services/forest_liana/operator_date_interval_parser.rb +28 -24
- data/lib/forest_liana/bootstrapper.rb +14 -11
- data/lib/forest_liana/schema_file_updater.rb +1 -0
- data/lib/forest_liana/version.rb +1 -1
- data/spec/requests/actions_controller_spec.rb +1 -0
- data/test/services/forest_liana/operator_date_interval_parser_test.rb +16 -0
- metadata +132 -130
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84424699c2834facc9807360cdefbc7de4bf5e473d5d8976fc257c70a5878695
|
4
|
+
data.tar.gz: f96a6c6e6ba27fcd42a67ffacd1ddde1133b9980eec177c969494484d2708072
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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)
|
@@ -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
|
-
|
8
|
-
if
|
9
|
-
|
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
|
-
|
18
|
-
|
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 =>
|
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
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
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."
|
data/lib/forest_liana/version.rb
CHANGED
@@ -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.
|
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-
|
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/
|
501
|
-
- test/
|
502
|
-
- test/
|
503
|
-
- test/
|
504
|
-
- test/
|
505
|
-
- test/
|
506
|
-
- test/
|
507
|
-
- test/
|
508
|
-
- test/
|
509
|
-
- test/
|
510
|
-
- test/
|
511
|
-
- test/
|
512
|
-
- test/
|
513
|
-
- test/
|
514
|
-
- test/
|
515
|
-
- test/
|
516
|
-
- test/
|
517
|
-
- test/
|
518
|
-
- test/
|
519
|
-
- test/dummy/
|
520
|
-
- test/dummy/
|
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/
|
525
|
-
- test/dummy/app/
|
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/
|
528
|
-
- test/dummy/app/models/
|
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/
|
537
|
-
- test/dummy/app/models/
|
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/
|
542
|
-
- test/dummy/app/
|
543
|
-
- test/dummy/
|
544
|
-
- test/dummy/
|
545
|
-
- test/dummy/
|
546
|
-
- test/dummy/
|
547
|
-
- test/dummy/
|
548
|
-
- test/dummy/
|
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/
|
551
|
-
- test/dummy/config/
|
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/
|
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/
|
569
|
-
- test/dummy/
|
570
|
-
-
|
571
|
-
-
|
572
|
-
-
|
573
|
-
-
|
574
|
-
-
|
575
|
-
-
|
576
|
-
-
|
577
|
-
-
|
578
|
-
-
|
579
|
-
-
|
580
|
-
-
|
581
|
-
-
|
582
|
-
-
|
583
|
-
-
|
584
|
-
-
|
585
|
-
-
|
586
|
-
-
|
587
|
-
-
|
588
|
-
-
|
589
|
-
-
|
590
|
-
-
|
591
|
-
- spec/dummy/
|
592
|
-
- spec/dummy/
|
593
|
-
- spec/dummy/
|
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/
|
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/
|
616
|
-
- spec/dummy/config/
|
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/
|
643
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
624
644
|
- spec/dummy/config/initializers/mime_types.rb
|
625
|
-
- spec/dummy/config/initializers/
|
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/
|
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/
|
635
|
-
- spec/dummy/
|
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
|