forest_liana 6.6.1 → 7.0.0.beta.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/forest_liana/actions_controller.rb +58 -41
  3. data/app/controllers/forest_liana/application_controller.rb +2 -11
  4. data/app/controllers/forest_liana/associations_controller.rb +1 -1
  5. data/app/controllers/forest_liana/base_controller.rb +1 -1
  6. data/app/controllers/forest_liana/resources_controller.rb +7 -6
  7. data/app/serializers/forest_liana/intercom_attribute_serializer.rb +1 -1
  8. data/app/serializers/forest_liana/intercom_conversation_serializer.rb +1 -1
  9. data/app/serializers/forest_liana/mixpanel_event_serializer.rb +1 -1
  10. data/app/serializers/forest_liana/serializer_factory.rb +1 -1
  11. data/app/serializers/forest_liana/stat_serializer.rb +1 -1
  12. data/app/serializers/forest_liana/stripe_bank_account_serializer.rb +1 -1
  13. data/app/serializers/forest_liana/stripe_card_serializer.rb +1 -1
  14. data/app/serializers/forest_liana/stripe_invoice_serializer.rb +1 -1
  15. data/app/serializers/forest_liana/stripe_payment_serializer.rb +1 -1
  16. data/app/serializers/forest_liana/stripe_subscription_serializer.rb +1 -1
  17. data/app/services/forest_liana/apimap_sorter.rb +1 -0
  18. data/app/services/forest_liana/permissions_checker.rb +39 -33
  19. data/app/services/forest_liana/permissions_formatter.rb +1 -1
  20. data/app/services/forest_liana/permissions_getter.rb +1 -4
  21. data/app/services/forest_liana/smart_action_field_validator.rb +49 -0
  22. data/config/initializers/errors.rb +17 -0
  23. data/config/routes.rb +0 -1
  24. data/lib/forest_liana/bootstrapper.rb +2 -2
  25. data/lib/forest_liana/schema_file_updater.rb +8 -0
  26. data/lib/forest_liana/version.rb +1 -1
  27. data/spec/lib/forest_liana/schema_file_updater_spec.rb +94 -0
  28. data/spec/requests/actions_controller_spec.rb +69 -34
  29. data/spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb +45 -69
  30. data/spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb +39 -63
  31. data/spec/services/forest_liana/permissions_checker_live_queries_spec.rb +3 -3
  32. data/spec/services/forest_liana/permissions_formatter_spec.rb +11 -11
  33. data/spec/services/forest_liana/smart_action_field_validator_spec.rb +70 -0
  34. metadata +119 -117
  35. data/app/helpers/forest_liana/is_same_data_structure_helper.rb +0 -44
  36. data/spec/helpers/forest_liana/is_same_data_structure_helper_spec.rb +0 -87
@@ -20,7 +20,8 @@ module ForestLiana
20
20
  })
21
21
  ]
22
22
  }
23
- let(:scope_permissions) { nil }
23
+ let(:default_rendering_id) { 1 }
24
+ let(:segments_permissions) { { default_rendering_id => { 'segments' => nil } } }
24
25
  let(:default_api_permissions) {
25
26
  {
26
27
  "data" => {
@@ -41,7 +42,7 @@ module ForestLiana
41
42
  }
42
43
  },
43
44
  },
44
- 'renderings' => scope_permissions
45
+ 'renderings' => segments_permissions
45
46
  },
46
47
  "meta" => {
47
48
  "rolesACLActivated" => true
@@ -61,7 +62,6 @@ module ForestLiana
61
62
  },
62
63
  }
63
64
  }
64
- let(:default_rendering_id) { 1 }
65
65
 
66
66
  before do
67
67
  allow(ForestLiana).to receive(:apimap).and_return(schema)
@@ -14,7 +14,7 @@ module ForestLiana
14
14
  }
15
15
  }
16
16
  let(:old_format_action_permissions) { { 'allowed' => true, 'users' => nil } }
