cube 1.2.0 → 1.2.1
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/VERSION +1 -1
- data/cube.gemspec +4 -2
- data/lib/cube/cube.rb +8 -2
- data/spec/cassettes/mondrian_jedan_red_odgovor.yml +1 -1
- data/spec/cassettes/mondrian_scalar_value.yml +166 -0
- data/spec/cassettes/mondrian_vrati_samo_jedan_broj.yml +166 -0
- data/spec/cube_spec.rb +17 -3
- metadata +19 -17
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1.2. | 
| 1 | 
            +
            1.2.1
         | 
    
        data/cube.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = "cube"
         | 
| 8 | 
            -
              s.version = "1.2. | 
| 8 | 
            +
              s.version = "1.2.1"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["drKreso"]
         | 
| 12 | 
            -
              s.date = "2012-02- | 
| 12 | 
            +
              s.date = "2012-02-17"
         | 
| 13 13 | 
             
              s.description = "Eases the pain I had to go through to get to the data out of XMLA based OLAP provider"
         | 
| 14 14 | 
             
              s.email = "kresimir.bojcic@gmail.com"
         | 
| 15 15 | 
             
              s.extra_rdoc_files = [
         | 
| @@ -36,6 +36,8 @@ Gem::Specification.new do |s| | |
| 36 36 | 
             
                "spec/cassettes/mondrian_broj_intervencija.yml",
         | 
| 37 37 | 
             
                "spec/cassettes/mondrian_jedan_red_odgovor.yml",
         | 
| 38 38 | 
             
                "spec/cassettes/mondrian_nula_redaka.yml",
         | 
| 39 | 
            +
                "spec/cassettes/mondrian_scalar_value.yml",
         | 
| 40 | 
            +
                "spec/cassettes/mondrian_vrati_samo_jedan_broj.yml",
         | 
| 39 41 | 
             
                "spec/cassettes/razlog_prijave_i_kvart.yml",
         | 
| 40 42 | 
             
                "spec/cube_spec.rb",
         | 
| 41 43 | 
             
                "spec/spec_helper.rb"
         | 
    
        data/lib/cube/cube.rb
    CHANGED
    
    | @@ -18,19 +18,24 @@ module XMLA | |
| 18 18 | 
             
                end
         | 
| 19 19 |  | 
| 20 20 | 
             
                def as_table 
         | 
| 21 | 
            +
                  return [table] if y_size == 0
         | 
| 21 22 | 
             
                  clean_table(table, y_size).reduce([]) { |result, row| result << row.flatten.join('|') }
         | 
| 22 23 | 
             
                end
         | 
| 23 24 |  | 
| 24 25 | 
             
                let(:x_axe)  { @x_axe ||= axes[0] }
         | 
| 25 26 | 
             
                let(:y_axe)  { @y_axe ||= axes[1] }
         | 
| 26 | 
            -
                let(:y_size) { y_axe[0].nil? ? 0 : y_axe[0].size }
         | 
| 27 | 
            +
                let(:y_size) { (y_axe.nil? || y_axe[0].nil?) ? 0 : y_axe[0].size }
         | 
| 27 28 | 
             
                let(:x_size) { x_axe.size }
         | 
| 28 29 |  | 
| 29 30 | 
             
                private
         | 
| 30 31 |  | 
| 31 32 | 
             
                #header and rows
         | 
| 32 33 | 
             
                def table
         | 
| 33 | 
            -
                  ( | 
| 34 | 
            +
                  if (header.size == 1 && y_size == 0)
         | 
| 35 | 
            +
                    cell_data[0]
         | 
| 36 | 
            +
                  else
         | 
| 37 | 
            +
                    (0...y_axe.size).reduce(header) { |result, j| result << ( y_axe[j] + (0...x_size).map { |i| "#{cell_data[i + j]}" }) }
         | 
| 38 | 
            +
                  end
         | 
| 34 39 | 
             
                end
         | 
| 35 40 |  | 
| 36 41 | 
             
                def header
         | 
| @@ -80,6 +85,7 @@ module XMLA | |
| 80 85 |  | 
| 81 86 | 
             
                def cell_data
         | 
| 82 87 | 
             
                  cell_data = @response.to_hash[:execute_response][:return][:root][:cell_data]
         | 
| 88 | 
            +
                  return [""] if cell_data.nil? 
         | 
| 83 89 | 
             
                  @data ||= cell_data.reduce([]) do |data, cell|
         | 
| 84 90 | 
             
                    cell[1].reduce(data) do |data, value|
         | 
| 85 91 | 
             
                      data << (value.class == Hash ?  value[:value] : value[1] )
         | 
| @@ -32,7 +32,7 @@ | |
| 32 32 | 
             
                  transfer-encoding:
         | 
| 33 33 | 
             
                  - chunked
         | 
| 34 34 | 
             
                  date:
         | 
| 35 | 
            -
                  -  | 
| 35 | 
            +
                  - Fri, 17 Feb 2012 22:41:49 GMT
         | 
| 36 36 | 
             
                body: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"
         | 
| 37 37 | 
             
                  SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" >\n<SOAP-ENV:Header>\n</SOAP-ENV:Header>\n<SOAP-ENV:Body>\n<cxmla:ExecuteResponse
         | 
| 38 38 | 
             
                  xmlns:cxmla=\"urn:schemas-microsoft-com:xml-analysis\">\n  <cxmla:return>\n
         | 
| @@ -0,0 +1,166 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            - !ruby/struct:VCR::HTTPInteraction
         | 
| 3 | 
            +
              request: !ruby/struct:VCR::Request
         | 
| 4 | 
            +
                method: :post
         | 
| 5 | 
            +
                uri: http://localhost:8383/mondrian/xmla
         | 
| 6 | 
            +
                body: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?><env:Envelope xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
         | 
| 7 | 
            +
                  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:wsdl=\"http://tempuri.org/wsdl/\"
         | 
| 8 | 
            +
                  xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ins0=\"http://tempuri.org/type\"><env:Body><Execute
         | 
| 9 | 
            +
                  xmlns=\"urn:schemas-microsoft-com:xml-analysis\"><Command> <Statement> <![CDATA[
         | 
| 10 | 
            +
                  \       SELECT {Hierarchize({[Measures].[Rok otklona]})} ON COLUMNS\n       FROM
         | 
| 11 | 
            +
                  [Kvarovi]\n       WHERE [Vrijeme prijave].[2011]\n ]]> </Statement> </Command>
         | 
| 12 | 
            +
                  <Properties> <PropertyList> <Catalog>GOSJAR</Catalog>\n      <Format>Multidimensional</Format>
         | 
| 13 | 
            +
                  <AxisFormat>TupleFormat</AxisFormat> </PropertyList> </Properties></Execute></env:Body></env:Envelope>"
         | 
| 14 | 
            +
                headers:
         | 
| 15 | 
            +
                  soapaction:
         | 
| 16 | 
            +
                  - ! '"urn:schemas-microsoft-com:xml-analysis:Execute"'
         | 
| 17 | 
            +
                  content-type:
         | 
