class TableauRestApi::Upload

Public Class Methods

new(metadata, payload, boundary) click to toggle source
# File lib/tableau_rest_api/util/upload.rb, line 3
def initialize(metadata, payload, boundary)
  @metadata = metadata
  @payload = payload
  @boundary = boundary
end

Public Instance Methods

build(obj=:workbook) click to toggle source
# 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