Classes and Modules
Public Instance methods
encode(form_data)
[show source]
# File lib/httpx/transcoder/multipart.rb 35 def encode(form_data) 36 Encoder.new(form_data) 37 end
multipart?(form_data)
[show source]
# File lib/httpx/transcoder/multipart.rb 12 def multipart?(form_data) 13 form_data.any? do |_, v| 14 multipart_value?(v) || 15 (v.respond_to?(:to_ary) && v.to_ary.any? { |av| multipart_value?(av) }) || 16 (v.respond_to?(:to_hash) && v.to_hash.any? { |_, e| multipart_value?(e) }) 17 end 18 end
multipart_value?(value)
[show source]
# File lib/httpx/transcoder/multipart.rb 20 def multipart_value?(value) 21 value.respond_to?(:read) || 22 (value.is_a?(Hash) && 23 value.key?(:body) && 24 (value.key?(:filename) || value.key?(:content_type))) 25 end
normalize_keys(key, value, transcoder = self, &block)
[show source]
# File lib/httpx/transcoder/multipart.rb 27 def normalize_keys(key, value, transcoder = self, &block) 28 if multipart_value?(value) 29 block.call(key.to_s, value) 30 else 31 HTTPX::Transcoder.normalize_keys(key, value, transcoder, &block) 32 end 33 end