17
- let(:old_format_scope_permissions) { nil }
17
+ let(:old_format_segments_permissions) { nil }
18
18
  let(:old_format_permissions) {
19
19
  {
20
20
  'collection_1' => {
@@ -22,7 +22,7 @@ module ForestLiana
22
22
  'actions' => {
23
23
  'action_1' => old_format_action_permissions
24
24
  },
25
- 'scope' => old_format_scope_permissions
25
+ 'segments' => old_format_segments_permissions
26
26
  }
27
27
  }
28
28
  }
@@ -197,22 +197,22 @@ module ForestLiana
197
197
  end
198
198
  end
199
199
 
200
- describe 'scope permissions' do
201
- subject { converted_permission['renderings'][rendering_id]['collection_1']['scope'] }
202
- let(:expected_new_format_permissions) { old_format_scope_permissions }
200
+ describe 'segments permissions' do
201
+ subject { converted_permission['renderings'][rendering_id]['collection_1']['segments'] }
202
+ let(:expected_new_format_permissions) { old_format_segments_permissions }
203
203
 
204
- context 'when scope permissions are set' do
205
- let(:old_format_scope_permissions) { { 'dynamicScopesValues' => {}, 'filter' => { 'aggregator' => 'and', 'conditions' => [{ 'field' => 'field_1', 'operator' => 'equal', 'value' => true }] } } }
204
+ context 'when segments permissions are set' do
205
+ let(:old_format_segments_permissions) { ['segmentQuery1', 'segmentQuery2'] }
206
206
 
207
- it 'expected scope permissions should be set' do
207
+ it 'expected segments permissions should be set' do
208
208
  expect(subject).to eq expected_new_format_permissions
209
209
  end
210
210
  end
211
211
 
212
- context 'when scope permissions are nil' do
213
- let(:old_format_scope_permissions) { nil }
212
+ context 'when segments permissions are nil' do
213
+ let(:old_format_segments_permissions) { nil }
214
214
 
215
- it 'expected scope permissions should be nil' do
215
+ it 'expected segments permissions should be nil' do
216
216
  expect(subject).to eq expected_new_format_permissions
217
217
  end
218
218
  end
@@ -0,0 +1,70 @@
1
+ module ForestLiana
2
+ describe SmartActionFieldValidator do
3
+ describe "self.validate_field" do
4
+ it "should raise an SmartActionInvalidFieldError with nil field" do
5
+ expect { SmartActionFieldValidator.validate_field(nil, "actionName") }.to raise_error(ForestLiana::Errors::SmartActionInvalidFieldError, 'Error while parsing action "actionName": The field attribute must be defined')
6
+ end
7
+
8
+ it "should raise an SmartActionInvalidFieldError with a field that is not a string" do
9
+ expect { SmartActionFieldValidator.validate_field({
10
+ :field => 5
11
+ }, "actionName") }.to raise_error(ForestLiana::Errors::SmartActionInvalidFieldError, 'Error while parsing action "actionName": The field attribute must be a string.')
12
+ end
13
+
14
+ it "should raise an SmartActionInvalidFieldError with description that is not a string" do
15
+ expect { SmartActionFieldValidator.validate_field({
16
+ :field => "field",
17
+ :description => 5
18
+ }, "actionName") }.to raise_error(ForestLiana::Errors::SmartActionInvalidFieldError, 'Error while parsing action "actionName" on field "field": The description attribute must be a string.')
19
+ end
20
+
21
+ it "should raise an SmartActionInvalidFieldError with an enums that is not an array" do
22
+ expect { SmartActionFieldValidator.validate_field({
23
+ :field => "field",
24
+ :enums => "NotAnArray"
25
+ }, "actionName") }.to raise_error(ForestLiana::Errors::SmartActionInvalidFieldError, 'Error while parsing action "actionName" on field "field": The enums attribute must be an array.')
26
+ end
27
+
28
+ it "should raise an SmartActionInvalidFieldError with a reference that is not a string" do
29
+ expect { SmartActionFieldValidator.validate_field({
30
+ :field => "field",
31
+ :type => "String",
32
+ :reference => 5
33
+ }, "actionName") }.to raise_error(ForestLiana::Errors::SmartActionInvalidFieldError, 'Error while parsing action "actionName" on field "field": The reference attribute must be a string.')
34
+ end
35
+
36
+ it "should raise an SmartActionInvalidFieldError with an invalid type" do
37
+ expect { SmartActionFieldValidator.validate_field({
38
+ :field => "field",
39
+ :type => "AbsolutelyNotAValidType"
40
+ }, "actionName") }.to raise_error(ForestLiana::Errors::SmartActionInvalidFieldError, 'Error while parsing action "actionName" on field "field": The type attribute must be a valid type. See the documentation for more information. https://docs.forestadmin.com/documentation/reference-guide/fields/create-and-manage-smart-fields#available-field-options.')
41
+ end
42
+
43
+ it "should not raise any error when everything is configured correctly" do
44
+ expect { SmartActionFieldValidator.validate_field({
45
+ :field => "field",
46
+ :type => "String",
47
+ :description => "field description"
48
+ }, "actionName") }.not_to raise_error
49
+ end
50
+ end
51
+
52
+ describe "self.validate_field_change_hook" do
53
+ it "should raise an SmartActionInvalidFieldHookError with an invalid type" do
54
+ expect { SmartActionFieldValidator.validate_field_change_hook({
55
+ :field => "field",
56
+ :type => "AbsolutelyNotAValidType",
57
+ :hook => "hookThatDoesNotExist"
58
+ }, "actionName", []) }.to raise_error(ForestLiana::Errors::SmartActionInvalidFieldHookError)
59
+ end
60
+
61
+ it "should not raise any error when everything is configured correctly" do
62
+ expect { SmartActionFieldValidator.validate_field_change_hook({
63
+ :field => "field",
64
+ :type => "AbsolutelyNotAValidType",
65
+ :hook => "on_field_changed"
66
+ }, "actionName", ["on_field_changed"]) }.not_to raise_error
67
+ end
68
+ end
69
+ end
70
+ 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.6.1
4
+ version: 7.0.0.beta.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sandro Munda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-10 00:00:00.000000000 Z
11
+ date: 2021-07-06 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
  - - ">="
