forest_liana 6.3.1 → 6.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a28bd829a3004c62b0c2accffd12b9c089913e944c66f262c247fe9f529c898c
4
- data.tar.gz: d884e158839f6c8418da92751a36fa0b4db642e8c3a7fce5b6c76dce966afe24
3
+ metadata.gz: 9ef103500f1ffd2d8ccf3778c90d54ffcf83348448a0693e5508f73c851ac3d5
4
+ data.tar.gz: 825e75b4a37c788382e67eb4a9cc3b487ce18420cb652ba836b5ce6c7430769d
5
5
  SHA512:
6
- metadata.gz: 0f2dd4cd85cd8040430a69a4459a98cb8f0a57a9e9177a82e6efc85e0716db7f837c9f7110f2e20ad4cfe76ac587257926cf94e932713d8e6d72670fb1d59faa
7
- data.tar.gz: a99fce237e2a743237404aa613e1ae1eb65822427d2410c52bf81ebdd6470025e310e73e38b12bbc82357cfb074fef1091afb3a6e8be51596eeaabe12f7cda12
6
+ metadata.gz: 75b6c515ab034857ef5ab4eb683013466946528fb31df7cb9ad73bdbbdda18df6fdab44ee4cb6ef86e42356600b0988747c816e781cca19082184848b0329731
7
+ data.tar.gz: 6790e0e3bbdb01ad881a5914d9e0151e7202b66747a60bfc30cbcebe1e4c39236e4b5423608f78278468b208d8af970214c310b1e90b4109f5e4a49202317c4b
@@ -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]
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "6.3.1"
2
+ VERSION = "6.3.2"
3
3
  end
@@ -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.3.1
4
+ version: 6.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sandro Munda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-13 00:00:00.000000000 Z
11
+ date: 2021-04-27 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
501
+ - test/services/forest_liana/operator_date_interval_parser_test.rb
502
+ - test/services/forest_liana/schema_adapter_test.rb
503
+ - test/services/forest_liana/value_stat_getter_test.rb
504
+ - test/services/forest_liana/resource_updater_test.rb
505
+ - test/services/forest_liana/scope_validator_test.rb
506
+ - test/services/forest_liana/pie_stat_getter_test.rb
507
+ - test/services/forest_liana/has_many_getter_test.rb
508
+ - test/dummy/README.rdoc
509
+ - test/dummy/config/environments/production.rb
510
+ - test/dummy/config/environments/development.rb
511
+ - test/dummy/config/environments/test.rb
512
+ - test/dummy/config/application.rb
513
+ - test/dummy/config/secrets.yml
514
+ - test/dummy/config/initializers/assets.rb
515
+ - test/dummy/config/initializers/wrap_parameters.rb
516
+ - test/dummy/config/initializers/session_store.rb
517
+ - test/dummy/config/initializers/mime_types.rb
518
+ - test/dummy/config/initializers/inflections.rb
519
+ - test/dummy/config/initializers/backtrace_silencers.rb
520
+ - test/dummy/config/initializers/cookies_serializer.rb
521
+ - test/dummy/config/initializers/filter_parameter_logging.rb
522
+ - test/dummy/config/boot.rb
523
+ - test/dummy/config/database.yml
524
+ - test/dummy/config/environment.rb
525
+ - test/dummy/config/routes.rb
526
+ - test/dummy/config/locales/en.yml
527
+ - test/dummy/public/favicon.ico
528
+ - test/dummy/public/422.html
520
529
  - test/dummy/public/404.html
521
530
  - test/dummy/public/500.html
522
- - test/dummy/public/422.html
523
- - test/dummy/public/favicon.ico
524
531
  - test/dummy/Rakefile
525
- - test/dummy/app/controllers/application_controller.rb
526
- - 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
532
+ - test/dummy/config.ru
533
+ - test/dummy/app/helpers/application_helper.rb
529
534
  - test/dummy/app/models/float_field.rb
530
- - test/dummy/app/models/string_field.rb
535
+ - test/dummy/app/models/has_and_belongs_to_many_field.rb
531
536
  - test/dummy/app/models/has_one_field.rb
532
- - test/dummy/app/models/reference.rb
533
537
  - test/dummy/app/models/serialize_field.rb
534
- - test/dummy/app/models/boolean_field.rb
538
+ - test/dummy/app/models/owner.rb
539
+ - test/dummy/app/models/integer_field.rb
540
+ - test/dummy/app/models/reference.rb
535
541
  - test/dummy/app/models/has_many_through_field.rb
