forest_liana 6.3.1 → 6.3.2

Sign up to get free protection for your applications and to get access to all the features.
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