| 18 | 
            +
                  - text/xml;charset=UTF-8
         | 
| 19 | 
            +
                  content-length:
         | 
| 20 | 
            +
                  - '730'
         | 
| 21 | 
            +
              response: !ruby/struct:VCR::Response
         | 
| 22 | 
            +
                status: !ruby/struct:VCR::ResponseStatus
         | 
| 23 | 
            +
                  code: 200
         | 
| 24 | 
            +
                  message: OK
         | 
| 25 | 
            +
                headers:
         | 
| 26 | 
            +
                  server:
         | 
| 27 | 
            +
                  - Apache-Coyote/1.1
         | 
| 28 | 
            +
                  content-type:
         | 
| 29 | 
            +
                  - text/xml;charset=UTF-8
         | 
| 30 | 
            +
                  transfer-encoding:
         | 
| 31 | 
            +
                  - chunked
         | 
| 32 | 
            +
                  date:
         | 
| 33 | 
            +
                  - Fri, 17 Feb 2012 22:40:27 GMT
         | 
| 34 | 
            +
                body: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"
         | 
| 35 | 
            +
                  SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" >\n<SOAP-ENV:Header>\n</SOAP-ENV:Header>\n<SOAP-ENV:Body>\n<cxmla:ExecuteResponse
         | 
| 36 | 
            +
                  xmlns:cxmla=\"urn:schemas-microsoft-com:xml-analysis\">\n  <cxmla:return>\n
         | 
| 37 | 
            +
                  \   <root xmlns=\"urn:schemas-microsoft-com:xml-analysis:mddataset\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
         | 
| 38 | 
            +
                  xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:EX=\"urn:schemas-microsoft-com:xml-analysis:exception\">\n
         | 
| 39 | 
            +
                  \     <xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"urn:schemas-microsoft-com:xml-analysis:mddataset\"
         | 
| 40 | 
            +
                  xmlns=\"urn:schemas-microsoft-com:xml-analysis:mddataset\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
         | 
| 41 | 
            +
                  xmlns:sql=\"urn:schemas-microsoft-com:xml-sql\" elementFormDefault=\"qualified\">\n
         | 
| 42 | 
            +
                  \       <xsd:complexType name=\"MemberType\">\n          <xsd:sequence>\n            <xsd:element
         | 
| 43 | 
            +
                  name=\"UName\" type=\"xsd:string\"/>\n            <xsd:element name=\"Caption\"
         | 
| 44 | 
            +
                  type=\"xsd:string\"/>\n            <xsd:element name=\"LName\" type=\"xsd:string\"/>\n
         | 
| 45 | 
            +
                  \           <xsd:element name=\"LNum\" type=\"xsd:unsignedInt\"/>\n            <xsd:element
         | 
| 46 | 
            +
                  name=\"DisplayInfo\" type=\"xsd:unsignedInt\"/>\n            <xsd:sequence maxOccurs=\"unbounded\"
         | 
| 47 | 
            +
                  minOccurs=\"0\">\n              <xsd:any processContents=\"lax\" maxOccurs=\"unbounded\"/>\n
         | 
| 48 | 
            +
                  \           </xsd:sequence>\n          </xsd:sequence>\n          <xsd:attribute
         | 
| 49 | 
            +
                  name=\"Hierarchy\" type=\"xsd:string\"/>\n        </xsd:complexType>\n        <xsd:complexType
         | 
| 50 | 
            +
                  name=\"PropType\">\n          <xsd:attribute name=\"name\" type=\"xsd:string\"/>\n
         | 
| 51 | 
            +
                  \       </xsd:complexType>\n        <xsd:complexType name=\"TupleType\">\n          <xsd:sequence
         | 
| 52 | 
            +
                  maxOccurs=\"unbounded\">\n            <xsd:element name=\"Member\" type=\"MemberType\"/>\n
         | 
| 53 | 
            +
                  \         </xsd:sequence>\n        </xsd:complexType>\n        <xsd:complexType
         | 
| 54 | 
            +
                  name=\"MembersType\">\n          <xsd:sequence maxOccurs=\"unbounded\">\n            <xsd:element
         | 
| 55 | 
            +
                  name=\"Member\" type=\"MemberType\"/>\n          </xsd:sequence>\n          <xsd:attribute
         | 
| 56 | 
            +
                  name=\"Hierarchy\" type=\"xsd:string\"/>\n        </xsd:complexType>\n        <xsd:complexType
         | 
| 57 | 
            +
                  name=\"TuplesType\">\n          <xsd:sequence maxOccurs=\"unbounded\">\n            <xsd:element
         | 
| 58 | 
            +
                  name=\"Tuple\" type=\"TupleType\"/>\n          </xsd:sequence>\n        </xsd:complexType>\n
         | 
| 59 | 
            +
                  \       <xsd:complexType name=\"CrossProductType\">\n          <xsd:sequence>\n
         | 
| 60 | 
            +
                  \           <xsd:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n              <xsd:element
         | 
| 61 | 
            +
                  name=\"Members\" type=\"MembersType\"/>\n              <xsd:element name=\"Tuples\"
         | 
| 62 | 
            +
                  type=\"TuplesType\"/>\n            </xsd:choice>\n          </xsd:sequence>\n
         | 
| 63 | 
            +
                  \         <xsd:attribute name=\"Size\" type=\"xsd:unsignedInt\"/>\n        </xsd:complexType>\n
         | 
| 64 | 
            +
                  \       <xsd:complexType name=\"OlapInfo\">\n          <xsd:sequence>\n            <xsd:element
         | 
| 65 | 
            +
                  name=\"CubeInfo\">\n              <xsd:complexType>\n                <xsd:sequence>\n
         | 
| 66 | 
            +
                  \                 <xsd:element name=\"Cube\" maxOccurs=\"unbounded\">\n                    <xsd:complexType>\n
         | 
| 67 | 
            +
                  \                     <xsd:sequence>\n                        <xsd:element name=\"CubeName\"
         | 
| 68 | 
            +
                  type=\"xsd:string\"/>\n                      </xsd:sequence>\n                    </xsd:complexType>\n
         | 
| 69 | 
            +
                  \                 </xsd:element>\n                </xsd:sequence>\n              </xsd:complexType>\n
         | 
| 70 | 
            +
                  \           </xsd:element>\n            <xsd:element name=\"AxesInfo\">\n              <xsd:complexType>\n
         | 
| 71 | 
            +
                  \               <xsd:sequence>\n                  <xsd:element name=\"AxisInfo\"
         | 
| 72 | 
            +
                  maxOccurs=\"unbounded\">\n                    <xsd:complexType>\n                      <xsd:sequence>\n
         | 
| 73 | 
            +
                  \                       <xsd:element name=\"HierarchyInfo\" minOccurs=\"0\"
         | 
| 74 | 
            +
                  maxOccurs=\"unbounded\">\n                          <xsd:complexType>\n                            <xsd:sequence>\n
         | 
| 75 | 
            +
                  \                             <xsd:sequence maxOccurs=\"unbounded\">\n                                <xsd:element
         | 
