Object
Request arguments handler
Takes api, filters and required arguments
: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
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
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 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
Remove unkown keys from parameters hash.
: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
Generated with the Darkfish Rdoc Generator 2.