Module: Github::ParameterFilter
- Included in:
- API::Arguments
- Defined in:
- lib/github_api2/parameter_filter.rb
Overview
Allows you to specify parameters keys which will be preserved in parameters hash and its subhashes. Any keys from the nested hash that do not match will be removed.
Instance Method Summary collapse
-
#filter!(keys, params, options = {:recursive => true}) ⇒ Object
Removes any keys from nested hashes that don’t match predefiend keys.
Instance Method Details
#filter!(keys, params, options = {:recursive => true}) ⇒ Object
Removes any keys from nested hashes that don’t match predefiend keys
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/github_api2/parameter_filter.rb', line 14 def filter!(keys, params, ={:recursive => true}) # :nodoc: case params when Hash, ParamsHash params.keys.each do |k, v| unless (keys.include?(k) or Github::Validations::VALID_API_KEYS.include?(k)) params.delete(k) else filter!(keys, params[k]) if [:recursive] end end when Array params.map! do |el| filter!(keys, el) if [:recursive] end else params end return params end |