| 76 | 
            +
                  name=\"UName\" type=\"PropType\"/>\n                                <xsd:element
         | 
| 77 | 
            +
                  name=\"Caption\" type=\"PropType\"/>\n                                <xsd:element
         | 
| 78 | 
            +
                  name=\"LName\" type=\"PropType\"/>\n                                <xsd:element
         | 
| 79 | 
            +
                  name=\"LNum\" type=\"PropType\"/>\n                                <xsd:element
         | 
| 80 | 
            +
                  name=\"DisplayInfo\" type=\"PropType\" minOccurs=\"0\" maxOccurs=\"unbounded\"/>\n
         | 
| 81 | 
            +
                  \                             </xsd:sequence>\n                              <xsd:sequence>\n
         | 
| 82 | 
            +
                  \                               <xsd:any processContents=\"lax\" minOccurs=\"0\"
         | 
| 83 | 
            +
                  maxOccurs=\"unbounded\"/>\n                              </xsd:sequence>\n                            </xsd:sequence>\n
         | 
| 84 | 
            +
                  \                           <xsd:attribute name=\"name\" type=\"xsd:string\"
         | 
| 85 | 
            +
                  use=\"required\"/>\n                          </xsd:complexType>\n                        </xsd:element>\n
         | 
| 86 | 
            +
                  \                     </xsd:sequence>\n                      <xsd:attribute
         | 
| 87 | 
            +
                  name=\"name\" type=\"xsd:string\"/>\n                    </xsd:complexType>\n
         | 
| 88 | 
            +
                  \                 </xsd:element>\n                </xsd:sequence>\n              </xsd:complexType>\n
         | 
| 89 | 
            +
                  \           </xsd:element>\n            <xsd:element name=\"CellInfo\">\n              <xsd:complexType>\n
         | 
| 90 | 
            +
                  \               <xsd:sequence>\n                  <xsd:sequence minOccurs=\"0\"
         | 
| 91 | 
            +
                  maxOccurs=\"unbounded\">\n                    <xsd:choice>\n                      <xsd:element
         | 
| 92 | 
            +
                  name=\"Value\" type=\"PropType\"/>\n                      <xsd:element name=\"FmtValue\"
         | 
| 93 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"BackColor\" type=\"PropType\"/>\n
         | 
| 94 | 
            +
                  \                     <xsd:element name=\"ForeColor\" type=\"PropType\"/>\n
         | 
| 95 | 
            +
                  \                     <xsd:element name=\"FontName\" type=\"PropType\"/>\n                      <xsd:element
         | 
| 96 | 
            +
                  name=\"FontSize\" type=\"PropType\"/>\n                      <xsd:element name=\"FontFlags\"
         | 
| 97 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"FormatString\"
         | 
| 98 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"NonEmptyBehavior\"
         | 
| 99 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"SolveOrder\"
         | 
| 100 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"Updateable\"
         | 
| 101 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"Visible\" type=\"PropType\"/>\n
         | 
| 102 | 
            +
                  \                     <xsd:element name=\"Expression\" type=\"PropType\"/>\n
         | 
| 103 | 
            +
                  \                   </xsd:choice>\n                  </xsd:sequence>\n                  <xsd:sequence
         | 
| 104 | 
            +
                  maxOccurs=\"unbounded\" minOccurs=\"0\">\n                    <xsd:any processContents=\"lax\"
         | 
| 105 | 
            +
                  maxOccurs=\"unbounded\"/>\n                  </xsd:sequence>\n                </xsd:sequence>\n
         | 
| 106 | 
            +
                  \             </xsd:complexType>\n            </xsd:element>\n          </xsd:sequence>\n
         | 
| 107 | 
            +
                  \       </xsd:complexType>\n        <xsd:complexType name=\"Axes\">\n          <xsd:sequence
         | 
| 108 | 
            +
                  maxOccurs=\"unbounded\">\n            <xsd:element name=\"Axis\">\n              <xsd:complexType>\n
         | 
| 109 | 
            +
                  \               <xsd:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n                  <xsd:element
         | 
| 110 | 
            +
                  name=\"CrossProduct\" type=\"CrossProductType\"/>\n                  <xsd:element
         | 
| 111 | 
            +
                  name=\"Tuples\" type=\"TuplesType\"/>\n                  <xsd:element name=\"Members\"
         | 
| 112 | 
            +
                  type=\"MembersType\"/>\n                </xsd:choice>\n                <xsd:attribute
         | 
| 113 | 
            +
                  name=\"name\" type=\"xsd:string\"/>\n              </xsd:complexType>\n            </xsd:element>\n
         | 
| 114 | 
            +
                  \         </xsd:sequence>\n        </xsd:complexType>\n        <xsd:complexType
         | 
| 115 | 
            +
                  name=\"CellData\">\n          <xsd:sequence>\n            <xsd:element name=\"Cell\"
         | 
| 116 | 
            +
                  minOccurs=\"0\" maxOccurs=\"unbounded\">\n              <xsd:complexType>\n
         | 
| 117 | 
            +
                  \               <xsd:sequence maxOccurs=\"unbounded\">\n                  <xsd:choice>\n
         | 
| 118 | 
            +
                  \                   <xsd:element name=\"Value\"/>\n                    <xsd:element
         | 
| 119 | 
            +
                  name=\"FmtValue\" type=\"xsd:string\"/>\n                    <xsd:element name=\"BackColor\"
         | 
| 120 | 
            +
                  type=\"xsd:unsignedInt\"/>\n                    <xsd:element name=\"ForeColor\"
         | 
| 121 | 
            +
                  type=\"xsd:unsignedInt\"/>\n                    <xsd:element name=\"FontName\"
         | 
| 122 | 
            +
                  type=\"xsd:string\"/>\n                    <xsd:element name=\"FontSize\" type=\"xsd:unsignedShort\"/>\n
         | 
| 123 | 
            +
                  \                   <xsd:element name=\"FontFlags\" type=\"xsd:unsignedInt\"/>\n
         | 
| 124 | 
            +
                  \                   <xsd:element name=\"FormatString\" type=\"xsd:string\"/>\n
         | 
| 125 | 
            +
                  \                   <xsd:element name=\"NonEmptyBehavior\" type=\"xsd:unsignedShort\"/>\n
         | 
| 126 | 
            +
                  \                   <xsd:element name=\"SolveOrder\" type=\"xsd:unsignedInt\"/>\n
         | 
| 127 | 
            +
                  \                   <xsd:element name=\"Updateable\" type=\"xsd:unsignedInt\"/>\n
         | 
| 128 | 
            +
                  \                   <xsd:element name=\"Visible\" type=\"xsd:unsignedInt\"/>\n
         | 
| 129 | 
            +
                  \                   <xsd:element name=\"Expression\" type=\"xsd:string\"/>\n
         | 
| 130 | 
            +
                  \                 </xsd:choice>\n                </xsd:sequence>\n                <xsd:attribute
         | 
| 131 | 
            +
                  name=\"CellOrdinal\" type=\"xsd:unsignedInt\" use=\"required\"/>\n              </xsd:complexType>\n
         | 