@@ -225,7 +225,6 @@ files:
225
225
  - app/helpers/forest_liana/adapter_helper.rb
226
226
  - app/helpers/forest_liana/application_helper.rb
227
227
  - app/helpers/forest_liana/decoration_helper.rb
228
- - app/helpers/forest_liana/is_same_data_structure_helper.rb
229
228
  - app/helpers/forest_liana/query_helper.rb
230
229
  - app/helpers/forest_liana/schema_helper.rb
231
230
  - app/helpers/forest_liana/widgets_helper.rb
@@ -283,6 +282,7 @@ files:
283
282
  - app/services/forest_liana/schema_utils.rb
284
283
  - app/services/forest_liana/scope_validator.rb
285
284
  - app/services/forest_liana/search_query_builder.rb
285
+ - app/services/forest_liana/smart_action_field_validator.rb
286
286
  - app/services/forest_liana/stat_getter.rb
287
287
  - app/services/forest_liana/stripe_base_getter.rb
288
288
  - app/services/forest_liana/stripe_invoice_getter.rb
@@ -368,10 +368,10 @@ files:
368
368
  - spec/dummy/db/schema.rb
369
369
  - spec/dummy/lib/forest_liana/collections/location.rb
370
370
  - spec/dummy/lib/forest_liana/collections/user.rb
371
- - spec/helpers/forest_liana/is_same_data_structure_helper_spec.rb
372
371
  - spec/helpers/forest_liana/query_helper_spec.rb
373
372
  - spec/helpers/forest_liana/schema_helper_spec.rb
374
373
  - spec/lib/forest_liana/bootstrapper_spec.rb
374
+ - spec/lib/forest_liana/schema_file_updater_spec.rb
375
375
  - spec/rails_helper.rb
376
376
  - spec/requests/actions_controller_spec.rb
377
377
  - spec/requests/authentications_spec.rb
@@ -388,6 +388,7 @@ files:
388
388
  - spec/services/forest_liana/permissions_getter_spec.rb
389
389
  - spec/services/forest_liana/resources_getter_spec.rb
390
390
  - spec/services/forest_liana/schema_adapter_spec.rb
391
+ - spec/services/forest_liana/smart_action_field_validator_spec.rb
391
392
  - spec/spec_helper.rb
392
393
  - test/dummy/README.rdoc
393
394
  - test/dummy/Rakefile
