Class: ChefAPI::Multipart::Body

Inherits:
Object
  • Object
show all
Defined in:
lib/chef-api/multipart.rb

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ Body

Returns a new instance of Body.



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/chef-api/multipart.rb', line 9

def initialize(params = {})
  params.each do |key, value|
    if value.respond_to?(:read)
      parts << FilePart.new(key, value)
    else
      parts << ParamPart.new(key, value)
    end
  end

  parts << EndingPart.new
end

Instance Method Details

#content_lengthObject



29
30
31
# File 'lib/chef-api/multipart.rb', line 29

def content_length
  parts.map(&:size).inject(:+)
end

#content_typeObject



25
26
27
# File 'lib/chef-api/multipart.rb', line 25

def content_type
  "multipart/form-data; boundary=#{BOUNDARY}"
end

#streamObject



21
22
23
# File 'lib/chef-api/multipart.rb', line 21

def stream
  MultiIO.new(*parts.map(&:io))
end