Sha256: 5d196a13bae40cb2fce8b358eb2ac3ee87e89b32ee4c7b99d0bec94b8b5477b1
Contents?: true
Size: 794 Bytes
Versions: 80
Compression:
Stored size: 794 Bytes
Contents
module ThoughtBot # :nodoc: module Shoulda # :nodoc: module Private # :nodoc: # 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. 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 # Returns the model class constant, as determined by the test class name. # # class TestUser; model_class; end => User def model_class self.name.gsub(/Test$/, '').constantize end end end end
Version data entries
80 entries across 80 versions & 19 rubygems