| 132 | 
            +
                  \           </xsd:element>\n          </xsd:sequence>\n        </xsd:complexType>\n
         | 
| 133 | 
            +
                  \       <xsd:element name=\"root\">\n          <xsd:complexType>\n            <xsd:sequence
         | 
| 134 | 
            +
                  maxOccurs=\"unbounded\">\n              <xsd:element name=\"OlapInfo\" type=\"OlapInfo\"/>\n
         | 
| 135 | 
            +
                  \             <xsd:element name=\"Axes\" type=\"Axes\"/>\n              <xsd:element
         | 
| 136 | 
            +
                  name=\"CellData\" type=\"CellData\"/>\n            </xsd:sequence>\n          </xsd:complexType>\n
         | 
| 137 | 
            +
                  \       </xsd:element>\n      </xsd:schema>\n      <OlapInfo>\n        <CubeInfo>\n
         | 
| 138 | 
            +
                  \         <Cube>\n            <CubeName>Kvarovi</CubeName>\n          </Cube>\n
         | 
| 139 | 
            +
                  \       </CubeInfo>\n        <AxesInfo>\n          <AxisInfo name=\"Axis0\">\n
         | 
| 140 | 
            +
                  \           <HierarchyInfo name=\"Measures\">\n              <UName name=\"[Measures].[MEMBER_UNIQUE_NAME]\"/>\n
         | 
| 141 | 
            +
                  \             <Caption name=\"[Measures].[MEMBER_CAPTION]\"/>\n              <LName
         | 
| 142 | 
            +
                  name=\"[Measures].[LEVEL_UNIQUE_NAME]\"/>\n              <LNum name=\"[Measures].[LEVEL_NUMBER]\"/>\n
         | 
| 143 | 
            +
                  \             <DisplayInfo name=\"[Measures].[DISPLAY_INFO]\"/>\n            </HierarchyInfo>\n
         | 
| 144 | 
            +
                  \         </AxisInfo>\n          <AxisInfo name=\"SlicerAxis\">\n            <HierarchyInfo
         | 
| 145 | 
            +
                  name=\"Vrijeme prijave\">\n              <UName name=\"[Vrijeme prijave].[MEMBER_UNIQUE_NAME]\"/>\n
         | 
| 146 | 
            +
                  \             <Caption name=\"[Vrijeme prijave].[MEMBER_CAPTION]\"/>\n              <LName
         | 
| 147 | 
            +
                  name=\"[Vrijeme prijave].[LEVEL_UNIQUE_NAME]\"/>\n              <LNum name=\"[Vrijeme
         | 
| 148 | 
            +
                  prijave].[LEVEL_NUMBER]\"/>\n              <DisplayInfo name=\"[Vrijeme prijave].[DISPLAY_INFO]\"/>\n
         | 
| 149 | 
            +
                  \           </HierarchyInfo>\n          </AxisInfo>\n        </AxesInfo>\n        <CellInfo>\n
         | 
| 150 | 
            +
                  \         <Value name=\"VALUE\"/>\n          <FmtValue name=\"FORMATTED_VALUE\"/>\n
         | 
| 151 | 
            +
                  \         <FormatString name=\"FORMAT_STRING\"/>\n        </CellInfo>\n      </OlapInfo>\n
         | 
| 152 | 
            +
                  \     <Axes>\n        <Axis name=\"Axis0\">\n          <Tuples>\n            <Tuple>\n
         | 
| 153 | 
            +
                  \             <Member Hierarchy=\"Measures\">\n                <UName>[Measures].[Rok
         | 
| 154 | 
            +
                  otklona]</UName>\n                <Caption>Rok otklona</Caption>\n                <LName>[Measures].[MeasuresLevel]</LName>\n
         | 
| 155 | 
            +
                  \               <LNum>0</LNum>\n                <DisplayInfo>0</DisplayInfo>\n
         | 
| 156 | 
            +
                  \             </Member>\n            </Tuple>\n          </Tuples>\n        </Axis>\n
         | 
| 157 | 
            +
                  \       <Axis name=\"SlicerAxis\">\n          <Tuples>\n            <Tuple>\n
         | 
| 158 | 
            +
                  \             <Member Hierarchy=\"Vrijeme prijave\">\n                <UName>[Time].[2011]</UName>\n
         | 
| 159 | 
            +
                  \               <Caption>2011</Caption>\n                <LName>[Time].[Godina]</LName>\n
         | 
| 160 | 
            +
                  \               <LNum>1</LNum>\n                <DisplayInfo>12</DisplayInfo>\n
         | 
| 161 | 
            +
                  \             </Member>\n            </Tuple>\n          </Tuples>\n        </Axis>\n
         | 
| 162 | 
            +
                  \     </Axes>\n      <CellData>\n        <Cell CellOrdinal=\"0\">\n          <Value
         | 
| 163 | 
            +
                  xsi:type=\"xsd:double\">7.356</Value>\n          <FmtValue>7.356</FmtValue>\n
         | 
| 164 | 
            +
                  \         <FormatString/>\n        </Cell>\n      </CellData>\n    </root>\n
         | 
| 165 | 
            +
                  \ </cxmla:return>\n</cxmla:ExecuteResponse>\n</SOAP-ENV:Body>\n</SOAP-ENV:Envelope>\n"
         | 
| 166 | 
            +
                http_version: '1.1'
         | 
| @@ -0,0 +1,166 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            - !ruby/struct:VCR::HTTPInteraction
         | 
| 3 | 
            +
              request: !ruby/struct:VCR::Request
         | 
| 4 | 
            +
                method: :post
         | 
| 5 | 
            +
                uri: http://localhost:8383/mondrian/xmla
         | 
| 6 | 
            +
                body: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?><env:Envelope xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
         | 
| 7 | 
            +
                  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:wsdl=\"http://tempuri.org/wsdl/\"
         | 
| 8 | 
            +
                  xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ins0=\"http://tempuri.org/type\"><env:Body><Execute
         | 
| 9 | 
            +
                  xmlns=\"urn:schemas-microsoft-com:xml-analysis\"><Command> <Statement> <![CDATA[
         | 
| 10 | 
            +
                  \       SELECT {Hierarchize({[Measures].[Rok otklona]})} ON COLUMNS\n       FROM
         | 
| 11 | 
            +
                  [Kvarovi]\n       WHERE [Vrijeme prijave].[2011]\n ]]> </Statement> </Command>
         | 
| 12 | 
            +
                  <Properties> <PropertyList> <Catalog>GOSJAR</Catalog>\n      <Format>Multidimensional</Format>
         | 
| 13 | 
            +
                  <AxisFormat>TupleFormat</AxisFormat> </PropertyList> </Properties></Execute></env:Body></env:Envelope>"
         | 
| 14 | 
            +
                headers:
         | 
| 15 | 
            +
                  soapaction:
         | 
| 16 | 
            +
                  - ! '"urn:schemas-microsoft-com:xml-analysis:Execute"'
         | 
| 17 | 
            +
                  content-type:
         | 
