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 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