@@ -496,177 +497,178 @@ required_ruby_version: !ruby/object:Gem::Requirement
496
497
  version: '0'
497
498
  required_rubygems_version: !ruby/object:Gem::Requirement
498
499
  requirements:
499
- - - ">="
500
+ - - ">"
500
501
  - !ruby/object:Gem::Version
501
- version: '0'
502
+ version: 1.3.1
502
503
  requirements: []
503
504
  rubygems_version: 3.1.2
504
505
  signing_key:
505
506
  specification_version: 4
506
507
  summary: Official Rails Liana for Forest
507
508
  test_files:
509
+ - test/routing/route_test.rb
508
510
  - test/forest_liana_test.rb
509
- - test/test_helper.rb
510
- - test/services/forest_liana/has_many_getter_test.rb
511
- - test/services/forest_liana/pie_stat_getter_test.rb
511
+ - test/services/forest_liana/schema_adapter_test.rb
512
512
  - test/services/forest_liana/resource_updater_test.rb
513
- - test/services/forest_liana/value_stat_getter_test.rb
514
513
  - test/services/forest_liana/scope_validator_test.rb
515
- - test/services/forest_liana/schema_adapter_test.rb
516
514
  - test/services/forest_liana/operator_date_interval_parser_test.rb
517
- - test/routing/route_test.rb
515
+ - test/services/forest_liana/value_stat_getter_test.rb
516
+ - test/services/forest_liana/has_many_getter_test.rb
517
+ - test/services/forest_liana/pie_stat_getter_test.rb
518
518
  - test/fixtures/string_field.yml
519
- - test/fixtures/serialize_field.yml
519
+ - test/fixtures/reference.yml
520
520
  - test/fixtures/has_one_field.yml
521
- - test/fixtures/has_many_through_field.yml
521
+ - test/fixtures/tree.yml
522
+ - test/fixtures/serialize_field.yml
522
523
  - test/fixtures/has_many_field.yml
523
- - test/fixtures/reference.yml
524
524
  - test/fixtures/owner.yml
525
525
  - test/fixtures/belongs_to_field.yml
526
- - test/fixtures/tree.yml
526
+ - test/fixtures/has_many_through_field.yml
527
+ - test/dummy/README.rdoc
528
+ - test/dummy/config.ru
529
+ - test/dummy/Rakefile
527
530
  - test/dummy/db/schema.rb
528
531
  - test/dummy/db/migrate/20150608131610_create_float_field.rb
529
- - test/dummy/db/migrate/20150608131430_create_integer_field.rb
532
+ - test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
533
+ - test/dummy/db/migrate/20181111162121_create_references_table.rb
530
534
  - test/dummy/db/migrate/20170614141921_create_serialize_field.rb
535
+ - test/dummy/db/migrate/20150608133044_create_has_one_field.rb
531
536
  - test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
537
+ - test/dummy/db/migrate/20160627172951_create_tree.rb
532
538
  - test/dummy/db/migrate/20150608130516_create_date_field.rb
539
+ - test/dummy/db/migrate/20150608131430_create_integer_field.rb
540
+ - test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
533
541
  - test/dummy/db/migrate/20150612112520_create_has_and_belongs_to_many_field.rb
534
- - test/dummy/db/migrate/20150608132621_create_string_field.rb
535
542
  - test/dummy/db/migrate/20150608132159_create_boolean_field.rb
536
- - test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
537
- - test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
538
- - test/dummy/db/migrate/20181111162121_create_references_table.rb
539
- - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
540
543
  - test/dummy/db/migrate/20160627172810_create_owner.rb
541
- - test/dummy/db/migrate/20160627172951_create_tree.rb
544
+ - test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
545
+ - test/dummy/db/migrate/20150608132621_create_string_field.rb
546
+ - test/dummy/db/migrate/20160628173505_add_timestamps.rb
542
547
  - test/dummy/db/migrate/20150608150016_create_has_many_field.rb
548
+ - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
543
549
  - test/dummy/db/migrate/20150608131603_create_decimal_field.rb