| 18 | 
            +
                  - text/xml;charset=UTF-8
         | 
| 19 | 
            +
                  content-length:
         | 
| 20 | 
            +
                  - '730'
         | 
| 21 | 
            +
              response: !ruby/struct:VCR::Response
         | 
| 22 | 
            +
                status: !ruby/struct:VCR::ResponseStatus
         | 
| 23 | 
            +
                  code: 200
         | 
| 24 | 
            +
                  message: OK
         | 
| 25 | 
            +
                headers:
         | 
| 26 | 
            +
                  server:
         | 
| 27 | 
            +
                  - Apache-Coyote/1.1
         | 
| 28 | 
            +
                  content-type:
         | 
| 29 | 
            +
                  - text/xml;charset=UTF-8
         | 
| 30 | 
            +
                  transfer-encoding:
         | 
| 31 | 
            +
                  - chunked
         | 
| 32 | 
            +
                  date:
         | 
| 33 | 
            +
                  - Fri, 17 Feb 2012 22:22:09 GMT
         | 
| 34 | 
            +
                body: ! "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"
         | 
| 35 | 
            +
                  SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" >\n<SOAP-ENV:Header>\n</SOAP-ENV:Header>\n<SOAP-ENV:Body>\n<cxmla:ExecuteResponse
         | 
| 36 | 
            +
                  xmlns:cxmla=\"urn:schemas-microsoft-com:xml-analysis\">\n  <cxmla:return>\n
         | 
| 37 | 
            +
                  \   <root xmlns=\"urn:schemas-microsoft-com:xml-analysis:mddataset\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
         | 
| 38 | 
            +
                  xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:EX=\"urn:schemas-microsoft-com:xml-analysis:exception\">\n
         | 
| 39 | 
            +
                  \     <xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"urn:schemas-microsoft-com:xml-analysis:mddataset\"
         | 
| 40 | 
            +
                  xmlns=\"urn:schemas-microsoft-com:xml-analysis:mddataset\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
         | 
| 41 | 
            +
                  xmlns:sql=\"urn:schemas-microsoft-com:xml-sql\" elementFormDefault=\"qualified\">\n
         | 
| 42 | 
            +
                  \       <xsd:complexType name=\"MemberType\">\n          <xsd:sequence>\n            <xsd:element
         | 
| 43 | 
            +
                  name=\"UName\" type=\"xsd:string\"/>\n            <xsd:element name=\"Caption\"
         | 
| 44 | 
            +
                  type=\"xsd:string\"/>\n            <xsd:element name=\"LName\" type=\"xsd:string\"/>\n
         | 
| 45 | 
            +
                  \           <xsd:element name=\"LNum\" type=\"xsd:unsignedInt\"/>\n            <xsd:element
         | 
| 46 | 
            +
                  name=\"DisplayInfo\" type=\"xsd:unsignedInt\"/>\n            <xsd:sequence maxOccurs=\"unbounded\"
         | 
| 47 | 
            +
                  minOccurs=\"0\">\n              <xsd:any processContents=\"lax\" maxOccurs=\"unbounded\"/>\n
         | 
| 48 | 
            +
                  \           </xsd:sequence>\n          </xsd:sequence>\n          <xsd:attribute
         | 
| 49 | 
            +
                  name=\"Hierarchy\" type=\"xsd:string\"/>\n        </xsd:complexType>\n        <xsd:complexType
         | 
| 50 | 
            +
                  name=\"PropType\">\n          <xsd:attribute name=\"name\" type=\"xsd:string\"/>\n
         | 
| 51 | 
            +
                  \       </xsd:complexType>\n        <xsd:complexType name=\"TupleType\">\n          <xsd:sequence
         | 
| 52 | 
            +
                  maxOccurs=\"unbounded\">\n            <xsd:element name=\"Member\" type=\"MemberType\"/>\n
         | 
| 53 | 
            +
                  \         </xsd:sequence>\n        </xsd:complexType>\n        <xsd:complexType
         | 
| 54 | 
            +
                  name=\"MembersType\">\n          <xsd:sequence maxOccurs=\"unbounded\">\n            <xsd:element
         | 
| 55 | 
            +
                  name=\"Member\" type=\"MemberType\"/>\n          </xsd:sequence>\n          <xsd:attribute
         | 
| 56 | 
            +
                  name=\"Hierarchy\" type=\"xsd:string\"/>\n        </xsd:complexType>\n        <xsd:complexType
         | 
| 57 | 
            +
                  name=\"TuplesType\">\n          <xsd:sequence maxOccurs=\"unbounded\">\n            <xsd:element
         | 
| 58 | 
            +
                  name=\"Tuple\" type=\"TupleType\"/>\n          </xsd:sequence>\n        </xsd:complexType>\n
         | 
| 59 | 
            +
                  \       <xsd:complexType name=\"CrossProductType\">\n          <xsd:sequence>\n
         | 
| 60 | 
            +
                  \           <xsd:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n              <xsd:element
         | 
| 61 | 
            +
                  name=\"Members\" type=\"MembersType\"/>\n              <xsd:element name=\"Tuples\"
         | 
| 62 | 
            +
                  type=\"TuplesType\"/>\n            </xsd:choice>\n          </xsd:sequence>\n
         | 
| 63 | 
            +
                  \         <xsd:attribute name=\"Size\" type=\"xsd:unsignedInt\"/>\n        </xsd:complexType>\n
         | 
| 64 | 
            +
                  \       <xsd:complexType name=\"OlapInfo\">\n          <xsd:sequence>\n            <xsd:element
         | 
| 65 | 
            +
                  name=\"CubeInfo\">\n              <xsd:complexType>\n                <xsd:sequence>\n
         | 
| 66 | 
            +
                  \                 <xsd:element name=\"Cube\" maxOccurs=\"unbounded\">\n                    <xsd:complexType>\n
         | 
| 67 | 
            +
                  \                     <xsd:sequence>\n                        <xsd:element name=\"CubeName\"
         | 
| 68 | 
            +
                  type=\"xsd:string\"/>\n                      </xsd:sequence>\n                    </xsd:complexType>\n
         | 
| 69 | 
            +
                  \                 </xsd:element>\n                </xsd:sequence>\n              </xsd:complexType>\n
         | 
| 70 | 
            +
                  \           </xsd:element>\n            <xsd:element name=\"AxesInfo\">\n              <xsd:complexType>\n
         | 
| 71 | 
            +
                  \               <xsd:sequence>\n                  <xsd:element name=\"AxisInfo\"
         | 
| 72 | 
            +
                  maxOccurs=\"unbounded\">\n                    <xsd:complexType>\n                      <xsd:sequence>\n
         | 
| 73 | 
            +
                  \                       <xsd:element name=\"HierarchyInfo\" minOccurs=\"0\"
         | 
| 74 | 
            +
                  maxOccurs=\"unbounded\">\n                          <xsd:complexType>\n                            <xsd:sequence>\n
         | 
| 75 | 
            +
                  \                             <xsd:sequence maxOccurs=\"unbounded\">\n                                <xsd:element
         | 
