kuji-cube 1.5.8 → 1.5.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/cube/cube.rb +13 -17
  2. data/lib/cube/version.rb +1 -1
  3. metadata +7 -7
data/lib/cube/cube.rb CHANGED
@@ -28,7 +28,11 @@ module XMLA
28
28
 
29
29
  def as_table
30
30
  return [table] if y_size == 0
31
- clean_table(table, y_size).reduce([]) { |result, row| result << row.flatten }
31
+ clean_table(table).reduce([]) { |result, row|
32
+ flat_row = row.flatten
33
+ result << flat_row unless flat_row.all?(&:blank?)
34
+ result
35
+ }
32
36
  end
33
37
 
34
38
  def axes
@@ -58,7 +62,9 @@ module XMLA
58
62
  cell_data[0]
59
63
  else
60
64
  (0...y_axe.size).reduce(header) do |result, j|
61
- result << ( y_axe[j] + (0...x_size).map { |i| cell_data[i + j + ((x_size - 1) * j)] })
65
+ values = (0...x_size).map { |i| cell_data[i + j + ((x_size - 1) * j)] }
66
+ result << ( y_axe[j] + values) if values.any?{|d| !d.blank? && !d[:value].blank? } && y_axe[j].any?{|d| !d.blank? }
67
+ result
62
68
  end
63
69
  end
64
70
  end
@@ -71,8 +77,8 @@ module XMLA
71
77
  def initialize(query, catalog)
72
78
  @query = query
73
79
  @catalog = catalog
74
- # @response.http.raw_body
75
80
  @response = get_response
81
+ # puts @response.http.raw_body
76
82
  self
77
83
  end
78
84
 
@@ -88,20 +94,10 @@ module XMLA
88
94
  end
89
95
 
90
96
  #cleanup table so items don't repeat (if they are same)
91
- def clean_table(table, number_of_colums)
92
- above_row = []
93
- #filter if they are not last column, and they are same as the item on the row above
94
- table.reduce([]) { |result, row|
95
- result << row.each_with_index.map do |item,i|
96
- if i == number_of_colums
97
- item
98
- else
99
- item == above_row[i] ? '' : item
100
- end
101
- end
102
- above_row = row
103
- result
104
- }
97
+ def clean_table(table)
98
+ table.uniq_by do |row|
99
+ row.map(&:hash).join
100
+ end
105
101
  end
106
102
 
107
103
  def cell_data
data/lib/cube/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Cube
2
- VERSION = "1.5.8"
2
+ VERSION = "1.5.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kuji-cube
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.8
4
+ version: 1.5.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2012-05-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httpi
17
- requirement: &70357147224700 !ruby/object:Gem::Requirement
17
+ requirement: &70234149259900 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - =
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 0.9.7
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70357147224700
25
+ version_requirements: *70234149259900
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: wasabi
28
- requirement: &70357147224080 !ruby/object:Gem::Requirement
28
+ requirement: &70234149259280 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - =
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 2.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70357147224080
36
+ version_requirements: *70234149259280
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: savon
39
- requirement: &70357147223420 !ruby/object:Gem::Requirement
39
+ requirement: &70234149258620 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - =
@@ -44,7 +44,7 @@ dependencies:
44
44
  version: 0.9.7
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70357147223420
47
+ version_requirements: *70234149258620
48
48
  description: Eases the pain I had to go through to get to the data out of XMLA based
49
49
  OLAP provider(Mondiran, Pentaho, icCube)
50
50
  email: