Module: SmsCarrier::TestCase::Behavior::ClassMethods

Defined in:
lib/sms_carrier/test_case.rb

Instance Method Summary collapse

Instance Method Details

#carrier_classObject



38
39
40
41
42
43
44
# File 'lib/sms_carrier/test_case.rb', line 38

def carrier_class
  if carrier = self._carrier_class
    carrier
  else
    tests determine_default_carrier(name)
  end
end

#determine_default_carrier(name) ⇒ Object



46
47
48
49
50
51
52
# File 'lib/sms_carrier/test_case.rb', line 46

def determine_default_carrier(name)
  carrier = determine_constant_from_test_name(name) do |constant|
    Class === constant && constant < SmsCarrier::Base
  end
  raise NonInferrableCarrierError.new(name) if carrier.nil?
  carrier
end

#tests(carrier) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/sms_carrier/test_case.rb', line 27

def tests(carrier)
  case carrier
  when String, Symbol
    self._carrier_class = carrier.to_s.camelize.constantize
  when Module
    self._carrier_class = carrier
  else
    raise NonInferrableCarrierError.new(carrier)
  end
end