module SmsCtrl

Constants

VERSION

Attributes

cache[RW]
debug[RW]
default_errors[RW]
default_options[RW]

Public Class Methods

[](name)
Alias for: get
check_code(*args) click to toggle source
# File lib/sms_ctrl.rb, line 63
def check_code *args
  if @default_case
    @default_case.check_code(*args)
  else
    raise 'no default case'
  end
end
clear() click to toggle source
# File lib/sms_ctrl.rb, line 37
def clear
  @cases = {}
end
default() click to toggle source
# File lib/sms_ctrl.rb, line 51
def default
  @default_case
end
get(name) click to toggle source
# File lib/sms_ctrl.rb, line 41
def get name
  @cases[name.to_s]
end
Also aliased as: []
register(name, options) click to toggle source

非线程安全,只应该用在单线程环境中配置,例如rails加载

# File lib/sms_ctrl.rb, line 12
def register name, options
  name = name.to_s

  new_case = SmsCtrl::Case.new(name, options)
  @cases[name] = new_case

  @default_case = new_case if @cases.size == 1
end
send_sms(*args) click to toggle source
# File lib/sms_ctrl.rb, line 55
def send_sms *args
  if @default_case
    @default_case.send_sms(*args)
  else
    raise 'no default case'
  end
end
set_default(c) click to toggle source
# File lib/sms_ctrl.rb, line 47
def set_default c
  @default_case = @cases[c.to_s]
end