Module: SmsCtrl

Defined in:
lib/sms_ctrl.rb,
lib/sms_ctrl/case.rb,
lib/sms_ctrl/version.rb

Defined Under Namespace

Classes: Case

Constant Summary collapse

VERSION =
"0.1.2"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.cacheObject

Returns the value of attribute cache.



9
10
11
# File 'lib/sms_ctrl.rb', line 9

def cache
  @cache
end

.debugObject

Returns the value of attribute debug.



9
10
11
# File 'lib/sms_ctrl.rb', line 9

def debug
  @debug
end

.default_errorsObject

Returns the value of attribute default_errors.



9
10
11
# File 'lib/sms_ctrl.rb', line 9

def default_errors
  @default_errors
end

.default_optionsObject

Returns the value of attribute default_options.



9
10
11
# File 'lib/sms_ctrl.rb', line 9

def default_options
  @default_options
end

Class Method Details

.check_code(*args) ⇒ Object



63
64
65
66
67
68
69
# 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

.clearObject



37
38
39
# File 'lib/sms_ctrl.rb', line 37

def clear
  @cases = {}
end

.defaultObject



51
52
53
# File 'lib/sms_ctrl.rb', line 51

def default
  @default_case
end

.get(name) ⇒ Object Also known as: []



41
42
43
# File 'lib/sms_ctrl.rb', line 41

def get name
  @cases[name.to_s]
end

.register(name, options) ⇒ Object

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



12
13
14
15
16
17
18
19
# 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) ⇒ Object



55
56
57
58
59
60
61
# 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) ⇒ Object



47
48
49
# File 'lib/sms_ctrl.rb', line 47

def set_default c
  @default_case = @cases[c.to_s]
end