544
- - test/dummy/db/migrate/20150608133044_create_has_one_field.rb
545
- - test/dummy/db/migrate/20160628173505_add_timestamps.rb
546
- - test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
547
- - test/dummy/config.ru
548
- - test/dummy/bin/rake
549
- - test/dummy/bin/setup
550
- - test/dummy/bin/bundle
551
- - test/dummy/bin/rails
552
- - test/dummy/config/routes.rb
550
+ - test/dummy/config/environment.rb
551
+ - test/dummy/config/secrets.yml
552
+ - test/dummy/config/application.rb
553
+ - test/dummy/config/environments/test.rb
554
+ - test/dummy/config/environments/development.rb
555
+ - test/dummy/config/environments/production.rb
553
556
  - test/dummy/config/boot.rb
554
- - test/dummy/config/initializers/mime_types.rb
557
+ - test/dummy/config/locales/en.yml
558
+ - test/dummy/config/database.yml
559
+ - test/dummy/config/initializers/cookies_serializer.rb
555
560
  - test/dummy/config/initializers/assets.rb
561
+ - test/dummy/config/initializers/backtrace_silencers.rb
562
+ - test/dummy/config/initializers/mime_types.rb
556
563
  - test/dummy/config/initializers/session_store.rb
557
564
  - test/dummy/config/initializers/wrap_parameters.rb
558
565
  - test/dummy/config/initializers/filter_parameter_logging.rb
559
- - test/dummy/config/initializers/cookies_serializer.rb
560
- - test/dummy/config/initializers/backtrace_silencers.rb
561
566
  - test/dummy/config/initializers/inflections.rb
562
- - test/dummy/config/locales/en.yml
563
- - test/dummy/config/secrets.yml
564
- - test/dummy/config/environment.rb
565
- - test/dummy/config/environments/production.rb
566
- - test/dummy/config/environments/development.rb
567
- - test/dummy/config/environments/test.rb
568
- - test/dummy/config/database.yml
569
- - test/dummy/config/application.rb
570
- - test/dummy/README.rdoc
571
- - test/dummy/Rakefile
572
- - test/dummy/public/favicon.ico
567
+ - test/dummy/config/routes.rb
568
+ - test/dummy/public/500.html
573
569
  - test/dummy/public/404.html
574
570
  - test/dummy/public/422.html
575
- - test/dummy/public/500.html
576
- - test/dummy/app/controllers/application_controller.rb
577
- - test/dummy/app/views/layouts/application.html.erb
578
- - test/dummy/app/helpers/application_helper.rb
579
- - test/dummy/app/assets/stylesheets/application.css
580
- - test/dummy/app/assets/config/manifest.js
581
- - test/dummy/app/assets/javascripts/application.js
571
+ - test/dummy/public/favicon.ico
582
572
  - test/dummy/app/models/boolean_field.rb
583
- - test/dummy/app/models/decimal_field.rb
584
- - test/dummy/app/models/date_field.rb
585
- - test/dummy/app/models/tree.rb
586
- - test/dummy/app/models/has_and_belongs_to_many_field.rb
587
- - test/dummy/app/models/owner.rb
588
- - test/dummy/app/models/belongs_to_class_name_field.rb
589
- - test/dummy/app/models/has_many_through_field.rb
590
573
  - test/dummy/app/models/float_field.rb
591
- - test/dummy/app/models/polymorphic_field.rb
592
- - test/dummy/app/models/has_one_field.rb
593
- - test/dummy/app/models/has_many_class_name_field.rb
594
- - test/dummy/app/models/belongs_to_field.rb
595
574
  - test/dummy/app/models/integer_field.rb
575
+ - test/dummy/app/models/reference.rb
576
+ - test/dummy/app/models/has_one_field.rb
577
+ - test/dummy/app/models/belongs_to_class_name_field.rb
578
+ - test/dummy/app/models/tree.rb
596
579
  - test/dummy/app/models/serialize_field.rb
580
+ - test/dummy/app/models/polymorphic_field.rb
581
+ - test/dummy/app/models/date_field.rb
597
582
  - test/dummy/app/models/string_field.rb
598
583
  - test/dummy/app/models/has_many_field.rb
