Class: TableauRestApi::Upload

Inherits:
Object
  • Object
show all
Defined in:
lib/tableau_rest_api/util/upload.rb

Instance Method Summary collapse

Constructor Details

#initialize(metadata, payload, boundary) ⇒ Upload

Returns a new instance of Upload.



3
4
5
6
7
# File 'lib/tableau_rest_api/util/upload.rb', line 3

def initialize(, payload, boundary)
  @metadata = 
  @payload = payload
  @boundary = boundary
end

Instance Method Details

#build(obj = :workbook) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/tableau_rest_api/util/upload.rb', line 9

def build(obj=:workbook)
  <<-END
    --#{@boundary}\r
    Content-Disposition: name="request_payload"\r
    Content-Type: text/xml\r
    \r
    <tsRequest>\r
      <#{obj} name="#{@metadata[:name]}">\r
        <project id="#{@metadata[:project]}"/>\r
      </#{obj}>\r
    </tsRequest>\r
    --#{@boundary}\r
    Content-Disposition: name="tableau_#{obj}"; filename="#{@payload[:filename]}"\r
    Content-Type: application/octet-stream\r
    \r
    #{@payload[:data]}\r
    --#{@boundary}--\r
  END
end