rorschart 0.14.1 → 0.15.0
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/lib/rorschart/data/pivot_series.rb +10 -1
- data/lib/rorschart/version.rb +1 -1
- data/test/data/pivot_series_test.rb +39 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f26133cc6ad3859df0eb644c82fff9f1b88912d3
|
4
|
+
data.tar.gz: 86098cf6b4a8f2985e011b1dff71ddefa9871eb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a787c04ad195a014d741590594e99399e737a6eec6d23cbfc528e5e6733ee34ba4cc8a956c136c0a934804329b2ef6afeacfd8cb7df5de4a7fd62f985e597d99
|
7
|
+
data.tar.gz: 5e20caf3a71e46a0987695a5504f1bda616571905a3504e66b5b838ccb81787dcac009dc9b47bd726d480181147a96ab870543cd2d6b429e5b67c1dcfd86dcf0
|
@@ -3,7 +3,7 @@ module Rorschart
|
|
3
3
|
|
4
4
|
attr_accessor :to_sql
|
5
5
|
|
6
|
-
def initialize(raw_serie)
|
6
|
+
def initialize(raw_serie, options = {})
|
7
7
|
@to_sql = raw_serie.to_sql rescue nil
|
8
8
|
rorschart_serie = RorschartData.new(raw_serie)
|
9
9
|
|
@@ -29,6 +29,15 @@ module Rorschart
|
|
29
29
|
@cols << { :type => type, :label => r }
|
30
30
|
}
|
31
31
|
|
32
|
+
if (options[:add_total_column])
|
33
|
+
@cols.insert(1, {:type=>"number", :label=>"Total"})
|
34
|
+
@rows.each { |row|
|
35
|
+
total_value = row[1..-1].inject { |sum,x| sum + x rescue sum + 0}
|
36
|
+
|
37
|
+
row.insert(1, total_value)
|
38
|
+
}
|
39
|
+
end
|
40
|
+
|
32
41
|
sort_by_date!
|
33
42
|
end
|
34
43
|
|
data/lib/rorschart/version.rb
CHANGED
@@ -43,6 +43,45 @@ module Rorschart
|
|
43
43
|
|
44
44
|
end
|
45
45
|
|
46
|
+
def test_pivot_with_sum_column
|
47
|
+
|
48
|
+
# Given
|
49
|
+
data = [
|
50
|
+
{"collector_tstamp"=> Date.parse("2013-11-02"), "series" => "A", "count"=> 1},
|
51
|
+
{"collector_tstamp"=> Date.parse("2013-11-02"), "series" => "B", "count"=> 2},
|
52
|
+
{"collector_tstamp"=> Date.parse("2013-11-02"), "series" => "C", "count"=> 3},
|
53
|
+
{"collector_tstamp"=> Date.parse("2013-11-02"), "series" => "D", "count"=> 4},
|
54
|
+
{"collector_tstamp"=> Date.parse("2013-12-01"), "series" => "A", "count"=> 5},
|
55
|
+
{"collector_tstamp"=> Date.parse("2013-12-01"), "series" => "B", "count"=> 6},
|
56
|
+
{"collector_tstamp"=> Date.parse("2013-12-01"), "series" => "D", "count"=> 7}
|
57
|
+
|
58
|
+
]
|
59
|
+
|
60
|
+
# When
|
61
|
+
|
62
|
+
pivot_series = PivotSeries.new(data, add_total_column: true)
|
63
|
+
|
64
|
+
# assert
|
65
|
+
expected_cols = [
|
66
|
+
{:type=>"date", :label=>"collector_tstamp"},
|
67
|
+
{:type=>"number", :label=>"Total"},
|
68
|
+
{:type=>"number", :label=>"A"},
|
69
|
+
{:type=>"number", :label=>"B"},
|
70
|
+
{:type=>"number", :label=>"C"},
|
71
|
+
{:type=>"number", :label=>"D"}
|
72
|
+
|
73
|
+
]
|
74
|
+
|
75
|
+
expected_rows = [
|
76
|
+
[Date.parse("2013-11-02"), 10, 1, 2, 3, 4],
|
77
|
+
[Date.parse("2013-12-01"), 18, 5, 6, nil, 7]
|
78
|
+
]
|
79
|
+
|
80
|
+
assert_equal expected_cols, pivot_series.cols
|
81
|
+
assert_equal expected_rows, pivot_series.rows
|
82
|
+
|
83
|
+
end
|
84
|
+
|
46
85
|
def test_pivot_with_empty_data
|
47
86
|
|
48
87
|
# Given
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rorschart
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Pantera
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|