sms_ctrl 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|