forest_liana 6.3.5 → 7.0.0.beta.1
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/application_controller.rb +2 -2
- data/app/controllers/forest_liana/associations_controller.rb +1 -1
- data/app/controllers/forest_liana/base_controller.rb +1 -1
- data/app/controllers/forest_liana/resources_controller.rb +6 -6
- data/app/serializers/forest_liana/intercom_attribute_serializer.rb +1 -1
- data/app/serializers/forest_liana/intercom_conversation_serializer.rb +1 -1
- data/app/serializers/forest_liana/mixpanel_event_serializer.rb +1 -1
- data/app/serializers/forest_liana/serializer_factory.rb +1 -1
- data/app/serializers/forest_liana/stat_serializer.rb +1 -1
- data/app/serializers/forest_liana/stripe_bank_account_serializer.rb +1 -1
- data/app/serializers/forest_liana/stripe_card_serializer.rb +1 -1
- data/app/serializers/forest_liana/stripe_invoice_serializer.rb +1 -1
- data/app/serializers/forest_liana/stripe_payment_serializer.rb +1 -1
- data/app/serializers/forest_liana/stripe_subscription_serializer.rb +1 -1
- data/app/services/forest_liana/line_stat_getter.rb +2 -4
- data/app/services/forest_liana/schema_adapter.rb +1 -1
- data/config/initializers/logger.rb +16 -13
- data/lib/forest_liana.rb +2 -0
- data/lib/forest_liana/bootstrapper.rb +1 -1
- data/lib/forest_liana/engine.rb +1 -1
- data/lib/forest_liana/version.rb +1 -1
- data/spec/config/initializers/logger_spec.rb +30 -0
- data/spec/dummy/app/models/product.rb +3 -0
- data/spec/dummy/db/migrate/20210526084712_create_products.rb +7 -0
- data/spec/dummy/db/schema.rb +5 -1
- data/spec/services/forest_liana/line_stat_getter_spec.rb +2 -2
- data/spec/services/forest_liana/schema_adapter_spec.rb +13 -0
- metadata +131 -125
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69b23785cf391fb245efbf6488e58fb19bbbc010e9dac0a91574412684e89129
|
4
|
+
data.tar.gz: 26d9dd7b466009b8a09182dec02778b729e58b83c7b717811c45dca5ce6cc032
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e216bb8280e6adc87f2ab5f4c0d1a2937306ba1237aedcc9b80375a742227bcdf2187e74b573691324f55d9ef13843b397c25348d442a3e211eda2d8c20cb06c
|
7
|
+
data.tar.gz: a3e736ae280744d93d65f9592ff9b9475f1f2b22b24790ee37b202ad361f0f192ff0a2bf87dd2669327492b24d2afee3000130af925d38788879512e086da24e
|
@@ -34,14 +34,14 @@ module ForestLiana
|
|
34
34
|
|
35
35
|
def serialize_model(record, options = {})
|
36
36
|
options[:is_collection] = false
|
37
|
-
json = JSONAPI::Serializer.serialize(record, options)
|
37
|
+
json = ForestAdmin::JSONAPI::Serializer.serialize(record, options)
|
38
38
|
|
39
39
|
force_utf8_encoding(json)
|
40
40
|
end
|
41
41
|
|
42
42
|
def serialize_models(records, options = {}, fields_searched = [])
|
43
43
|
options[:is_collection] = true
|
44
|
-
json = JSONAPI::Serializer.serialize(records, options)
|
44
|
+
json = ForestAdmin::JSONAPI::Serializer.serialize(records, options)
|
45
45
|
|
46
46
|
if options[:params] && options[:params][:search]
|
47
47
|
# NOTICE: Add the Smart Fields with a 'String' type.
|
@@ -41,7 +41,7 @@ module ForestLiana
|
|
41
41
|
updater.perform
|
42
42
|
|
43
43
|
if updater.errors
|
44
|
-
render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
|
44
|
+
render serializer: nil, json: ForestAdmin::JSONAPI::Serializer.serialize_errors(
|
45
45
|
updater.errors), status: 422
|
46
46
|
else
|
47
47
|
head :no_content
|
@@ -24,7 +24,7 @@ module ForestLiana
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
rescue ForestLiana::Errors::ExpectedError => exception
|
27
|
-
error_data = JSONAPI::Serializer.serialize_errors([{
|
27
|
+
error_data = ForestAdmin::JSONAPI::Serializer.serialize_errors([{
|
28
28
|
status: exception.error_code,
|
29
29
|
detail: exception.message
|
30
30
|
}])
|
@@ -41,7 +41,7 @@ module ForestLiana
|
|
41
41
|
status: :unprocessable_entity, serializer: nil
|
42
42
|
rescue ForestLiana::Errors::ExpectedError => error
|
43
43
|
error.display_error
|
44
|
-
error_data = JSONAPI::Serializer.serialize_errors([{
|
44
|
+
error_data = ForestAdmin::JSONAPI::Serializer.serialize_errors([{
|
45
45
|
status: error.error_code,
|
46
46
|
detail: error.message
|
47
47
|
}])
|
@@ -73,7 +73,7 @@ module ForestLiana
|
|
73
73
|
status: :unprocessable_entity, serializer: nil
|
74
74
|
rescue ForestLiana::Errors::ExpectedError => error
|
75
75
|
error.display_error
|
76
|
-
error_data = JSONAPI::Serializer.serialize_errors([{
|
76
|
+
error_data = ForestAdmin::JSONAPI::Serializer.serialize_errors([{
|
77
77
|
status: error.error_code,
|
78
78
|
detail: error.message
|
79
79
|
}])
|
@@ -108,12 +108,12 @@ module ForestLiana
|
|
108
108
|
creator.perform
|
109
109
|
|
110
110
|
if creator.errors
|
111
|
-
render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
|
111
|
+
render serializer: nil, json: ForestAdmin::JSONAPI::Serializer.serialize_errors(
|
112
112
|
creator.errors), status: 400
|
113
113
|
elsif creator.record.valid?
|
114
114
|
render serializer: nil, json: render_record_jsonapi(creator.record)
|
115
115
|
else
|
116
|
-
render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
|
116
|
+
render serializer: nil, json: ForestAdmin::JSONAPI::Serializer.serialize_errors(
|
117
117
|
creator.record.errors), status: 400
|
118
118
|
end
|
119
119
|
rescue => error
|
@@ -131,12 +131,12 @@ module ForestLiana
|
|
131
131
|
updater.perform
|
132
132
|
|
133
133
|
if updater.errors
|
134
|
-
render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
|
134
|
+
render serializer: nil, json: ForestAdmin::JSONAPI::Serializer.serialize_errors(
|
135
135
|
updater.errors), status: 400
|
136
136
|
elsif updater.record.valid?
|
137
137
|
render serializer: nil, json: render_record_jsonapi(updater.record)
|
138
138
|
else
|
139
|
-
render serializer: nil, json: JSONAPI::Serializer.serialize_errors(
|
139
|
+
render serializer: nil, json: ForestAdmin::JSONAPI::Serializer.serialize_errors(
|
140
140
|
updater.record.errors), status: 400
|
141
141
|
end
|
142
142
|
rescue => error
|
@@ -5,7 +5,7 @@ module ForestLiana
|
|
5
5
|
def client_timezone
|
6
6
|
# As stated here https://github.com/ankane/groupdate#for-sqlite
|
7
7
|
# groupdate does not handle timezone for SQLite
|
8
|
-
return
|
8
|
+
return false if 'SQLite' == ActiveRecord::Base.connection.adapter_name
|
9
9
|
@params[:timezone]
|
10
10
|
end
|
11
11
|
|
@@ -31,9 +31,7 @@ module ForestLiana
|
|
31
31
|
|
32
32
|
Groupdate.week_start = :monday
|
33
33
|
|
34
|
-
value = value.send(time_range, group_by_date_field,
|
35
|
-
time_zone: client_timezone
|
36
|
-
})
|
34
|
+
value = value.send(time_range, group_by_date_field, time_zone: client_timezone)
|
37
35
|
|
38
36
|
value = value.send(@params[:aggregate].downcase, @params[:aggregate_field])
|
39
37
|
.map do |k, v|
|
@@ -479,7 +479,7 @@ module ForestLiana
|
|
479
479
|
regex = value.source
|
480
480
|
|
481
481
|
# NOTICE: Transform a Ruby regex into a JS one
|
482
|
-
regex = regex.sub('\\A' , '^').sub('\\Z' , '$').sub('\\z' , '$')
|
482
|
+
regex = regex.sub('\\A' , '^').sub('\\Z' , '$').sub('\\z' , '$').gsub(/\n+|\s+/, '')
|
483
483
|
|
484
484
|
column_schema[:validations] << {
|
485
485
|
type: 'is like',
|
@@ -3,21 +3,24 @@ module ForestLiana
|
|
3
3
|
class Logger
|
4
4
|
class << self
|
5
5
|
def log
|
6
|
-
logger
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
6
|
+
if ForestLiana.logger != nil
|
7
|
+
logger = ForestLiana.logger
|
8
|
+
else
|
9
|
+
logger = ::Logger.new(STDOUT)
|
10
|
+
logger_colors = {
|
11
|
+
DEBUG: 34,
|
12
|
+
WARN: 33,
|
13
|
+
ERROR: 31,
|
14
|
+
INFO: 37
|
15
|
+
}
|
13
16
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
17
|
+
logger.formatter = proc do |severity, datetime, progname, message|
|
18
|
+
displayed_message = "[#{datetime.to_s(:db)}] Forest 🌳🌳🌳 " \
|
19
|
+
"#{message}\n"
|
20
|
+
"\e[#{logger_colors[severity.to_sym]}m#{displayed_message}\033[0m"
|
21
|
+
end
|
22
|
+
logger
|
18
23
|
end
|
19
|
-
|
20
|
-
logger
|
21
24
|
end
|
22
25
|
end
|
23
26
|
end
|
data/lib/forest_liana.rb
CHANGED
@@ -27,6 +27,7 @@ module ForestLiana
|
|
27
27
|
mattr_accessor :user_class_name
|
28
28
|
mattr_accessor :names_overriden
|
29
29
|
mattr_accessor :meta
|
30
|
+
mattr_accessor :logger
|
30
31
|
# TODO: Remove once lianas prior to 2.0.0 are not supported anymore.
|
31
32
|
mattr_accessor :names_old_overriden
|
32
33
|
|
@@ -38,6 +39,7 @@ module ForestLiana
|
|
38
39
|
self.user_class_name = nil
|
39
40
|
self.names_overriden = {}
|
40
41
|
self.meta = {}
|
42
|
+
self.logger = nil
|
41
43
|
|
42
44
|
@config_dir = 'lib/forest_liana/**/*.rb'
|
43
45
|
|
@@ -139,7 +139,7 @@ module ForestLiana
|
|
139
139
|
|
140
140
|
# Monkey patch the find_serializer_class_name method to specify the
|
141
141
|
# good serializer to use.
|
142
|
-
::JSONAPI::Serializer.class_eval do
|
142
|
+
::ForestAdmin::JSONAPI::Serializer.class_eval do
|
143
143
|
def self.find_serializer_class_name(record, options)
|
144
144
|
if record.respond_to?(:jsonapi_serializer_class_name)
|
145
145
|
record.jsonapi_serializer_class_name.to_s
|
data/lib/forest_liana/engine.rb
CHANGED
data/lib/forest_liana/version.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
module ForestLiana
|
2
|
+
describe Logger do
|
3
|
+
describe 'self.log' do
|
4
|
+
describe 'with a logger overload' do
|
5
|
+
it 'should return the given logger' do
|
6
|
+
logger = ActiveSupport::Logger.new($stdout)
|
7
|
+
logger.formatter = proc do |severity, datetime, progname, msg|
|
8
|
+
{:message => msg}.to_json
|
9
|
+
end
|
10
|
+
ForestLiana.logger = logger
|
11
|
+
|
12
|
+
expect(Logger.log.is_a?(ActiveSupport::Logger)).to be_truthy
|
13
|
+
expect { Logger.log.error "[error] override logger" }.to output({:message => "[error] override logger"}.to_json).to_stdout_from_any_process
|
14
|
+
expect { Logger.log.info "[info] override logger" }.to output({:message => "[info] override logger"}.to_json).to_stdout_from_any_process
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe 'with no logger overload' do
|
19
|
+
it 'should return an instance of ::Logger' do
|
20
|
+
ForestLiana.logger = nil
|
21
|
+
|
22
|
+
expect(Logger.log.is_a?(::Logger)).to be_truthy
|
23
|
+
# RegExp is used to check for the forestadmin logger format
|
24
|
+
expect { Logger.log.error "[error] default logger" }.to output(/\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] Forest .* \[error\]/).to_stdout_from_any_process
|
25
|
+
expect { Logger.log.info "[info] default logger" }.to output(/\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] Forest .* \[info\]/).to_stdout_from_any_process
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
#
|
11
11
|
# It's strongly recommended that you check this file into your version control system.
|
12
12
|
|
13
|
-
ActiveRecord::Schema.define(version:
|
13
|
+
ActiveRecord::Schema.define(version: 2021_05_26_084712) do
|
14
14
|
|
15
15
|
create_table "isle", force: :cascade do |t|
|
16
16
|
t.string "name"
|
@@ -32,6 +32,10 @@ ActiveRecord::Schema.define(version: 2021_05_11_141752) do
|
|
32
32
|
t.datetime "hired_at"
|
33
33
|
end
|
34
34
|
|
35
|
+
create_table "products", force: :cascade do |t|
|
36
|
+
t.string "uri"
|
37
|
+
end
|
38
|
+
|
35
39
|
create_table "references", force: :cascade do |t|
|
36
40
|
t.datetime "created_at", precision: 6, null: false
|
37
41
|
t.datetime "updated_at", precision: 6, null: false
|
@@ -2,11 +2,11 @@ module ForestLiana
|
|
2
2
|
describe LineStatGetter do
|
3
3
|
describe 'Check client_timezone function' do
|
4
4
|
describe 'with a SQLite database' do
|
5
|
-
it 'should return
|
5
|
+
it 'should return false' do
|
6
6
|
expect(LineStatGetter.new(Owner, {
|
7
7
|
timezone: "Europe/Paris",
|
8
8
|
aggregate: "Count",
|
9
|
-
}).client_timezone).to eq(
|
9
|
+
}).client_timezone).to eq(false)
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
@@ -12,6 +12,19 @@ module ForestLiana
|
|
12
12
|
)
|
13
13
|
end
|
14
14
|
end
|
15
|
+
|
16
|
+
context 'with a multiline regex validation' do
|
17
|
+
it 'should remove new lines in validation' do
|
18
|
+
|
19
|
+
collection = ForestLiana.apimap.find do |object|
|
20
|
+
object.name.to_s == ForestLiana.name_for(Product)
|
21
|
+
end
|
22
|
+
|
23
|
+
uri_field = collection.fields.find { |field| field[:field] == 'uri' }
|
24
|
+
uri_regex_validation = uri_field[:validations].find { |validation| validation[:type] == "is like"}
|
25
|
+
expect(uri_regex_validation[:value].match('\n')).to eq(nil)
|
26
|
+
end
|
27
|
+
end
|
15
28
|
end
|
16
29
|
end
|
17
30
|
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:
|
4
|
+
version: 7.0.0.beta.1
|
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-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '4.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: jsonapi-serializers
|
28
|
+
name: forestadmin-jsonapi-serializers
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -316,6 +316,7 @@ files:
|
|
316
316
|
- lib/generators/forest_liana/install_generator.rb
|
317
317
|
- lib/tasks/display_apimap.rake
|
318
318
|
- lib/tasks/send_apimap.rake
|
319
|
+
- spec/config/initializers/logger_spec.rb
|
319
320
|
- spec/dummy/README.rdoc
|
320
321
|
- spec/dummy/Rakefile
|
321
322
|
- spec/dummy/app/assets/config/manifest.js
|
@@ -327,6 +328,7 @@ files:
|
|
327
328
|
- spec/dummy/app/models/island.rb
|
328
329
|
- spec/dummy/app/models/location.rb
|
329
330
|
- spec/dummy/app/models/owner.rb
|
331
|
+
- spec/dummy/app/models/product.rb
|
330
332
|
- spec/dummy/app/models/reference.rb
|
331
333
|
- spec/dummy/app/models/tree.rb
|
332
334
|
- spec/dummy/app/models/user.rb
|
@@ -362,6 +364,7 @@ files:
|
|
362
364
|
- spec/dummy/db/migrate/20210326110524_create_references.rb
|
363
365
|
- spec/dummy/db/migrate/20210326140855_create_locations.rb
|
364
366
|
- spec/dummy/db/migrate/20210511141752_create_owners.rb
|
367
|
+
- spec/dummy/db/migrate/20210526084712_create_products.rb
|
365
368
|
- spec/dummy/db/schema.rb
|
366
369
|
- spec/dummy/lib/forest_liana/collections/location.rb
|
367
370
|
- spec/dummy/lib/forest_liana/collections/user.rb
|
@@ -492,173 +495,176 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
492
495
|
version: '0'
|
493
496
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
494
497
|
requirements:
|
495
|
-
- - "
|
498
|
+
- - ">"
|
496
499
|
- !ruby/object:Gem::Version
|
497
|
-
version:
|
500
|
+
version: 1.3.1
|
498
501
|
requirements: []
|
499
502
|
rubygems_version: 3.1.2
|
500
503
|
signing_key:
|
501
504
|
specification_version: 4
|
502
505
|
summary: Official Rails Liana for Forest
|
503
506
|
test_files:
|
504
|
-
- test/
|
505
|
-
- test/fixtures/tree.yml
|
506
|
-
- test/fixtures/has_many_field.yml
|
507
|
-
- test/fixtures/serialize_field.yml
|
508
|
-
- test/fixtures/owner.yml
|
509
|
-
- test/fixtures/reference.yml
|
510
|
-
- test/fixtures/string_field.yml
|
511
|
-
- test/fixtures/belongs_to_field.yml
|
512
|
-
- test/fixtures/has_many_through_field.yml
|
513
|
-
- test/fixtures/has_one_field.yml
|
507
|
+
- test/forest_liana_test.rb
|
514
508
|
- test/test_helper.rb
|
515
|
-
- test/services/forest_liana/scope_validator_test.rb
|
516
|
-
- test/services/forest_liana/operator_date_interval_parser_test.rb
|
517
509
|
- test/services/forest_liana/has_many_getter_test.rb
|
518
|
-
- test/services/forest_liana/schema_adapter_test.rb
|
519
510
|
- test/services/forest_liana/pie_stat_getter_test.rb
|
520
|
-
- test/services/forest_liana/value_stat_getter_test.rb
|
521
511
|
- test/services/forest_liana/resource_updater_test.rb
|
522
|
-
- test/
|
523
|
-
- test/
|
524
|
-
- test/
|
525
|
-
- test/
|
526
|
-
- test/
|
527
|
-
- test/
|
528
|
-
- test/
|
529
|
-
- test/
|
530
|
-
- test/
|
531
|
-
- test/
|
532
|
-
- test/
|
533
|
-
- test/
|
534
|
-
- test/
|
535
|
-
- test/
|
536
|
-
- test/dummy/app/views/layouts/application.html.erb
|
537
|
-
- test/dummy/app/models/has_and_belongs_to_many_field.rb
|
538
|
-
- test/dummy/app/models/decimal_field.rb
|
539
|
-
- test/dummy/app/models/owner.rb
|
540
|
-
- test/dummy/app/models/boolean_field.rb
|
541
|
-
- test/dummy/app/models/has_one_field.rb
|
542
|
-
- test/dummy/app/models/has_many_class_name_field.rb
|
543
|
-
- test/dummy/app/models/has_many_through_field.rb
|
544
|
-
- test/dummy/app/models/has_many_field.rb
|
545
|
-
- test/dummy/app/models/belongs_to_field.rb
|
546
|
-
- test/dummy/app/models/integer_field.rb
|
547
|
-
- test/dummy/app/models/belongs_to_class_name_field.rb
|
548
|
-
- test/dummy/app/models/polymorphic_field.rb
|
549
|
-
- test/dummy/app/models/serialize_field.rb
|
550
|
-
- test/dummy/app/models/tree.rb
|
551
|
-
- test/dummy/app/models/float_field.rb
|
552
|
-
- test/dummy/app/models/reference.rb
|
553
|
-
- test/dummy/app/models/date_field.rb
|
554
|
-
- test/dummy/app/models/string_field.rb
|
555
|
-
- test/dummy/app/controllers/application_controller.rb
|
512
|
+
- test/services/forest_liana/value_stat_getter_test.rb
|
513
|
+
- test/services/forest_liana/scope_validator_test.rb
|
514
|
+
- test/services/forest_liana/schema_adapter_test.rb
|
515
|
+
- test/services/forest_liana/operator_date_interval_parser_test.rb
|
516
|
+
- test/routing/route_test.rb
|
517
|
+
- test/fixtures/string_field.yml
|
518
|
+
- test/fixtures/serialize_field.yml
|
519
|
+
- test/fixtures/has_one_field.yml
|
520
|
+
- test/fixtures/has_many_through_field.yml
|
521
|
+
- test/fixtures/has_many_field.yml
|
522
|
+
- test/fixtures/reference.yml
|
523
|
+
- test/fixtures/owner.yml
|
524
|
+
- test/fixtures/belongs_to_field.yml
|
525
|
+
- test/fixtures/tree.yml
|
556
526
|
- test/dummy/db/schema.rb
|
557
|
-
- test/dummy/db/migrate/
|
527
|
+
- test/dummy/db/migrate/20150608131610_create_float_field.rb
|
528
|
+
- test/dummy/db/migrate/20150608131430_create_integer_field.rb
|
529
|
+
- test/dummy/db/migrate/20170614141921_create_serialize_field.rb
|
530
|
+
- test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
|
558
531
|
- test/dummy/db/migrate/20150608130516_create_date_field.rb
|
559
532
|
- test/dummy/db/migrate/20150612112520_create_has_and_belongs_to_many_field.rb
|
560
533
|
- test/dummy/db/migrate/20150608132621_create_string_field.rb
|
561
|
-
- test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
|
562
|
-
- test/dummy/db/migrate/20150608131430_create_integer_field.rb
|
563
|
-
- test/dummy/db/migrate/20160627172951_create_tree.rb
|
564
|
-
- test/dummy/db/migrate/20160628173505_add_timestamps.rb
|
565
|
-
- test/dummy/db/migrate/20150608131610_create_float_field.rb
|
566
|
-
- test/dummy/db/migrate/20160627172810_create_owner.rb
|
567
|
-
- test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
|
568
534
|
- test/dummy/db/migrate/20150608132159_create_boolean_field.rb
|
569
|
-
- test/dummy/db/migrate/20170614141921_create_serialize_field.rb
|
570
|
-
- test/dummy/db/migrate/20150608150016_create_has_many_field.rb
|
571
535
|
- test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
|
572
|
-
- test/dummy/db/migrate/
|
536
|
+
- test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
|
573
537
|
- test/dummy/db/migrate/20181111162121_create_references_table.rb
|
538
|
+
- test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
|
539
|
+
- test/dummy/db/migrate/20160627172810_create_owner.rb
|
540
|
+
- test/dummy/db/migrate/20160627172951_create_tree.rb
|
541
|
+
- test/dummy/db/migrate/20150608150016_create_has_many_field.rb
|
542
|
+
- test/dummy/db/migrate/20150608131603_create_decimal_field.rb
|
574
543
|
- test/dummy/db/migrate/20150608133044_create_has_one_field.rb
|
575
|
-
- test/dummy/db/migrate/
|
576
|
-
- test/dummy/
|
577
|
-
- test/dummy/
|
578
|
-
- test/dummy/
|
579
|
-
- test/dummy/
|
580
|
-
- test/dummy/
|
544
|
+
- test/dummy/db/migrate/20160628173505_add_timestamps.rb
|
545
|
+
- test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
|
546
|
+
- test/dummy/config.ru
|
547
|
+
- test/dummy/bin/rake
|
548
|
+
- test/dummy/bin/setup
|
549
|
+
- test/dummy/bin/bundle
|
550
|
+
- test/dummy/bin/rails
|
551
|
+
- test/dummy/config/routes.rb
|
552
|
+
- test/dummy/config/boot.rb
|
581
553
|
- test/dummy/config/initializers/mime_types.rb
|
582
554
|
- test/dummy/config/initializers/assets.rb
|
583
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
584
555
|
- test/dummy/config/initializers/session_store.rb
|
556
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
557
|
+
- test/dummy/config/initializers/filter_parameter_logging.rb
|
585
558
|
- test/dummy/config/initializers/cookies_serializer.rb
|
586
|
-
- test/dummy/config/
|
587
|
-
- test/dummy/config/
|
588
|
-
- test/dummy/config/boot.rb
|
559
|
+
- test/dummy/config/initializers/backtrace_silencers.rb
|
560
|
+
- test/dummy/config/initializers/inflections.rb
|
589
561
|
- test/dummy/config/locales/en.yml
|
562
|
+
- test/dummy/config/secrets.yml
|
590
563
|
- test/dummy/config/environment.rb
|
591
|
-
- test/dummy/config/application.rb
|
592
564
|
- test/dummy/config/environments/production.rb
|
593
565
|
- test/dummy/config/environments/development.rb
|
594
566
|
- test/dummy/config/environments/test.rb
|
595
|
-
- test/dummy/config/
|
567
|
+
- test/dummy/config/database.yml
|
568
|
+
- test/dummy/config/application.rb
|
569
|
+
- test/dummy/README.rdoc
|
570
|
+
- test/dummy/Rakefile
|
571
|
+
- test/dummy/public/favicon.ico
|
572
|
+
- test/dummy/public/404.html
|
573
|
+
- test/dummy/public/422.html
|
574
|
+
- test/dummy/public/500.html
|
575
|
+
- test/dummy/app/controllers/application_controller.rb
|
576
|
+
- test/dummy/app/views/layouts/application.html.erb
|
577
|
+
- test/dummy/app/helpers/application_helper.rb
|
578
|
+
- test/dummy/app/assets/stylesheets/application.css
|
579
|
+
- test/dummy/app/assets/config/manifest.js
|
580
|
+
- test/dummy/app/assets/javascripts/application.js
|
581
|
+
- test/dummy/app/models/boolean_field.rb
|
582
|
+
- test/dummy/app/models/decimal_field.rb
|
583
|
+
- test/dummy/app/models/date_field.rb
|
584
|
+
- test/dummy/app/models/tree.rb
|
585
|
+
- test/dummy/app/models/has_and_belongs_to_many_field.rb
|
586
|
+
- test/dummy/app/models/owner.rb
|
587
|
+
- test/dummy/app/models/belongs_to_class_name_field.rb
|
588
|
+
- test/dummy/app/models/has_many_through_field.rb
|
589
|
+
- test/dummy/app/models/float_field.rb
|
590
|
+
- test/dummy/app/models/polymorphic_field.rb
|
591
|
+
- test/dummy/app/models/has_one_field.rb
|
592
|
+
- test/dummy/app/models/has_many_class_name_field.rb
|
593
|
+
- test/dummy/app/models/belongs_to_field.rb
|
594
|
+
- test/dummy/app/models/integer_field.rb
|
595
|
+
- test/dummy/app/models/serialize_field.rb
|
596
|
+
- test/dummy/app/models/string_field.rb
|
597
|
+
- test/dummy/app/models/has_many_field.rb
|
598
|
+
- test/dummy/app/models/reference.rb
|
596
599
|
- spec/spec_helper.rb
|
597
|
-
- spec/rails_helper.rb
|
598
|
-
- spec/helpers/forest_liana/is_same_data_structure_helper_spec.rb
|
599
|
-
- spec/helpers/forest_liana/schema_helper_spec.rb
|
600
|
-
- spec/helpers/forest_liana/query_helper_spec.rb
|
601
|
-
- spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
|
602
|
-
- spec/services/forest_liana/resources_getter_spec.rb
|
603
|
-
- spec/services/forest_liana/filters_parser_spec.rb
|
604
600
|
- spec/services/forest_liana/permissions_getter_spec.rb
|
601
|
+
- spec/services/forest_liana/resources_getter_spec.rb
|
605
602
|
- spec/services/forest_liana/ip_whitelist_checker_spec.rb
|
603
|
+
- spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
|
604
|
+
- spec/services/forest_liana/filters_parser_spec.rb
|
606
605
|
- spec/services/forest_liana/schema_adapter_spec.rb
|
606
|
+
- spec/services/forest_liana/line_stat_getter_spec.rb
|
607
607
|
- spec/services/forest_liana/permissions_formatter_spec.rb
|
608
608
|
- spec/services/forest_liana/permissions_checker_live_queries_spec.rb
|
609
609
|
- spec/services/forest_liana/apimap_sorter_spec.rb
|
610
|
-
- spec/services/forest_liana/
|
611
|
-
- spec/
|
612
|
-
- spec/
|
613
|
-
- spec/
|
614
|
-
- spec/
|
615
|
-
- spec/requests/resources_spec.rb
|
616
|
-
- spec/dummy/bin/bundle
|
617
|
-
- spec/dummy/bin/setup
|
618
|
-
- spec/dummy/bin/rake
|
619
|
-
- spec/dummy/bin/rails
|
620
|
-
- spec/dummy/config.ru
|
621
|
-
- spec/dummy/app/assets/stylesheets/application.css
|
622
|
-
- spec/dummy/app/assets/config/manifest.js
|
623
|
-
- spec/dummy/app/assets/javascripts/application.js
|
624
|
-
- spec/dummy/app/helpers/application_helper.rb
|
625
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
626
|
-
- spec/dummy/app/models/user.rb
|
627
|
-
- spec/dummy/app/models/owner.rb
|
628
|
-
- spec/dummy/app/models/island.rb
|
629
|
-
- spec/dummy/app/models/location.rb
|
630
|
-
- spec/dummy/app/models/tree.rb
|
631
|
-
- spec/dummy/app/models/reference.rb
|
632
|
-
- spec/dummy/app/config/routes.rb
|
633
|
-
- spec/dummy/app/controllers/application_controller.rb
|
610
|
+
- spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
|
611
|
+
- spec/config/initializers/logger_spec.rb
|
612
|
+
- spec/helpers/forest_liana/is_same_data_structure_helper_spec.rb
|
613
|
+
- spec/helpers/forest_liana/schema_helper_spec.rb
|
614
|
+
- spec/helpers/forest_liana/query_helper_spec.rb
|
634
615
|
- spec/dummy/db/schema.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/20190226173051_create_isle.rb
|
635
619
|
- spec/dummy/db/migrate/20210511141752_create_owners.rb
|
636
|
-
- spec/dummy/db/migrate/20190226174951_create_tree.rb
|
637
|
-
- spec/dummy/db/migrate/20210326140855_create_locations.rb
|
638
620
|
- spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
|
621
|
+
- spec/dummy/db/migrate/20210326140855_create_locations.rb
|
622
|
+
- spec/dummy/db/migrate/20190226174951_create_tree.rb
|
623
|
+
- spec/dummy/db/migrate/20210526084712_create_products.rb
|
639
624
|
- spec/dummy/db/migrate/20210326110524_create_references.rb
|
640
|
-
- spec/dummy/
|
641
|
-
- spec/dummy/
|
642
|
-
- spec/dummy/
|
643
|
-
- spec/dummy/
|
644
|
-
- spec/dummy/
|
645
|
-
- spec/dummy/
|
646
|
-
- spec/dummy/
|
647
|
-
- spec/dummy/config/initializers/inflections.rb
|
648
|
-
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
649
|
-
- spec/dummy/config/initializers/wrap_parameters.rb
|
650
|
-
- spec/dummy/config/initializers/mime_types.rb
|
625
|
+
- spec/dummy/config.ru
|
626
|
+
- spec/dummy/bin/rake
|
627
|
+
- spec/dummy/bin/setup
|
628
|
+
- spec/dummy/bin/bundle
|
629
|
+
- spec/dummy/bin/rails
|
630
|
+
- spec/dummy/config/routes.rb
|
631
|
+
- spec/dummy/config/boot.rb
|
651
632
|
- spec/dummy/config/initializers/forest_liana.rb
|
633
|
+
- spec/dummy/config/initializers/mime_types.rb
|
652
634
|
- spec/dummy/config/initializers/assets.rb
|
653
|
-
- spec/dummy/config/initializers/backtrace_silencers.rb
|
654
635
|
- spec/dummy/config/initializers/session_store.rb
|
636
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
637
|
+
- spec/dummy/config/initializers/filter_parameter_logging.rb
|
655
638
|
- spec/dummy/config/initializers/cookies_serializer.rb
|
639
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
640
|
+
- spec/dummy/config/initializers/inflections.rb
|
656
641
|
- spec/dummy/config/secrets.yml
|
657
|
-
- spec/dummy/config/database.yml
|
658
|
-
- spec/dummy/config/boot.rb
|
659
642
|
- spec/dummy/config/environment.rb
|
660
|
-
- spec/dummy/config/application.rb
|
661
643
|
- spec/dummy/config/environments/production.rb
|
662
644
|
- spec/dummy/config/environments/development.rb
|
663
645
|
- spec/dummy/config/environments/test.rb
|
664
|
-
- spec/dummy/config/
|
646
|
+
- spec/dummy/config/database.yml
|
647
|
+
- spec/dummy/config/application.rb
|
648
|
+
- spec/dummy/lib/forest_liana/collections/user.rb
|
649
|
+
- spec/dummy/lib/forest_liana/collections/location.rb
|
650
|
+
- spec/dummy/README.rdoc
|
651
|
+
- spec/dummy/Rakefile
|
652
|
+
- spec/dummy/app/controllers/application_controller.rb
|
653
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
654
|
+
- spec/dummy/app/config/routes.rb
|
655
|
+
- spec/dummy/app/helpers/application_helper.rb
|
656
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
657
|
+
- spec/dummy/app/assets/config/manifest.js
|
658
|
+
- spec/dummy/app/assets/javascripts/application.js
|
659
|
+
- spec/dummy/app/models/tree.rb
|
660
|
+
- spec/dummy/app/models/owner.rb
|
661
|
+
- spec/dummy/app/models/user.rb
|
662
|
+
- spec/dummy/app/models/product.rb
|
663
|
+
- spec/dummy/app/models/location.rb
|
664
|
+
- spec/dummy/app/models/island.rb
|
665
|
+
- spec/dummy/app/models/reference.rb
|
666
|
+
- spec/rails_helper.rb
|
667
|
+
- spec/requests/stats_spec.rb
|
668
|
+
- spec/requests/resources_spec.rb
|
669
|
+
- spec/requests/actions_controller_spec.rb
|
670
|
+
- spec/requests/authentications_spec.rb
|