### Home Classes Methods

### In Files

- lib/github_api/utils/url.rb

### Methods

- #build_query
- #escape
- #escape_uri
- #parse_query
- #parse_query_for_param
- #unescape

### 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::Utils::Url

### Constants

DEFAULT_QUERY_SEP
KEY_VALUE_SEP

### Public Instance Methods

build_query(params) click to toggle source

    # File lib/github_api/utils/url.rb, line 19
    def build_query(params)
      params.map { |k, v|
        if v.class == Array
          build_query(v.map { |x| [k, x] })
        else
          v.nil? ? escape(k) : "#{escape(k)}=#{escape(v)}"
        end
      }.join("&")
    end

escape(s) click to toggle source

    # File lib/github_api/utils/url.rb, line 15
    def escape(s) CGI.escape(s.to_s) end

escape_uri(s) click to toggle source

    # File lib/github_api/utils/url.rb, line 13
    def escape_uri(s) Addressable::URI.escape(s.to_s) end

parse_query(query_string) click to toggle source

    # File lib/github_api/utils/url.rb, line 29
    def parse_query(query_string)
      return '' if query_string.nil? || query_string.empty?
      params = {}

      query_string.split(DEFAULT_QUERY_SEP).each do |part|
        k, v = part.split(KEY_VALUE_SEP, 2).map { |el| unescape(el) }

        if cur = params[k]
          if cur.class == Array
            params[k] << v
          else
            params[k] = [cur, v]
          end
        else
          params[k] = v
        end
      end
      params
    end

parse_query_for_param(query_string, name) click to toggle source

    # File lib/github_api/utils/url.rb, line 49
    def parse_query_for_param(query_string, name)
      parse_query(query_string).each do |key, val|
        return val.first if (name == key) && val.is_a?(Array)
        return val if (name == key)
      end
      return nil
    end

unescape(s) click to toggle source

    # File lib/github_api/utils/url.rb, line 17
    def unescape(s) CGI.unescape(s.to_s) end

[Validate]

Generated with the Darkfish Rdoc Generator 2.