cube 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []