Parent

Class/Module Index [+]

Quicksearch

Github::Arguments

Request arguments handler

Constants

AUTO_PAGINATION

Attributes

api[R]

The request api

params[R]

Parameters passed to request

remaining[R]

Public Class Methods

new(api, options={}) click to toggle source

Takes api, filters and required arguments

Parameters

:required - arguments that must be present before request is fired
# File lib/github_api/arguments.rb, line 36
def initialize(api, options={})
  normalize! options
  @api      = api
  @required = options.fetch('required', []).map(&:to_s)
  @optional = options.fetch('optional', []).map(&:to_s)
end

Public Instance Methods

assert_required(required) click to toggle source

Check if required keys are present inside parameters hash.

# File lib/github_api/arguments.rb, line 75
def assert_required(required)
  assert_required_keys required, params
  self
end
assert_values(values, key=nil) click to toggle source

Check if parameters match expected values.

# File lib/github_api/arguments.rb, line 82
def assert_values(values, key=nil)
  assert_valid_values values, (key.nil? ? params : params[key])
  self
end
parse(*args, &block) click to toggle source

Parse arguments to allow for flexible api calls. Arguments can be part of parameters hash or be simple string arguments.

# File lib/github_api/arguments.rb, line 46
def parse(*args, &block)
  options = ParamsHash.new(args.extract_options!)
  normalize! options

  if !args.size.zero?
    parse_arguments *args
  else
    # Arguments are inside the parameters hash
    parse_options options
  end
  @params = options
  @remaining = extract_remaining(args)
  extract_pagination(options)
  yield_or_eval(&block)
  self
end
sift(keys, key=nil, options={}) click to toggle source

Remove unkown keys from parameters hash.

Parameters

:recursive - boolean that toggles whether nested filtering should be applied
# File lib/github_api/arguments.rb, line 68
def sift(keys, key=nil, options={})
  filter! keys, (key.nil? ? params : params[key]), options if keys.any?
  self
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.