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.
- data/.document +5 -0
- data/.rspec +1 -0
- data/Gemfile +17 -0
- data/Gemfile.lock +55 -0
- data/LICENSE.txt +20 -0
- data/README.md +54 -0
- data/Rakefile +49 -0
- data/VERSION +1 -0
- data/cube.gemspec +72 -0
- data/lib/cube.rb +2 -0
- data/lib/cube/cube.rb +100 -0
- data/lib/cube/xmla.rb +16 -0
- data/lib/wsdl/xmla.xml +104 -0
- data/spec/cassettes/kvartovi_u_recima.yml +167 -0
- data/spec/cassettes/kvatovi_u_koloni.yml +169 -0
- data/spec/cassettes/razlog_prijave_i_kvart.yml +219 -0
- data/spec/cube_spec.rb +48 -0
- data/spec/spec_helper.rb +12 -0
- metadata +135 -0
data/spec/cube_spec.rb
ADDED
@@ -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
|
data/spec/spec_helper.rb
ADDED
@@ -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: []
|