| 76 | 
            +
                  name=\"UName\" type=\"PropType\"/>\n                                <xsd:element
         | 
| 77 | 
            +
                  name=\"Caption\" type=\"PropType\"/>\n                                <xsd:element
         | 
| 78 | 
            +
                  name=\"LName\" type=\"PropType\"/>\n                                <xsd:element
         | 
| 79 | 
            +
                  name=\"LNum\" type=\"PropType\"/>\n                                <xsd:element
         | 
| 80 | 
            +
                  name=\"DisplayInfo\" type=\"PropType\" minOccurs=\"0\" maxOccurs=\"unbounded\"/>\n
         | 
| 81 | 
            +
                  \                             </xsd:sequence>\n                              <xsd:sequence>\n
         | 
| 82 | 
            +
                  \                               <xsd:any processContents=\"lax\" minOccurs=\"0\"
         | 
| 83 | 
            +
                  maxOccurs=\"unbounded\"/>\n                              </xsd:sequence>\n                            </xsd:sequence>\n
         | 
| 84 | 
            +
                  \                           <xsd:attribute name=\"name\" type=\"xsd:string\"
         | 
| 85 | 
            +
                  use=\"required\"/>\n                          </xsd:complexType>\n                        </xsd:element>\n
         | 
| 86 | 
            +
                  \                     </xsd:sequence>\n                      <xsd:attribute
         | 
| 87 | 
            +
                  name=\"name\" type=\"xsd:string\"/>\n                    </xsd:complexType>\n
         | 
| 88 | 
            +
                  \                 </xsd:element>\n                </xsd:sequence>\n              </xsd:complexType>\n
         | 
| 89 | 
            +
                  \           </xsd:element>\n            <xsd:element name=\"CellInfo\">\n              <xsd:complexType>\n
         | 
| 90 | 
            +
                  \               <xsd:sequence>\n                  <xsd:sequence minOccurs=\"0\"
         | 
| 91 | 
            +
                  maxOccurs=\"unbounded\">\n                    <xsd:choice>\n                      <xsd:element
         | 
| 92 | 
            +
                  name=\"Value\" type=\"PropType\"/>\n                      <xsd:element name=\"FmtValue\"
         | 
| 93 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"BackColor\" type=\"PropType\"/>\n
         | 
| 94 | 
            +
                  \                     <xsd:element name=\"ForeColor\" type=\"PropType\"/>\n
         | 
| 95 | 
            +
                  \                     <xsd:element name=\"FontName\" type=\"PropType\"/>\n                      <xsd:element
         | 
| 96 | 
            +
                  name=\"FontSize\" type=\"PropType\"/>\n                      <xsd:element name=\"FontFlags\"
         | 
| 97 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"FormatString\"
         | 
| 98 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"NonEmptyBehavior\"
         | 
| 99 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"SolveOrder\"
         | 
| 100 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"Updateable\"
         | 
| 101 | 
            +
                  type=\"PropType\"/>\n                      <xsd:element name=\"Visible\" type=\"PropType\"/>\n
         | 
| 102 | 
            +
                  \                     <xsd:element name=\"Expression\" type=\"PropType\"/>\n
         | 
| 103 | 
            +
                  \                   </xsd:choice>\n                  </xsd:sequence>\n                  <xsd:sequence
         | 
| 104 | 
            +
                  maxOccurs=\"unbounded\" minOccurs=\"0\">\n                    <xsd:any processContents=\"lax\"
         | 
| 105 | 
            +
                  maxOccurs=\"unbounded\"/>\n                  </xsd:sequence>\n                </xsd:sequence>\n
         | 
| 106 | 
            +
                  \             </xsd:complexType>\n            </xsd:element>\n          </xsd:sequence>\n
         | 
| 107 | 
            +
                  \       </xsd:complexType>\n        <xsd:complexType name=\"Axes\">\n          <xsd:sequence
         | 
| 108 | 
            +
                  maxOccurs=\"unbounded\">\n            <xsd:element name=\"Axis\">\n              <xsd:complexType>\n
         | 
| 109 | 
            +
                  \               <xsd:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n                  <xsd:element
         | 
| 110 | 
            +
                  name=\"CrossProduct\" type=\"CrossProductType\"/>\n                  <xsd:element
         | 
| 111 | 
            +
                  name=\"Tuples\" type=\"TuplesType\"/>\n                  <xsd:element name=\"Members\"
         | 
| 112 | 
            +
                  type=\"MembersType\"/>\n                </xsd:choice>\n                <xsd:attribute
         | 
| 113 | 
            +
                  name=\"name\" type=\"xsd:string\"/>\n              </xsd:complexType>\n            </xsd:element>\n
         | 
| 114 | 
            +
                  \         </xsd:sequence>\n        </xsd:complexType>\n        <xsd:complexType
         | 
| 115 | 
            +
                  name=\"CellData\">\n          <xsd:sequence>\n            <xsd:element name=\"Cell\"
         | 
| 116 | 
            +
                  minOccurs=\"0\" maxOccurs=\"unbounded\">\n              <xsd:complexType>\n
         | 
| 117 | 
            +
                  \               <xsd:sequence maxOccurs=\"unbounded\">\n                  <xsd:choice>\n
         | 
| 118 | 
            +
                  \                   <xsd:element name=\"Value\"/>\n                    <xsd:element
         | 
| 119 | 
            +
                  name=\"FmtValue\" type=\"xsd:string\"/>\n                    <xsd:element name=\"BackColor\"
         | 
| 120 | 
            +
                  type=\"xsd:unsignedInt\"/>\n                    <xsd:element name=\"ForeColor\"
         | 
| 121 | 
            +
                  type=\"xsd:unsignedInt\"/>\n                    <xsd:element name=\"FontName\"
         | 
| 122 | 
            +
                  type=\"xsd:string\"/>\n                    <xsd:element name=\"FontSize\" type=\"xsd:unsignedShort\"/>\n
         | 
| 123 | 
            +
                  \                   <xsd:element name=\"FontFlags\" type=\"xsd:unsignedInt\"/>\n
         | 
| 124 | 
            +
                  \                   <xsd:element name=\"FormatString\" type=\"xsd:string\"/>\n
         | 
| 125 | 
            +
                  \                   <xsd:element name=\"NonEmptyBehavior\" type=\"xsd:unsignedShort\"/>\n
         | 
| 126 | 
            +
                  \                   <xsd:element name=\"SolveOrder\" type=\"xsd:unsignedInt\"/>\n
         | 
| 127 | 
            +
                  \                   <xsd:element name=\"Updateable\" type=\"xsd:unsignedInt\"/>\n
         | 
| 128 | 
            +
                  \                   <xsd:element name=\"Visible\" type=\"xsd:unsignedInt\"/>\n
         | 
| 129 | 
            +
                  \                   <xsd:element name=\"Expression\" type=\"xsd:string\"/>\n
         | 
| 130 | 
            +
                  \                 </xsd:choice>\n                </xsd:sequence>\n                <xsd:attribute
         | 
