class Passety::Upload

Public Class Methods

new(wrapper) click to toggle source
# File lib/passety/upload.rb, line 3
def initialize(wrapper)
  @wrapper = wrapper
end

Public Instance Methods

create(params) click to toggle source
# File lib/passety/upload.rb, line 7
def create(params)
  @wrapper.perform_request { |c| c.post('/uploads', &upload_file(params)) }
end

Private Instance Methods

upload_file(params) click to toggle source
# File lib/passety/upload.rb, line 12
def upload_file(params)
  file = params.delete(:file)
  proc do |req|
    req.url(url_with_params(params))
    req.body = file.tempfile.read
    req.headers['Content-Type'] = file.content_type
    req.headers['Content-Disposition'] = "attachment; filename=\"#{file.original_filename}\""
  end unless file.nil?
end
url_with_params(params) click to toggle source
# File lib/passety/upload.rb, line 22
def url_with_params(params)
  uri = URI.parse('/uploads')
  uri.query = URI.encode_www_form(params)
  uri
end