### Home Classes Methods

### In Files

- lib/github_api/params_hash.rb

### Parent

DelegateClass(Hash)

### Methods

- ::new
- #accept
- #data
- #media
- #merge_default
- #options
- #strict_encode64

### Included Modules

- Github::Normalizer
- Github::MimeType

### Class/Module Index

Quicksearch

- Github
- Github::API
- Github::Activity
- Github::Activity::Events
- Github::Activity::Notifications
- Github::Activity::Starring
- Github::Activity::Watching
- Github::ApiFactory
- Github::Arguments
- Github::Authorization
- Github::Authorizations
- Github::AutoloadHelper
- Github::Client
- Github::Configuration
- Github::Connection
- Github::Constants
- Github::CoreExt
- Github::CoreExt::OrderedHash
- Github::Descendants
- Github::Emojis
- Github::Error
- Github::Error::BadRequest
- Github::Error::ClientError
- Github::Error::Forbidden
- Github::Error::GithubError
- Github::Error::InternalServerError
- Github::Error::InvalidOptions
- Github::Error::NotAcceptable
- Github::Error::NotFound
- Github::Error::RequiredParams
- Github::Error::ServiceError
- Github::Error::ServiceUnavailable
- Github::Error::Unauthorized
- Github::Error::UnknownValue
- Github::Error::UnprocessableEntity
- Github::Error::Validations
- Github::Gists
- Github::Gists::Comments
- Github::GitData
- Github::GitData::Blobs
- Github::GitData::Commits
- Github::GitData::References
- Github::GitData::Tags
- Github::GitData::Trees
- Github::Gitignore
- Github::Issues
- Github::Issues::Assignees
- Github::Issues::Comments
- Github::Issues::Events
- Github::Issues::Labels
- Github::Issues::Milestones
- Github::Jsonable
- Github::Markdown
- Github::Meta
- Github::MimeType
- Github::Normalizer
- Github::Orgs
- Github::Orgs::Members
- Github::Orgs::Teams
- Github::PageIterator
- Github::PageLinks
- Github::PagedRequest
- Github::Pagination
- Github::ParameterFilter
- Github::ParamsHash
- Github::PullRequests
- Github::PullRequests::Comments
- Github::RateLimit
- Github::Repos
- Github::Repos::Collaborators
- Github::Repos::Comments
- Github::Repos::Commits
- Github::Repos::Contents
- Github::Repos::Downloads
- Github::Repos::Forks
- Github::Repos::Hooks
- Github::Repos::Keys
- Github::Repos::Merging
- Github::Repos::PubSubHubbub
- Github::Repos::Statistics
- Github::Repos::Statuses
- Github::Request
- Github::Request::BasicAuth
- Github::Request::Jsonize
- Github::Request::OAuth2
- Github::Resource
- Github::Response
- Github::Response::Header
- Github::Response::Jsonize
- Github::Response::Mashify
- Github::Response::RaiseError
- Github::Response::Xmlize
- Github::ResponseWrapper
- Github::S3Uploader
- Github::Say
- Github::Scopes
- Github::Search
- Github::Users
- Github::Users::Emails
- Github::Users::Followers
- Github::Users::Keys
- Github::Utils
- Github::Utils::Url
- Github::VERSION
- Github::Validations
- Github::Validations::Format
- Github::Validations::Presence
- Github::Validations::Required
- Github::Validations::Token
- Hash

No matching classes.

# Github::ParamsHash

Class responsible for holding request parameters

### Public Class Methods

new(hash) click to toggle source

    # File lib/github_api/params_hash.rb, line 12
    def initialize(hash)
      super(normalize!(Hash[hash]))
    end

### Public Instance Methods

accept() click to toggle source

Return accept header if present

    # File lib/github_api/params_hash.rb, line 26
    def accept
      if has_key?('accept')
        self.delete('accept')
      elsif has_key?('media')
        media
      else
        nil
      end
    end

data() click to toggle source

Extract request data from paramters

    # File lib/github_api/params_hash.rb, line 38
    def data
      if has_key?('data') && !self['data'].nil?
        return self.delete('data')
      else
        return self.to_hash
      end
    end

media() click to toggle source

Extract and parse media type param

    [.version].param[+json]

    # File lib/github_api/params_hash.rb, line 20
    def media
      parse(self.delete('media'))
    end

merge_default(defaults) click to toggle source

Update hash with default parameters for non existing keys

    # File lib/github_api/params_hash.rb, line 60
    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

options() click to toggle source

Any client configuration options

    # File lib/github_api/params_hash.rb, line 48
    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

strict_encode64(key) click to toggle source

Base64 encode string removing newline characters

    # File lib/github_api/params_hash.rb, line 71
    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

[Validate]

Generated with the Darkfish Rdoc Generator 2.