class RestClient::Payload::Base
Public Class Methods
new(params)
click to toggle source
# File lib/restclient/payload.rb, line 52 def initialize(params) build_stream(params) end
Public Instance Methods
build_stream(params)
click to toggle source
# File lib/restclient/payload.rb, line 56 def build_stream(params) @stream = StringIO.new(params) @stream.seek(0) end
close()
click to toggle source
# File lib/restclient/payload.rb, line 108 def close @stream.close unless @stream.closed? end
flatten_params(params, parent_key = nil)
click to toggle source
Flatten parameters by converting hashes of hashes to flat hashes {keys1 => {keys2 => value}} will be transformed into [keys1, value]
# File lib/restclient/payload.rb, line 69 def flatten_params(params, parent_key = nil) result = [] params.each do |key, value| calculated_key = parent_key ? "#{parent_key}[#{handle_key(key)}]" : handle_key(key) if value.is_a? Hash result += flatten_params(value, calculated_key) elsif value.is_a? Array result += flatten_params_array(value, calculated_key) else result << [calculated_key, value] end end result end
flatten_params_array(value, calculated_key)
click to toggle source
# File lib/restclient/payload.rb, line 84 def flatten_params_array value, calculated_key result = [] value.each do |elem| if elem.is_a? Hash result += flatten_params(elem, calculated_key) elsif elem.is_a? Array result += flatten_params_array(elem, calculated_key) else result << ["#{calculated_key}[]", elem] end end result end
headers()
click to toggle source
# File lib/restclient/payload.rb, line 98 def headers {'Content-Length' => size.to_s} end
inspect()
click to toggle source
# File lib/restclient/payload.rb, line 112 def inspect result = to_s.inspect @stream.seek(0) result end
read(bytes=nil)
click to toggle source
# File lib/restclient/payload.rb, line 61 def read(bytes=nil) @stream.read(bytes) end
Also aliased as: to_s
short_inspect()
click to toggle source
# File lib/restclient/payload.rb, line 118 def short_inspect (size > 500 ? "#{size} byte(s) length" : inspect) end
size()
click to toggle source
# File lib/restclient/payload.rb, line 102 def size @stream.size end
Also aliased as: length