599
- - test/dummy/app/models/reference.rb
600
- - spec/spec_helper.rb
601
- - spec/services/forest_liana/permissions_getter_spec.rb
602
- - spec/services/forest_liana/resources_getter_spec.rb
584
+ - test/dummy/app/models/has_and_belongs_to_many_field.rb
585
+ - test/dummy/app/models/has_many_class_name_field.rb
586
+ - test/dummy/app/models/decimal_field.rb
587
+ - test/dummy/app/models/owner.rb
588
+ - test/dummy/app/models/belongs_to_field.rb
589
+ - test/dummy/app/models/has_many_through_field.rb
590
+ - test/dummy/app/helpers/application_helper.rb
591
+ - test/dummy/app/views/layouts/application.html.erb
592
+ - test/dummy/app/assets/javascripts/application.js
593
+ - test/dummy/app/assets/stylesheets/application.css
594
+ - test/dummy/app/assets/config/manifest.js
595
+ - test/dummy/app/controllers/application_controller.rb
596
+ - test/dummy/bin/setup
597
+ - test/dummy/bin/bundle
598
+ - test/dummy/bin/rake
599
+ - test/dummy/bin/rails
600
+ - test/test_helper.rb
601
+ - spec/helpers/forest_liana/schema_helper_spec.rb
602
+ - spec/helpers/forest_liana/query_helper_spec.rb
603
+ - spec/services/forest_liana/permissions_checker_live_queries_spec.rb
603
604
  - spec/services/forest_liana/ip_whitelist_checker_spec.rb
604
- - spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
605
- - spec/services/forest_liana/filters_parser_spec.rb
606
- - spec/services/forest_liana/schema_adapter_spec.rb
607
605
  - spec/services/forest_liana/line_stat_getter_spec.rb
608
- - spec/services/forest_liana/permissions_formatter_spec.rb
609
- - spec/services/forest_liana/permissions_checker_live_queries_spec.rb
606
+ - spec/services/forest_liana/schema_adapter_spec.rb
607
+ - spec/services/forest_liana/resources_getter_spec.rb
608
+ - spec/services/forest_liana/smart_action_field_validator_spec.rb
610
609
  - spec/services/forest_liana/apimap_sorter_spec.rb
610
+ - spec/services/forest_liana/filters_parser_spec.rb
611
+ - spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
612
+ - spec/services/forest_liana/permissions_formatter_spec.rb
613
+ - spec/services/forest_liana/permissions_getter_spec.rb
611
614
  - spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
615
+ - spec/spec_helper.rb
612
616
  - spec/config/initializers/logger_spec.rb
613
- - spec/helpers/forest_liana/is_same_data_structure_helper_spec.rb
614
- - spec/helpers/forest_liana/schema_helper_spec.rb
615
- - spec/helpers/forest_liana/query_helper_spec.rb
617
+ - spec/lib/forest_liana/schema_file_updater_spec.rb
618
+ - spec/lib/forest_liana/bootstrapper_spec.rb
619
+ - spec/requests/stats_spec.rb
620
+ - spec/requests/actions_controller_spec.rb
621
+ - spec/requests/authentications_spec.rb
622
+ - spec/requests/resources_spec.rb
623
+ - spec/dummy/README.rdoc
624
+ - spec/dummy/config.ru
625
+ - spec/dummy/Rakefile
616
626
  - spec/dummy/db/schema.rb
617
- - spec/dummy/db/migrate/20190226172951_create_user.rb
618
- - spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
619
627
  - spec/dummy/db/migrate/20190226173051_create_isle.rb
620
- - spec/dummy/db/migrate/20210511141752_create_owners.rb
621
628
  - spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
622
629
  - spec/dummy/db/migrate/20210326140855_create_locations.rb
623
630
  - spec/dummy/db/migrate/20190226174951_create_tree.rb
624
- - spec/dummy/db/migrate/20210526084712_create_products.rb
625
631
  - spec/dummy/db/migrate/20210326110524_create_references.rb
