class Spout::Helpers::SendFile

Attributes

url[R]

Public Class Methods

new(url, filename, version, token, slug, folder) click to toggle source
# File lib/spout/helpers/send_file.rb, line 18
def initialize(url, filename, version, token, slug, folder)
  @params = {}
  @params["version"] = version
  @params["auth_token"] = token if token
  @params["dataset"] = slug if slug
  @params["folder"] = folder if folder
  begin
    file = File.open(filename, "rb")
    @params["file"] = file

    mp = Multipart::MultipartPost.new
    @query, @headers = mp.prepare_query(@params)
  ensure
    file.close if file
  end

  begin
    @url = URI.parse(url)

    @http = Net::HTTP.new(@url.host, @url.port)
    if @url.scheme == "https"
      @http.use_ssl = true
      @http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    end
  rescue
  end
end
post(*args) click to toggle source
# File lib/spout/helpers/send_file.rb, line 11
def post(*args)
  new(*args).post
end

Public Instance Methods

post() click to toggle source
# File lib/spout/helpers/send_file.rb, line 46
def post
  response = @http.start do |http|
    http.post(@url.path, @query, @headers)
  end
  JSON.parse(response.body)
rescue
  nil
end