cube 1.0.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.
@@ -0,0 +1,48 @@
1
+ require 'cube'
2
+ require 'webmock'
3
+ require 'vcr'
4
+
5
+ VCR.config do |c|
6
+ c.cassette_library_dir = 'spec/cassettes'
7
+ c.stub_with :webmock
8
+ end
9
+
10
+ Xmla.configure do |c|
11
+ c.endpoint = "http://localhost:8282/icCube/xmla"
12
+ c.catalog = "GOSJAR"
13
+ end
14
+
15
+ module Xmla
16
+
17
+ describe Cube do
18
+ it 'supports multiple items on x axis' do
19
+ VCR.use_cassette('kvatovi_u_koloni') do
20
+ result = Cube.execute("select [Lokacija].[Kvart].children on COLUMNS, [Measures].[Broj] on ROWS from [GOSJAR]")
21
+ result.size.should == 2
22
+ result[0].split('|').size.should == 18
23
+ result[1].should == "Broj|1422|2259|2148|2733|2004|2607|2829|1611|2581|1945|3602|1356|1696|2327|1228|3186|"
24
+ end
25
+ end
26
+
27
+ it 'supports multiple items on y axis' do
28
+ VCR.use_cassette('kvartovi_u_recima') do
29
+ result = Cube.execute("select [Measures].[Broj] on COLUMNS, non empty topcount( [Lokacija].[Kvart].children, 100, [Measures].[Broj]) on ROWS from [GOSJAR]")
30
+ result.size.should == 17
31
+ result[0].should == '|Broj'
32
+ result[6].should == 'TRESNJEVKA - JUG|2607'
33
+ result[16].should == 'PODSLJEME|1228'
34
+ end
35
+ end
36
+
37
+ it 'support multiple items on y axis and multiple items on x axis' do
38
+ VCR.use_cassette('razlog_prijave_i_kvart') do
39
+ result = Cube.execute("select [Measures].[Broj] on COLUMNS, non empty topcount ( [Razlog prijave].[Razlog].children * [Lokacija].[Kvart].children , 20, [Measures].[Broj] ) on ROWS from [GOSJAR]")
40
+ result.size.should == 21
41
+ result[0].should == "||Broj"
42
+ result[2].should == "|GORNJA DUBRAVA|1383"
43
+ result[20].should == "Redovna izmjena|GORNJA DUBRAVA|575"
44
+ end
45
+ end
46
+
47
+ end
48
+ end
@@ -0,0 +1,12 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'cube'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+
12
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cube
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - drKreso
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-02-09 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: savon
16
+ requirement: &70148046904980 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70148046904980
25
+ - !ruby/object:Gem::Dependency
26
+ name: webmock
27
+ requirement: &70148046900860 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70148046900860
36
+ - !ruby/object:Gem::Dependency
37
+ name: vcr
38
+ requirement: &70148046900320 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70148046900320
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: &70148046899660 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.3.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70148046899660
58
+ - !ruby/object:Gem::Dependency
59
+ name: bundler
60
+ requirement: &70148046898880 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 1.0.0
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70148046898880
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: &70148046898340 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 1.6.4
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70148046898340
80
+ description: Eases the pain I had to go through to get to the data of Xmla based OLAP
81
+ provider
82
+ email: kresimir.bojcic@gmail.com
83
+ executables: []
84
+ extensions: []
85
+ extra_rdoc_files:
86
+ - LICENSE.txt
87
+ - README.md
88
+ files:
89
+ - .document
90
+ - .rspec
91
+ - Gemfile
92
+ - Gemfile.lock
93
+ - LICENSE.txt
94
+ - README.md
95
+ - Rakefile
96
+ - VERSION
97
+ - cube.gemspec
98
+ - lib/cube.rb
99
+ - lib/cube/cube.rb
100
+ - lib/cube/xmla.rb
101
+ - lib/wsdl/xmla.xml
102
+ - spec/cassettes/kvartovi_u_recima.yml
103
+ - spec/cassettes/kvatovi_u_koloni.yml
104
+ - spec/cassettes/razlog_prijave_i_kvart.yml
105
+ - spec/cube_spec.rb
106
+ - spec/spec_helper.rb
107
+ homepage: http://github.com/drkreso/cube
108
+ licenses:
109
+ - MIT
110
+ post_install_message:
111
+ rdoc_options: []
112
+ require_paths:
113
+ - lib
114
+ required_ruby_version: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ segments:
121
+ - 0
122
+ hash: 3924057970411294698
123
+ required_rubygems_version: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ requirements: []
130
+ rubyforge_project:
131
+ rubygems_version: 1.8.10
132
+ signing_key:
133
+ specification_version: 3
134
+ summary: Get's the data from OLAP cube via XMLA
135
+ test_files: []