Class: PlateApi::PostMultipartRequest

Inherits:
Request
  • Object
show all
Defined in:
lib/plate_api/post_multipart_request.rb

Constant Summary collapse

HttpAdapter =
:net_http

Constants inherited from Request

Request::DefaultApiBaseEndpoint

Instance Method Summary collapse

Methods inherited from Request

#calculate_signature, #execute, #request_date

Constructor Details

#initialize(public_key, secret, path, parameters = {}, custom_server = nil) ⇒ PostMultipartRequest

Returns a new instance of PostMultipartRequest.



8
9
10
11
12
# File 'lib/plate_api/post_multipart_request.rb', line 8

def initialize(public_key, secret, path, parameters={}, custom_server=nil)
  super(public_key, secret, "POST", path, custom_server)

  @post_parameters = map_parameters(parameters)
end

Instance Method Details

#extra_builder_options(builder) ⇒ Object



14
15
16
17
# File 'lib/plate_api/post_multipart_request.rb', line 14

def extra_builder_options(builder)
  builder.request :multipart
 builder.request :url_encoded
end

#extra_request_options(request) ⇒ Object



19
20
21
# File 'lib/plate_api/post_multipart_request.rb', line 19

def extra_request_options(request)
  request.body = @post_parameters
end

#map_parameters(parameters) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/plate_api/post_multipart_request.rb', line 23

def map_parameters(parameters)
  parameters.keys.each do |key|
    val = parameters[key]
    if val.is_a? File
      full_path = File.expand_path(val)
      mime_type = MimeMagic.by_path(full_path).type
      parameters[key] = Faraday::UploadIO.new(full_path, mime_type)
    end
  end

  return parameters
end