Module: Shoulda::Private

Included in:
Macros
Defined in:
lib/shoulda/private_helpers.rb

Overview

:nodoc:

Instance Method Summary collapse

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.

Raises:

  • (ArgumentError)


5
6
7
8
9
10
11
# File 'lib/shoulda/private_helpers.rb', line 5

def get_options!(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 *ret
end

#model_classObject

Returns the model class constant, as determined by the test class name.

class TestUser; model_class; end => User


16
17
18
# File 'lib/shoulda/private_helpers.rb', line 16

def model_class
  self.name.gsub(/Test$/, '').constantize
end