Module: Shoulda::Private
- Included in:
- Macros
- Defined in:
- lib/shoulda/private_helpers.rb
Overview
:nodoc:
Instance Method Summary collapse
-
#get_options!(args, *wanted) ⇒ Object
Returns the values for the entries in the args hash who’s keys are listed in the wanted array.
Instance Method Details
#get_options!(args, *wanted) ⇒ Object
Returns the values for the entries in the args hash who’s keys are listed in the wanted array. Will raise if there are keys in the args hash that aren’t listed.
5 6 7 8 9 10 11 |
# File 'lib/shoulda/private_helpers.rb', line 5 def (args, *wanted) ret = [] opts = (args.last.is_a?(Hash) ? args.pop : {}) wanted.each {|w| ret << opts.delete(w)} raise ArgumentError, "Unsupported options given: #{opts.keys.join(', ')}" unless opts.keys.empty? return wanted.size == 1 ? ret.first : ret end |