542
+ - test/dummy/app/models/boolean_field.rb
536
543
  - test/dummy/app/models/belongs_to_class_name_field.rb
537
544
  - test/dummy/app/models/decimal_field.rb
538
- - test/dummy/app/models/integer_field.rb
539
- - test/dummy/app/models/tree.rb
540
- - test/dummy/app/models/date_field.rb
541
545
  - test/dummy/app/models/belongs_to_field.rb
542
546
  - test/dummy/app/models/has_many_class_name_field.rb
543
- - test/dummy/app/models/owner.rb
547
+ - test/dummy/app/models/tree.rb
548
+ - test/dummy/app/models/polymorphic_field.rb
549
+ - test/dummy/app/models/string_field.rb
550
+ - test/dummy/app/models/date_field.rb
551
+ - test/dummy/app/models/has_many_field.rb
552
+ - test/dummy/app/views/layouts/application.html.erb
553
+ - test/dummy/app/controllers/application_controller.rb
554
+ - test/dummy/app/assets/config/manifest.js
544
555
  - test/dummy/app/assets/stylesheets/application.css
545
556
  - 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
549
- - 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
557
- - test/dummy/config/initializers/filter_parameter_logging.rb
558
- - test/dummy/config/initializers/mime_types.rb
559
- - test/dummy/config/initializers/session_store.rb
560
- - test/dummy/config/initializers/inflections.rb
561
- - test/dummy/config/initializers/assets.rb
562
- - test/dummy/config/initializers/wrap_parameters.rb
563
- - test/dummy/config/initializers/backtrace_silencers.rb
564
- - test/dummy/config/initializers/cookies_serializer.rb
565
- - test/dummy/config/environments/test.rb
566
- - test/dummy/config/environments/production.rb
567
- - test/dummy/config/environments/development.rb
568
- - test/dummy/config/locales/en.yml
569
- - test/dummy/bin/rake
557
+ - test/dummy/db/migrate/20150608132621_create_string_field.rb
558
+ - test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
559
+ - test/dummy/db/migrate/20150608150016_create_has_many_field.rb
560
+ - test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
561
+ - test/dummy/db/migrate/20150608131610_create_float_field.rb
562
+ - test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
563
+ - test/dummy/db/migrate/20181111162121_create_references_table.rb
564
+ - test/dummy/db/migrate/20150608131430_create_integer_field.rb
565
+ - test/dummy/db/migrate/20170614141921_create_serialize_field.rb
566
+ - test/dummy/db/migrate/20150612112520_create_has_and_belongs_to_many_field.rb
567
+ - test/dummy/db/migrate/20150608131603_create_decimal_field.rb
568
+ - test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
569
+ - test/dummy/db/migrate/20150608133044_create_has_one_field.rb
570
+ - test/dummy/db/migrate/20160627172951_create_tree.rb
571
+ - test/dummy/db/migrate/20150608132159_create_boolean_field.rb
572
+ - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
573
+ - test/dummy/db/migrate/20160628173505_add_timestamps.rb
574
+ - test/dummy/db/migrate/20150608130516_create_date_field.rb
575
+ - test/dummy/db/migrate/20160627172810_create_owner.rb
576
+ - test/dummy/db/schema.rb
570
577
  - test/dummy/bin/bundle
571
- - test/dummy/bin/rails
572
578
  - test/dummy/bin/setup
573
- - test/test_helper.rb
579
+ - test/dummy/bin/rails
580
+ - test/dummy/bin/rake
574
581
  - 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/routing/route_test.rb
583
+ - test/fixtures/belongs_to_field.yml
582
584
  - test/fixtures/has_many_through_field.yml
583
- - test/fixtures/reference.yml
585
+ - test/fixtures/owner.yml
586
+ - test/fixtures/string_field.yml
584
587
  - test/fixtures/has_many_field.yml
585
588
  - test/fixtures/has_one_field.yml
586
- - test/fixtures/belongs_to_field.yml
587
- - test/fixtures/string_field.yml
588
589
  - test/fixtures/serialize_field.yml
589
590
  - 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
