sms_ctrl 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b206d958f801d49703d63ca1792cfc8ee61070a2
4
- data.tar.gz: a1f8b2d3b9d783c75ac69d02cb20f14a861165af
3
+ metadata.gz: 7015a9855c16a7687996793accbe7940b016e327
4
+ data.tar.gz: 7d6ade045f42129539669634a412e9a73bafe42c
5
5
  SHA512:
6
- metadata.gz: 7ae3d537666693570917ec8ce336c33ba66941a04cd4170f101192655bb4d6a88217c188a00835d2c770a9c0e425593ed6d936a5c8185b3563979555ad7f6bc7
7
- data.tar.gz: 7ff016e1427398088cb8ad42328ba1f4f6698733e454f89fc3f0ed061d6fa8cadd8d1b66b648bb7336c66b111108f14a9e61e7e67e8c139b03bb760d8e43d323
6
+ metadata.gz: 2af2c912a9ab56c4fb2f4a2770ca9c5c25e3033803ddd64431e38f69117127002c4986639cf15d1d5681280e8954056f7309407f2271d1bbc2c050a194cf3481
7
+ data.tar.gz: 83fc4a4f7bccf6e4430b66f71ce85f63f32d024f7113f0496c76c8ec14fbe07adc5188dbf51bc89177b0d687dee00bbd2136d121e845a52df3058f82ecf97a40
data/README.md CHANGED
@@ -24,14 +24,26 @@ Or install it yourself as:
24
24
  # confing/initializes/sms_ctrl.rb
25
25
 
26
26
  # 设置debug模式,所有验证码都是123456,不会走sender
27
-
28
27
  SmsCtrl.debug = true
29
28
 
30
29
  # 设置cache,需要支持 read(key), write(key, expires_in: 10)
31
- # SmsCtrl.cache = Rails.cache
32
-
33
- # 注册一个控制模块
34
-
30
+ SmsCtrl.cache = Rails.cache
31
+
32
+ # 设置默认配置,可以在case配置中覆盖
33
+ SmsCtrl.default_options = {
34
+ retry_limit: 55,
35
+ expires_in: 30 * 60,
36
+ mobile_regexp: /^1[3|4|5|7|8]\d{9}$/,
37
+ sender: -> (mobile, code, params) { warn "No message sender set for case #{@name}" },
38
+ }
39
+
40
+ # 设置默认错误,可以在case配置中覆盖
41
+ SmsCtrl.default_errors = {
42
+ illegal_mobile: '请输入正确的手机号码',
43
+ retry_limit: '操作太频繁,请稍后再试'
44
+ }
45
+
46
+ # 注册控制模块
35
47
  SmsCtrl.register( "register_user", {
36
48
  # retry_limit: 55,
37
49
  # expires: 30 * 60,
@@ -49,16 +61,17 @@ SmsCtrl.register( "user_reset_password", {
49
61
  })
50
62
 
51
63
  # 发送验证码
52
-
53
- SmsCtrl.send_sms(mobile, code, params)
64
+ SmsCtrl["register_user"].send_sms(mobile, code, params)
65
+ SmsCtrl["user_reset_password"].send_sms(mobile, code, params)
54
66
 
55
67
  # 检查验证码是否匹配
56
-
57
68
  SmsCtrl["register_user"].check_code "13000000000", '231232'
58
69
  SmsCtrl["user_reset_password"].check_code "13000000000", '231232'
59
70
 
60
- # SmsCtrl.set_default("register_user")
61
- # SmsCtrl.check_code "13000000000", '231232'
71
+ # 设置默认
72
+ SmsCtrl.set_default("register_user")
73
+ SmsCtrl.send_sms(mobile, code, params)
74
+ SmsCtrl.check_code "13000000000", '231232'
62
75
 
63
76
  ```
64
77
 
data/lib/sms_ctrl/case.rb CHANGED
@@ -1,28 +1,11 @@
1
1
  module SmsCtrl
2
2
  class Case
3
3
  attr_accessor :retry_limit, :expires_in,
4
- :mobile_regexp, :sender,
5
- :errors
6
-
7
- def default_options
8
- {
9
- retry_limit: 55,
10
- expires_in: 30 * 60,
11
- mobile_regexp: /^1[3|4|5|7|8]\d{9}$/,
12
- sender: -> (mobile, code, params) { warn "No message sender set for case #{@name}" },
13
- }
14
- end
15
-
16
- def default_errors
17
- {
18
- illegal_mobile: '请输入正确的手机号码',
19
- retry_limit: '操作太频繁,请稍后再试'
20
- }
21
- end
4
+ :mobile_regexp, :sender, :errors
22
5
 
23
6
  def initialize name, options = {}
24
7
  @name = name
25
- options = default_options.merge(options)
8
+ options = SmsCtrl.default_options.merge(options)
26
9
 
27
10
  self.retry_limit = options[:retry_limit]
28
11
  self.expires_in = options[:expires_in]
@@ -30,9 +13,9 @@ module SmsCtrl
30
13
  self.sender = options[:sender]
31
14
 
32
15
  if options[:errors]
33
- self.errors = default_errors.merge(options[:errors])
16
+ self.errors = SmsCtrl.default_errors.merge(options[:errors])
34
17
  else
35
- self.errors = default_errors
18
+ self.errors = SmsCtrl.default_errors
36
19
  end
37
20
  end
38
21
 
@@ -1,3 +1,3 @@
1
1
  module SmsCtrl
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/sms_ctrl.rb CHANGED
@@ -6,7 +6,7 @@ module SmsCtrl
6
6
  @cases = {}
7
7
 
8
8
  class << self
9
- attr_accessor :debug, :cache
9
+ attr_accessor :debug, :cache, :default_options, :default_errors
10
10
 
11
11
  # 非线程安全,只应该用在单线程环境中配置,例如rails加载
12
12
  def register name, options
@@ -18,6 +18,22 @@ module SmsCtrl
18
18
  @default_case = new_case if @cases.size == 1
19
19
  end
20
20
 
21
+ def default_options
22
+ @default_options ||= {
23
+ retry_limit: 55,
24
+ expires_in: 30 * 60,
25
+ mobile_regexp: /^1[3|4|5|7|8]\d{9}$/,
26
+ sender: -> (mobile, code, params) { warn "No message sender set for case #{@name}" },
27
+ }
28
+ end
29
+
30
+ def default_errors
31
+ @default_errors ||= {
32
+ illegal_mobile: '请输入正确的手机号码',
33
+ retry_limit: '操作太频繁,请稍后再试'
34
+ }
35
+ end
36
+
21
37
  def clear
22
38
  @cases = {}
23
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sms_ctrl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - david
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-08-05 00:00:00.000000000 Z
11
+ date: 2016-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler