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