class Github::ParamsHash
Class responsible for holding request parameters
def self.empty
- Api: - public
def self.empty new({}) end
def accept
- Api: - public
def accept if key?('accept') then self['accept'] elsif key?('media') then media else nil end end
def data
- Api: - public
def data if key?('data') && !self['data'].nil? self['data'] else request_params end end
def encoder
def encoder if key?('encoder') && self['encoder'] self['encoder'] else {} end end
def initialize(hash)
def initialize(hash) super(normalize!(Hash[hash])) end
def media
- Api: - public
def media parse(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.key?(key) end end self end
def options
- Api: - public
Returns:
-
(Hash)
-
def options opts = fetch('options', {}) headers = fetch('headers', {}) if value = accept headers[:accept] = value end if self['content_type'] headers[:content_type] = self['content_type'] end opts[:raw] = key?('raw') ? self['raw'] : false opts[:headers] = headers unless headers.empty? opts end
def request_params
- Api: - public
def request_params to_hash.select do |key, value| !REQUEST_PARAMS.include?(key.to_sym) end end
def strict_encode64(key)
- Api: - public
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