| 131 | 
            +
                  name=\"CellOrdinal\" type=\"xsd:unsignedInt\" use=\"required\"/>\n              </xsd:complexType>\n
         | 
| 132 | 
            +
                  \           </xsd:element>\n          </xsd:sequence>\n        </xsd:complexType>\n
         | 
| 133 | 
            +
                  \       <xsd:element name=\"root\">\n          <xsd:complexType>\n            <xsd:sequence
         | 
| 134 | 
            +
                  maxOccurs=\"unbounded\">\n              <xsd:element name=\"OlapInfo\" type=\"OlapInfo\"/>\n
         | 
| 135 | 
            +
                  \             <xsd:element name=\"Axes\" type=\"Axes\"/>\n              <xsd:element
         | 
| 136 | 
            +
                  name=\"CellData\" type=\"CellData\"/>\n            </xsd:sequence>\n          </xsd:complexType>\n
         | 
| 137 | 
            +
                  \       </xsd:element>\n      </xsd:schema>\n      <OlapInfo>\n        <CubeInfo>\n
         | 
| 138 | 
            +
                  \         <Cube>\n            <CubeName>Kvarovi</CubeName>\n          </Cube>\n
         | 
| 139 | 
            +
                  \       </CubeInfo>\n        <AxesInfo>\n          <AxisInfo name=\"Axis0\">\n
         | 
| 140 | 
            +
                  \           <HierarchyInfo name=\"Measures\">\n              <UName name=\"[Measures].[MEMBER_UNIQUE_NAME]\"/>\n
         | 
| 141 | 
            +
                  \             <Caption name=\"[Measures].[MEMBER_CAPTION]\"/>\n              <LName
         | 
| 142 | 
            +
                  name=\"[Measures].[LEVEL_UNIQUE_NAME]\"/>\n              <LNum name=\"[Measures].[LEVEL_NUMBER]\"/>\n
         | 
| 143 | 
            +
                  \             <DisplayInfo name=\"[Measures].[DISPLAY_INFO]\"/>\n            </HierarchyInfo>\n
         | 
| 144 | 
            +
                  \         </AxisInfo>\n          <AxisInfo name=\"SlicerAxis\">\n            <HierarchyInfo
         | 
| 145 | 
            +
                  name=\"Vrijeme prijave\">\n              <UName name=\"[Vrijeme prijave].[MEMBER_UNIQUE_NAME]\"/>\n
         | 
| 146 | 
            +
                  \             <Caption name=\"[Vrijeme prijave].[MEMBER_CAPTION]\"/>\n              <LName
         | 
| 147 | 
            +
                  name=\"[Vrijeme prijave].[LEVEL_UNIQUE_NAME]\"/>\n              <LNum name=\"[Vrijeme
         | 
| 148 | 
            +
                  prijave].[LEVEL_NUMBER]\"/>\n              <DisplayInfo name=\"[Vrijeme prijave].[DISPLAY_INFO]\"/>\n
         | 
| 149 | 
            +
                  \           </HierarchyInfo>\n          </AxisInfo>\n        </AxesInfo>\n        <CellInfo>\n
         | 
| 150 | 
            +
                  \         <Value name=\"VALUE\"/>\n          <FmtValue name=\"FORMATTED_VALUE\"/>\n
         | 
| 151 | 
            +
                  \         <FormatString name=\"FORMAT_STRING\"/>\n        </CellInfo>\n      </OlapInfo>\n
         | 
| 152 | 
            +
                  \     <Axes>\n        <Axis name=\"Axis0\">\n          <Tuples>\n            <Tuple>\n
         | 
| 153 | 
            +
                  \             <Member Hierarchy=\"Measures\">\n                <UName>[Measures].[Rok
         | 
| 154 | 
            +
                  otklona]</UName>\n                <Caption>Rok otklona</Caption>\n                <LName>[Measures].[MeasuresLevel]</LName>\n
         | 
| 155 | 
            +
                  \               <LNum>0</LNum>\n                <DisplayInfo>0</DisplayInfo>\n
         | 
| 156 | 
            +
                  \             </Member>\n            </Tuple>\n          </Tuples>\n        </Axis>\n
         | 
| 157 | 
            +
                  \       <Axis name=\"SlicerAxis\">\n          <Tuples>\n            <Tuple>\n
         | 
| 158 | 
            +
                  \             <Member Hierarchy=\"Vrijeme prijave\">\n                <UName>[Time].[2011]</UName>\n
         | 
| 159 | 
            +
                  \               <Caption>2011</Caption>\n                <LName>[Time].[Godina]</LName>\n
         | 
| 160 | 
            +
                  \               <LNum>1</LNum>\n                <DisplayInfo>12</DisplayInfo>\n
         | 
| 161 | 
            +
                  \             </Member>\n            </Tuple>\n          </Tuples>\n        </Axis>\n
         | 
| 162 | 
            +
                  \     </Axes>\n      <CellData>\n        <Cell CellOrdinal=\"0\">\n          <Value
         | 
| 163 | 
            +
                  xsi:type=\"xsd:double\">7.356</Value>\n          <FmtValue>7.356</FmtValue>\n
         | 
| 164 | 
            +
                  \         <FormatString/>\n        </Cell>\n      </CellData>\n    </root>\n
         | 
| 165 | 
            +
                  \ </cxmla:return>\n</cxmla:ExecuteResponse>\n</SOAP-ENV:Body>\n</SOAP-ENV:Envelope>\n"
         | 
| 166 | 
            +
                http_version: '1.1'
         | 
    
        data/spec/cube_spec.rb
    CHANGED
    
    | @@ -58,7 +58,7 @@ describe XMLA::Cube do | |
| 58 58 | 
             
                end
         | 
| 59 59 | 
             
              end
         | 
| 60 60 |  | 
| 61 | 
            -
              it'should connect to mondrian' do
         | 
| 61 | 
            +
              it 'should connect to mondrian' do
         | 
| 62 62 | 
             
                configure_mondrian
         | 
| 63 63 |  | 
| 64 64 | 
             
               VCR.use_cassette('mondrian_broj_intervencija') do
         | 
| @@ -69,7 +69,7 @@ describe XMLA::Cube do | |
| 69 69 | 
             
               end
         | 
| 70 70 | 
             
              end
         | 
| 71 71 |  | 
| 72 | 
            -
              it'should handle the case with only one row in result' do
         | 
| 72 | 
            +
              it 'should handle the case with only one row in result' do
         | 
| 73 73 | 
             
               configure_mondrian
         | 
| 74 74 |  | 
| 75 75 | 
             
               VCR.use_cassette('mondrian_jedan_red_odgovor') do
         | 
| @@ -85,7 +85,7 @@ describe XMLA::Cube do | |
| 85 85 | 
             
              end
         | 
| 86 86 |  | 
| 87 87 |  | 
| 88 | 
            -
              it'should handle the case with zero rows in result' do
         | 
| 88 | 
            +
              it 'should handle the case with zero rows in result' do
         | 
| 89 89 | 
             
               configure_mondrian
         | 
