forest_liana 6.3.3 → 6.3.4
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 +4 -4
- data/app/services/forest_liana/line_stat_getter.rb +6 -2
- data/lib/forest_liana/version.rb +1 -1
- data/spec/dummy/app/models/owner.rb +2 -0
- data/spec/dummy/db/migrate/20210511141752_create_owners.rb +8 -0
- data/spec/dummy/db/schema.rb +6 -1
- data/spec/services/forest_liana/line_stat_getter_spec.rb +50 -0
- metadata +15 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d8c0675fe5c776a7168baf4e5375ead76bd8319b75c29c620e6888bbd9bfaec
|
4
|
+
data.tar.gz: 5d20db5792e2b1a637545cfe4a024df625db72004671fb47fa3eb15c68801736
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8de8c18b1b18b60f8d7096734e16a187a4e0d87cd9d5e00ef6fa70e7a8efb042bcbc08c084c33102c810c11da56402a8f77f554e4bbfbe4e9de60e3b3b90fdcf
|
7
|
+
data.tar.gz: 9959a3a3a53996d7cfcf638f82c24b93a471a01cb6f7eb75e20c459711235e68ea3077c9d44a0d606f5e4a396a5739649945d26d617d1e16da58234e6e03454f
|
@@ -3,6 +3,9 @@ module ForestLiana
|
|
3
3
|
attr_accessor :record
|
4
4
|
|
5
5
|
def client_timezone
|
6
|
+
# As stated here https://github.com/ankane/groupdate#for-sqlite
|
7
|
+
# groupdate does not handle timezone for SQLite
|
8
|
+
return nil if 'SQLite' == ActiveRecord::Base.connection.adapter_name
|
6
9
|
@params[:timezone]
|
7
10
|
end
|
8
11
|
|
@@ -26,9 +29,10 @@ module ForestLiana
|
|
26
29
|
value = FiltersParser.new(@params[:filters], value, @params[:timezone]).apply_filters
|
27
30
|
end
|
28
31
|
|
32
|
+
Groupdate.week_start = :monday
|
33
|
+
|
29
34
|
value = value.send(time_range, group_by_date_field, {
|
30
|
-
time_zone: client_timezone
|
31
|
-
week_start: :mon
|
35
|
+
time_zone: client_timezone
|
32
36
|
})
|
33
37
|
|
34
38
|
value = value.send(@params[:aggregate].downcase, @params[:aggregate_field])
|
data/lib/forest_liana/version.rb
CHANGED
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_11_141752) do
|
14
14
|
|
15
15
|
create_table "isle", force: :cascade do |t|
|
16
16
|
t.string "name"
|
@@ -27,6 +27,11 @@ ActiveRecord::Schema.define(version: 2021_03_26_140855) do
|
|
27
27
|
t.index ["island_id"], name: "index_locations_on_island_id"
|
28
28
|
end
|
29
29
|
|
30
|
+
create_table "owners", force: :cascade do |t|
|
31
|
+
t.string "name"
|
32
|
+
t.datetime "hired_at"
|
33
|
+
end
|
34
|
+
|
30
35
|
create_table "references", force: :cascade do |t|
|
31
36
|
t.datetime "created_at", precision: 6, null: false
|
32
37
|
t.datetime "updated_at", precision: 6, null: false
|
@@ -0,0 +1,50 @@
|
|
1
|
+
module ForestLiana
|
2
|
+
describe LineStatGetter do
|
3
|
+
describe 'Check client_timezone function' do
|
4
|
+
describe 'with a SQLite database' do
|
5
|
+
it 'should return nil' do
|
6
|
+
expect(LineStatGetter.new(Owner, {
|
7
|
+
timezone: "Europe/Paris",
|
8
|
+
aggregate: "Count",
|
9
|
+
}).client_timezone).to eq(nil)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe 'with a non-SQLite database' do
|
14
|
+
it 'should return the timezone' do
|
15
|
+
ActiveRecord::Base.connection.stub(:adapter_name) { 'NotSQLite' }
|
16
|
+
expect(LineStatGetter.new(Owner, {
|
17
|
+
timezone: "Europe/Paris",
|
18
|
+
aggregate: "Count",
|
19
|
+
}).client_timezone).to eq('Europe/Paris')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe 'Check perform function' do
|
25
|
+
describe 'Using a Count aggregation' do
|
26
|
+
describe 'Using a Week time range' do
|
27
|
+
it 'should return consistent data based on monday as week_start ' do
|
28
|
+
|
29
|
+
# Week should start on monday
|
30
|
+
# 08-05-2021 was a Saturday
|
31
|
+
Owner.create(name: 'Michel', hired_at: Date.parse('08-05-2021'));
|
32
|
+
Owner.create(name: 'Robert', hired_at: Date.parse('09-05-2021'));
|
33
|
+
Owner.create(name: 'José', hired_at: Date.parse('10-05-2021'));
|
34
|
+
Owner.create(name: 'Yves', hired_at: Date.parse('11-05-2021'));
|
35
|
+
|
36
|
+
stat = LineStatGetter.new(Owner, {
|
37
|
+
timezone: "Europe/Paris",
|
38
|
+
aggregate: "Count",
|
39
|
+
time_range: "Week",
|
40
|
+
group_by_date_field: "hired_at",
|
41
|
+
}).perform
|
42
|
+
|
43
|
+
expect(stat.value.find { |item| item[:label] == "W18-2021" }[:values][:value]).to eq(2)
|
44
|
+
expect(stat.value.find { |item| item[:label] == "W19-2021" }[:values][:value]).to eq(2)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
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.
|
4
|
+
version: 6.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sandro Munda
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-05-
|
11
|
+
date: 2021-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -84,16 +84,16 @@ dependencies:
|
|
84
84
|
name: groupdate
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 5.0.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 5.0.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: useragent
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -326,6 +326,7 @@ files:
|
|
326
326
|
- spec/dummy/app/helpers/application_helper.rb
|
327
327
|
- spec/dummy/app/models/island.rb
|
328
328
|
- spec/dummy/app/models/location.rb
|
329
|
+
- spec/dummy/app/models/owner.rb
|
329
330
|
- spec/dummy/app/models/reference.rb
|
330
331
|
- spec/dummy/app/models/tree.rb
|
331
332
|
- spec/dummy/app/models/user.rb
|
@@ -360,6 +361,7 @@ files:
|
|
360
361
|
- spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
|
361
362
|
- spec/dummy/db/migrate/20210326110524_create_references.rb
|
362
363
|
- spec/dummy/db/migrate/20210326140855_create_locations.rb
|
364
|
+
- spec/dummy/db/migrate/20210511141752_create_owners.rb
|
363
365
|
- spec/dummy/db/schema.rb
|
364
366
|
- spec/dummy/lib/forest_liana/collections/location.rb
|
365
367
|
- spec/dummy/lib/forest_liana/collections/user.rb
|
@@ -374,6 +376,7 @@ files:
|
|
374
376
|
- spec/services/forest_liana/apimap_sorter_spec.rb
|
375
377
|
- spec/services/forest_liana/filters_parser_spec.rb
|
376
378
|
- spec/services/forest_liana/ip_whitelist_checker_spec.rb
|
379
|
+
- spec/services/forest_liana/line_stat_getter_spec.rb
|
377
380
|
- spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
|
378
381
|
- spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
|
379
382
|
- spec/services/forest_liana/permissions_checker_live_queries_spec.rb
|
@@ -478,7 +481,7 @@ homepage: https://github.com/ForestAdmin/forest-rails
|
|
478
481
|
licenses:
|
479
482
|
- GPL-3.0
|
480
483
|
metadata: {}
|
481
|
-
post_install_message:
|
484
|
+
post_install_message:
|
482
485
|
rdoc_options: []
|
483
486
|
require_paths:
|
484
487
|
- lib
|
@@ -494,7 +497,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
494
497
|
version: '0'
|
495
498
|
requirements: []
|
496
499
|
rubygems_version: 3.1.2
|
497
|
-
signing_key:
|
500
|
+
signing_key:
|
498
501
|
specification_version: 4
|
499
502
|
summary: Official Rails Liana for Forest
|
500
503
|
test_files:
|
@@ -604,6 +607,7 @@ test_files:
|
|
604
607
|
- spec/services/forest_liana/permissions_formatter_spec.rb
|
605
608
|
- spec/services/forest_liana/permissions_checker_live_queries_spec.rb
|
606
609
|
- spec/services/forest_liana/apimap_sorter_spec.rb
|
610
|
+
- spec/services/forest_liana/line_stat_getter_spec.rb
|
607
611
|
- spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
|
608
612
|
- spec/requests/actions_controller_spec.rb
|
609
613
|
- spec/requests/stats_spec.rb
|
@@ -620,6 +624,7 @@ test_files:
|
|
620
624
|
- spec/dummy/app/helpers/application_helper.rb
|
621
625
|
- spec/dummy/app/views/layouts/application.html.erb
|
622
626
|
- spec/dummy/app/models/user.rb
|
627
|
+
- spec/dummy/app/models/owner.rb
|
623
628
|
- spec/dummy/app/models/island.rb
|
624
629
|
- spec/dummy/app/models/location.rb
|
625
630
|
- spec/dummy/app/models/tree.rb
|
@@ -627,6 +632,7 @@ test_files:
|
|
627
632
|
- spec/dummy/app/config/routes.rb
|
628
633
|
- spec/dummy/app/controllers/application_controller.rb
|
629
634
|
- spec/dummy/db/schema.rb
|
635
|
+
- spec/dummy/db/migrate/20210511141752_create_owners.rb
|
630
636
|
- spec/dummy/db/migrate/20190226174951_create_tree.rb
|
631
637
|
- spec/dummy/db/migrate/20210326140855_create_locations.rb
|
632
638
|
- spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
|