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 +4 -4
- data/README.md +23 -10
- data/lib/sms_ctrl/case.rb +4 -21
- data/lib/sms_ctrl/version.rb +1 -1
- data/lib/sms_ctrl.rb +17 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7015a9855c16a7687996793accbe7940b016e327
|
4
|
+
data.tar.gz: 7d6ade045f42129539669634a412e9a73bafe42c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
#
|
61
|
-
|
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
|
|
data/lib/sms_ctrl/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2016-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|