626
- - spec/dummy/config.ru
627
- - spec/dummy/bin/rake
628
- - spec/dummy/bin/setup
629
- - spec/dummy/bin/bundle
630
- - spec/dummy/bin/rails
631
- - spec/dummy/config/routes.rb
632
+ - spec/dummy/db/migrate/20210511141752_create_owners.rb
633
+ - spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
634
+ - spec/dummy/db/migrate/20190226172951_create_user.rb
635
+ - spec/dummy/db/migrate/20210526084712_create_products.rb
636
+ - spec/dummy/config/environment.rb
637
+ - spec/dummy/config/secrets.yml
638
+ - spec/dummy/config/application.rb
639
+ - spec/dummy/config/environments/test.rb
640
+ - spec/dummy/config/environments/development.rb
641
+ - spec/dummy/config/environments/production.rb
632
642
  - spec/dummy/config/boot.rb
633
- - spec/dummy/config/initializers/forest_liana.rb
634
- - spec/dummy/config/initializers/mime_types.rb
643
+ - spec/dummy/config/database.yml
644
+ - spec/dummy/config/initializers/cookies_serializer.rb
635
645
  - spec/dummy/config/initializers/assets.rb
646
+ - spec/dummy/config/initializers/backtrace_silencers.rb
647
+ - spec/dummy/config/initializers/mime_types.rb
636
648
  - spec/dummy/config/initializers/session_store.rb
637
649
  - spec/dummy/config/initializers/wrap_parameters.rb
638
650
  - spec/dummy/config/initializers/filter_parameter_logging.rb
639
- - spec/dummy/config/initializers/cookies_serializer.rb
640
- - spec/dummy/config/initializers/backtrace_silencers.rb
641
651
  - spec/dummy/config/initializers/inflections.rb
642
- - spec/dummy/config/secrets.yml
643
- - spec/dummy/config/environment.rb
644
- - spec/dummy/config/environments/production.rb
645
- - spec/dummy/config/environments/development.rb
646
- - spec/dummy/config/environments/test.rb
647
- - spec/dummy/config/database.yml
648
- - spec/dummy/config/application.rb
649
- - spec/dummy/lib/forest_liana/collections/user.rb
652
+ - spec/dummy/config/initializers/forest_liana.rb
653
+ - spec/dummy/config/routes.rb
650
654
  - spec/dummy/lib/forest_liana/collections/location.rb
651
- - spec/dummy/README.rdoc
652
- - spec/dummy/Rakefile
653
- - spec/dummy/app/controllers/application_controller.rb
654
- - spec/dummy/app/views/layouts/application.html.erb
655
- - spec/dummy/app/config/routes.rb
656
- - spec/dummy/app/helpers/application_helper.rb
657
- - spec/dummy/app/assets/stylesheets/application.css
658
- - spec/dummy/app/assets/config/manifest.js
659
- - spec/dummy/app/assets/javascripts/application.js
660
- - spec/dummy/app/models/tree.rb
661
- - spec/dummy/app/models/owner.rb
662
- - spec/dummy/app/models/user.rb
663
- - spec/dummy/app/models/product.rb
655
+ - spec/dummy/lib/forest_liana/collections/user.rb
664
656
  - spec/dummy/app/models/location.rb
665
657
  - spec/dummy/app/models/island.rb
666
658
  - spec/dummy/app/models/reference.rb
667
- - spec/lib/forest_liana/bootstrapper_spec.rb
659
+ - spec/dummy/app/models/tree.rb
660
+ - spec/dummy/app/models/user.rb
661
+ - spec/dummy/app/models/product.rb
662
+ - spec/dummy/app/models/owner.rb
663
+ - spec/dummy/app/helpers/application_helper.rb
664
+ - spec/dummy/app/config/routes.rb
665
+ - spec/dummy/app/views/layouts/application.html.erb
666
+ - spec/dummy/app/assets/javascripts/application.js
667
+ - spec/dummy/app/assets/stylesheets/application.css
668
+ - spec/dummy/app/assets/config/manifest.js
669
+ - spec/dummy/app/controllers/application_controller.rb
670
+ - spec/dummy/bin/setup
671
+ - spec/dummy/bin/bundle
672
+ - spec/dummy/bin/rake
673
+ - spec/dummy/bin/rails
668
674
  - spec/rails_helper.rb
669
- - spec/requests/stats_spec.rb
670
- - spec/requests/resources_spec.rb
671
- - spec/requests/actions_controller_spec.rb
672
- - spec/requests/authentications_spec.rb