Module: ActiveSupport::CoreExtensions::Hash::Except
- Included in:
- Hash
- Defined in:
- lib/active_support/core_ext/hash/except.rb
Overview
Return a hash that includes everything but the given keys. This is useful for limiting a set of parameters to everything but a few known toggles:
@person.update_attributes(params[:person].except(:admin))
Instance Method Summary collapse
-
#except(*keys) ⇒ Object
Returns a new hash without the given keys.
-
#except!(*keys) ⇒ Object
Replaces the hash without only the given keys.
Instance Method Details
#except(*keys) ⇒ Object
Returns a new hash without the given keys.
12 13 14 15 |
# File 'lib/active_support/core_ext/hash/except.rb', line 12 def except(*keys) rejected = Set.new(respond_to?(:convert_key) ? keys.map { |key| convert_key(key) } : keys) reject { |key,| rejected.include?(key) } end |
#except!(*keys) ⇒ Object
Replaces the hash without only the given keys.
18 19 20 |
# File 'lib/active_support/core_ext/hash/except.rb', line 18 def except!(*keys) replace(except(*keys)) end |