591
+ - test/fixtures/reference.yml
592
+ - test/test_helper.rb
593
+ - spec/helpers/forest_liana/schema_helper_spec.rb
594
+ - spec/helpers/forest_liana/is_same_data_structure_helper_spec.rb
595
+ - spec/helpers/forest_liana/query_helper_spec.rb
596
+ - spec/requests/resources_spec.rb
597
+ - spec/requests/authentications_spec.rb
598
+ - spec/requests/stats_spec.rb
599
+ - spec/requests/actions_controller_spec.rb
600
+ - spec/spec_helper.rb
601
+ - spec/services/forest_liana/schema_adapter_spec.rb
602
+ - spec/services/forest_liana/filters_parser_spec.rb
603
+ - spec/services/forest_liana/permissions_getter_spec.rb
604
+ - spec/services/forest_liana/permissions_checker_live_queries_spec.rb
605
+ - spec/services/forest_liana/ip_whitelist_checker_spec.rb
606
+ - spec/services/forest_liana/resources_getter_spec.rb
607
+ - spec/services/forest_liana/apimap_sorter_spec.rb
608
+ - spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
609
+ - spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
610
+ - spec/services/forest_liana/permissions_formatter_spec.rb
611
+ - spec/dummy/README.rdoc
612
+ - spec/dummy/config/environments/production.rb
613
+ - spec/dummy/config/environments/development.rb
614
+ - spec/dummy/config/environments/test.rb
615
+ - spec/dummy/config/application.rb
616
+ - spec/dummy/config/secrets.yml
617
+ - spec/dummy/config/initializers/assets.rb
618
+ - spec/dummy/config/initializers/wrap_parameters.rb
619
+ - spec/dummy/config/initializers/session_store.rb
620
+ - spec/dummy/config/initializers/mime_types.rb
621
+ - spec/dummy/config/initializers/inflections.rb
622
+ - spec/dummy/config/initializers/backtrace_silencers.rb
623
+ - spec/dummy/config/initializers/cookies_serializer.rb
624
+ - spec/dummy/config/initializers/forest_liana.rb
625
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
626
+ - spec/dummy/config/boot.rb
627
+ - spec/dummy/config/database.yml
628
+ - spec/dummy/config/environment.rb
629
+ - spec/dummy/config/routes.rb
599
630
  - spec/dummy/lib/forest_liana/collections/location.rb
600
631
  - spec/dummy/lib/forest_liana/collections/user.rb
601
632
  - 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
633
+ - spec/dummy/config.ru
634
+ - spec/dummy/app/helpers/application_helper.rb
605
635
  - spec/dummy/app/models/location.rb
606
- - spec/dummy/app/models/tree.rb
636
+ - spec/dummy/app/models/reference.rb
607
637
  - spec/dummy/app/models/user.rb
608
- - spec/dummy/app/assets/stylesheets/application.css
609
- - spec/dummy/app/assets/javascripts/application.js
610
- - spec/dummy/app/assets/config/manifest.js
638
+ - spec/dummy/app/models/tree.rb
639
+ - spec/dummy/app/models/island.rb
611
640
  - spec/dummy/app/config/routes.rb
612
- - spec/dummy/app/helpers/application_helper.rb
613
641
  - spec/dummy/app/views/layouts/application.html.erb
614
- - 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
622
- - spec/dummy/config/initializers/filter_parameter_logging.rb
623
- - spec/dummy/config/initializers/forest_liana.rb
624
- - spec/dummy/config/initializers/mime_types.rb
625
- - spec/dummy/config/initializers/session_store.rb
626
- - spec/dummy/config/initializers/inflections.rb
627
- - spec/dummy/config/initializers/assets.rb
628
- - spec/dummy/config/initializers/wrap_parameters.rb
629
- - spec/dummy/config/initializers/backtrace_silencers.rb
630
- - spec/dummy/config/initializers/cookies_serializer.rb
631
- - spec/dummy/config/environments/test.rb
632
- - spec/dummy/config/environments/production.rb
633
- - spec/dummy/config/environments/development.rb
634
- - spec/dummy/bin/rake
642
+ - spec/dummy/app/controllers/application_controller.rb
643
+ - spec/dummy/app/assets/config/manifest.js
644
+ - spec/dummy/app/assets/stylesheets/application.css
645
+ - spec/dummy/app/assets/javascripts/application.js
646
+ - spec/dummy/db/migrate/20190226174951_create_tree.rb
647
+ - spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
648
+ - spec/dummy/db/migrate/20190226173051_create_isle.rb
649
+ - spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
650
+ - spec/dummy/db/migrate/20190226172951_create_user.rb
651
+ - spec/dummy/db/migrate/20210326140855_create_locations.rb
652
+ - spec/dummy/db/migrate/20210326110524_create_references.rb
653
+ - spec/dummy/db/schema.rb
635
654
  - spec/dummy/bin/bundle
636
- - spec/dummy/bin/rails
637
655
  - 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
656
+ - spec/dummy/bin/rails
657
+ - spec/dummy/bin/rake
648
658
  - 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