class Github::ParamsHash
Class responsible for holding request parameters
def accept
Return accept header if present
def accept if has_key?('accept') self.delete('accept') elsif has_key?('media') media else nil end end
def data
Extract request data from paramters
def data if has_key?('data') && !self['data'].nil? return self.delete('data') else return self.to_hash end end
def initialize(hash)
def initialize(hash) super(normalize!(Hash[hash])) end
def media
[.version].param[+json]
Extract and parse media type param
def media parse(self.delete('media')) end
def merge_default(defaults)
Update hash with default parameters for non existing keys
def merge_default(defaults) if defaults && !defaults.empty? defaults.each do |key, value| self[key] = value unless self.has_key?(key) end end self end
def options
Any client configuration options
def options hash = has_key?('options') ? self.delete('options') : {} if value = accept hash[:headers] = {} unless hash.has_key?(:headers) hash[:headers]['Accept'] = value end hash[:raw] = has_key?('raw') ? self.delete('raw') : false hash end
def strict_encode64(key)
Base64 encode string removing newline characters
def strict_encode64(key) value = self[key] encoded = if Base64.respond_to?(:strict_encode64) Base64.strict_encode64(value) else [value].pack("m0") end self[key] = encoded.delete("\n\r") end