Class: ArchiveUploader::Curb

Inherits:
Object
  • Object
show all
Defined in:
lib/archive_uploader/curb.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Curb

Returns a new instance of Curb.



3
4
5
6
# File 'lib/archive_uploader/curb.rb', line 3

def initialize(options={})
  @options = options
  @curl = Curl::Easy.new(@options[:url])
end

Instance Method Details

#perform!Object



8
9
10
11
# File 'lib/archive_uploader/curb.rb', line 8

def perform!
  @curl.multipart_form_post = true
  @curl.http_post(*post_data)
end

#post_dataObject



13
14
15
16
17
18
# File 'lib/archive_uploader/curb.rb', line 13

def post_data
  fields = @options[:fields].collect do |field, value|
    Curl::PostField.content("file[#{field}]", value)
  end
  [Curl::PostField.file('file[file]', @options[:file])] + fields
end