| 90 90 |  | 
| 91 91 | 
             
               VCR.use_cassette('mondrian_nula_redaka') do
         | 
| @@ -99,5 +99,19 @@ describe XMLA::Cube do | |
| 99 99 | 
             
               end
         | 
| 100 100 | 
             
              end
         | 
| 101 101 |  | 
| 102 | 
            +
              it 'should handle when scalar value is returned' do
         | 
| 103 | 
            +
               configure_mondrian
         | 
| 104 | 
            +
             | 
| 105 | 
            +
               VCR.use_cassette('mondrian_scalar_value') do
         | 
| 106 | 
            +
               result = XMLA::Cube.execute <<-MDX
         | 
| 107 | 
            +
                   SELECT {Hierarchize({[Measures].[Rok otklona]})} ON COLUMNS
         | 
| 108 | 
            +
                   FROM [Kvarovi]
         | 
| 109 | 
            +
                   WHERE [Vrijeme prijave].[2011]
         | 
| 110 | 
            +
                MDX
         | 
| 111 | 
            +
                result.size.should == 1
         | 
| 112 | 
            +
                result[0].should == "7.356"
         | 
| 113 | 
            +
               end
         | 
| 114 | 
            +
             | 
| 115 | 
            +
              end
         | 
| 102 116 |  | 
| 103 117 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: cube
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.2. | 
| 4 | 
            +
              version: 1.2.1
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,11 +9,11 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012-02- | 
| 12 | 
            +
            date: 2012-02-17 00:00:00.000000000Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: savon
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &70127395026240 !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ! '>='
         | 
| @@ -21,10 +21,10 @@ dependencies: | |
| 21 21 | 
             
                    version: '0'
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: * | 
| 24 | 
            +
              version_requirements: *70127395026240
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: webmock
         | 
| 27 | 
            -
              requirement: & | 
| 27 | 
            +
              requirement: &70127395025680 !ruby/object:Gem::Requirement
         | 
| 28 28 | 
             
                none: false
         | 
| 29 29 | 
             
                requirements:
         | 
| 30 30 | 
             
                - - ! '>='
         | 
| @@ -32,10 +32,10 @@ dependencies: | |
| 32 32 | 
             
                    version: '0'
         | 
| 33 33 | 
             
              type: :runtime
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements: * | 
| 35 | 
            +
              version_requirements: *70127395025680
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: guerrilla_patch
         | 
| 38 | 
            -
              requirement: & | 
| 38 | 
            +
              requirement: &70127395024960 !ruby/object:Gem::Requirement
         | 
| 39 39 | 
             
                none: false
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - ! '>='
         | 
| @@ -43,10 +43,10 @@ dependencies: | |
| 43 43 | 
             
                    version: '0'
         | 
| 44 44 | 
             
              type: :runtime
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *70127395024960
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: vcr
         | 
| 49 | 
            -
              requirement: & | 
| 49 | 
            +
              requirement: &70127395024440 !ruby/object:Gem::Requirement
         | 
| 50 50 | 
             
                none: false
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - ! '>='
         | 
| @@ -54,10 +54,10 @@ dependencies: | |
| 54 54 | 
             
                    version: '0'
         | 
| 55 55 | 
             
              type: :development
         | 
| 56 56 | 
             
              prerelease: false
         | 
| 57 | 
            -
              version_requirements: * | 
| 57 | 
            +
              version_requirements: *70127395024440
         | 
| 58 58 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 59 59 | 
             
              name: rspec
         | 
| 60 | 
            -
              requirement: & | 
| 60 | 
            +
              requirement: &70127395023920 !ruby/object:Gem::Requirement
         | 
| 61 61 | 
             
                none: false
         | 
| 62 62 | 
             
                requirements:
         | 
| 63 63 | 
             
                - - ~>
         | 
| @@ -65,10 +65,10 @@ dependencies: | |
| 65 65 | 
             
                    version: 2.3.0
         | 
| 66 66 | 
             
              type: :development
         | 
| 67 67 | 
             
              prerelease: false
         | 
| 68 | 
            -
              version_requirements: * | 
| 68 | 
            +
              version_requirements: *70127395023920
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 70 | 
             
              name: bundler
         | 
| 71 | 
            -
              requirement: & | 
| 71 | 
            +
              requirement: &70127395023320 !ruby/object:Gem::Requirement
         | 
| 72 72 | 
             
                none: false
         | 
| 73 73 | 
             
                requirements:
         | 
| 74 74 | 
             
                - - ~>
         | 
| @@ -76,10 +76,10 @@ dependencies: | |
| 76 76 | 
             
                    version: 1.0.0
         | 
| 77 77 | 
             
              type: :development
         | 
| 78 78 | 
             
              prerelease: false
         | 
| 79 | 
            -
              version_requirements: * | 
| 79 | 
            +
              version_requirements: *70127395023320
         | 
| 80 80 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 81 81 | 
             
              name: jeweler
         | 
| 82 | 
            -
              requirement: & | 
| 82 | 
            +
              requirement: &70127395022740 !ruby/object:Gem::Requirement
         | 
| 83 83 | 
             
                none: false
         | 
| 84 84 | 
             
                requirements:
         | 
| 85 85 | 
             
                - - ~>
         | 
| @@ -87,7 +87,7 @@ dependencies: | |
| 87 87 | 
             
                    version: 1.6.4
         | 
| 88 88 | 
             
              type: :development
         | 
| 89 89 | 
             
              prerelease: false
         | 
| 90 | 
            -
              version_requirements: * | 
| 90 | 
            +
              version_requirements: *70127395022740
         | 
| 91 91 | 
             
            description: Eases the pain I had to go through to get to the data out of XMLA based
         | 
| 92 92 | 
             
              OLAP provider
         | 
| 93 93 | 
             
            email: kresimir.bojcic@gmail.com
         | 
| @@ -116,6 +116,8 @@ files: | |
| 116 116 | 
             
            - spec/cassettes/mondrian_broj_intervencija.yml
         | 
| 117 117 | 
             
            - spec/cassettes/mondrian_jedan_red_odgovor.yml
         | 
| 118 118 | 
             
            - spec/cassettes/mondrian_nula_redaka.yml
         | 
| 119 | 
            +
            - spec/cassettes/mondrian_scalar_value.yml
         | 
| 120 | 
            +
            - spec/cassettes/mondrian_vrati_samo_jedan_broj.yml
         | 
| 119 121 | 
             
            - spec/cassettes/razlog_prijave_i_kvart.yml
         | 
| 120 122 | 
             
            - spec/cube_spec.rb
         | 
| 121 123 | 
             
            - spec/spec_helper.rb
         | 
| @@ -134,7 +136,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 134 136 | 
             
                  version: '0'
         | 
| 135 137 | 
             
                  segments:
         | 
| 136 138 | 
             
                  - 0
         | 
| 137 | 
            -
                  hash:  | 
| 139 | 
            +
                  hash: 1611623706615328168
         | 
| 138 140 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 139 141 | 
             
              none: false
         | 
| 140 142 | 
             
              requirements:
         |