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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8338cccb4eb12fd8f27b2545ba1faed1fc25446b
4
- data.tar.gz: 3d028514499cd58bed636e4ae650941d74805e22
3
+ metadata.gz: f26133cc6ad3859df0eb644c82fff9f1b88912d3
4
+ data.tar.gz: 86098cf6b4a8f2985e011b1dff71ddefa9871eb9
5
5
  SHA512:
6
- metadata.gz: 6a49bb6d41b963b115298aa302a539bf2402ccbd7254576b0c8d0a39b26e8b399f4a28d68b9245dc1e82c422a282e4efe2808438c314f39542d6ed9eea68ddd4
7
- data.tar.gz: 2b0972e87e6f15ac1aa521c1aed5650566ddb09892428714baedc1207011a8c0be4aea00907ebfdde7ed68fbe68d011d70e46469b8469f358671a1c932cddc7e
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
 
@@ -1,3 +1,3 @@
1
1
  module Rorschart
2
- VERSION = "0.14.1"
2
+ VERSION = "0.15.0"
3
3
  end
@@ -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.14.1
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: 2014-12-17 00:00:00.000000000 Z
11
+ date: 2015-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler