aliyun-cloud_sms 0.1.0 → 0.2.3
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 +5 -5
- data/README-CN.md +76 -0
- data/README.md +34 -11
- data/aliyun-cloud_sms.gemspec +6 -5
- data/lib/aliyun/cloud_sms.rb +4 -0
- data/lib/aliyun/cloud_sms/client.rb +11 -60
- data/lib/aliyun/cloud_sms/configure.rb +0 -9
- data/lib/aliyun/cloud_sms/request/base.rb +83 -0
- data/lib/aliyun/cloud_sms/request/message_query.rb +34 -0
- data/lib/aliyun/cloud_sms/request/message_send.rb +33 -0
- data/lib/aliyun/cloud_sms/version.rb +1 -1
- metadata +32 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e612e52b12df1e0e0844d6e26c07d64254e4e4d7d1eb08651f42856da2cfe100
|
4
|
+
data.tar.gz: 4b94663bb3d165ca6f2c66bc0cea5cbdda15ee3952fdf6f23e05812dfdccdc34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eba02ca3f118aa4a7763e56680b743fcf92eff86dc5f877337caf70ce94786624d801541117fc19df72b561d327d6380a08d9336abf8c676c228a492a06ab6e7
|
7
|
+
data.tar.gz: 240b77b892f5fa1efbbd988f01fbd73c96a362c806c9c9014f8bf5fd78a63021b636927413c06b022f7ded5d98128c95d56e984640d59387ddec358ff40de3e0
|
data/README-CN.md
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
# Aliyun::CloudSms
|
2
|
+
|
3
|
+
基于阿里短信服务接口,支持短信发送与状态查询。
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
在项目的Gemfile里添加下面一行
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'aliyun-cloud_sms'
|
11
|
+
```
|
12
|
+
|
13
|
+
执行
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
或者你也可以
|
18
|
+
|
19
|
+
$ gem install aliyun-cloud_sms
|
20
|
+
|
21
|
+
## 构建客户端
|
22
|
+
|
23
|
+
### 全局客户端
|
24
|
+
在config/initializers目录添加一个文件`aliyun-cloud_sms.rb`
|
25
|
+
|
26
|
+
``` ruby
|
27
|
+
Aliyun::CloudSms.configure do |config|
|
28
|
+
config.access_key_secret = 'your key secret'
|
29
|
+
config.access_key_id = 'your key id'
|
30
|
+
config.sign_name = 'your sign name'
|
31
|
+
end
|
32
|
+
```
|
33
|
+
|
34
|
+
### 多账户支持
|
35
|
+
有的服务可能会需要给不同的应用发送。
|
36
|
+
```ruby
|
37
|
+
client = Aliyun::CloudSms.new('your_access_key_id', 'your_access_key_secret', 'your_sign_name')
|
38
|
+
|
39
|
+
client.send_msg('13800000000', 'SMS_80190090', {"customer": "jere"} )
|
40
|
+
```
|
41
|
+
|
42
|
+
#### 可选参数支持
|
43
|
+
```ruby
|
44
|
+
Aliyun::CloudSms.send_msg('13800000000', 'SMS_80190090', {"customer": "jere"}, {:OutId => '您的业务id', :smsUpExtendCode => '上行短信用的code'} )
|
45
|
+
```
|
46
|
+
|
47
|
+
## 接口
|
48
|
+
|
49
|
+
### 短信发送
|
50
|
+
如果是全局客户端, 可以使用:
|
51
|
+
```ruby
|
52
|
+
Aliyun::CloudSms.send_msg('13800000000', 'SMS_80190090', {"customer": "jere"} )
|
53
|
+
```
|
54
|
+
|
55
|
+
`template_params`可以传字符串,以多账户支持为例:
|
56
|
+
```ruby
|
57
|
+
client.send_msg('13800000000', 'SMS_80190090', "{\"customer\":\"jeremy\"}" )
|
58
|
+
```
|
59
|
+
### 状态查询
|
60
|
+
```ruby
|
61
|
+
client.query_status(mobile, send_date = "#{Time.now.strftime('%Y%m%d')}", biz_id = nil, page_size = 1, current_page = 1)
|
62
|
+
|
63
|
+
# e.g.
|
64
|
+
client.query_status '13800000000'
|
65
|
+
client.query_status '13800000000', '20170806'
|
66
|
+
client.query_status '13800000000', '20170806', '109177619494^4112265203597'
|
67
|
+
client.query_status '13800000000', '20170806', nil, 10
|
68
|
+
client.query_status '13800000000', '20170806', nil, 10, 2
|
69
|
+
```
|
70
|
+
## 贡献
|
71
|
+
|
72
|
+
欢迎PR。
|
73
|
+
|
74
|
+
|
75
|
+
## License
|
76
|
+
[MIT License](http://opensource.org/licenses/MIT).
|
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# Aliyun::CloudSms
|
2
2
|
|
3
|
-
|
3
|
+
This gem is used for sending sms via aliyun sms service, and querying the message status as well.
|
4
4
|
|
5
|
-
|
5
|
+
[中文文档 Chinese document](https://github.com/jerecui/aliyun-cloud_sms/blob/master/README-CN.md)
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
@@ -20,9 +20,9 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
$ gem install aliyun-cloud_sms
|
22
22
|
|
23
|
-
##
|
23
|
+
## Construct a client
|
24
24
|
|
25
|
-
### Global
|
25
|
+
### Global account
|
26
26
|
Create file aliyun-cloud_sms.rb to your config/initializers.
|
27
27
|
``` ruby
|
28
28
|
Aliyun::CloudSms.configure do |config|
|
@@ -30,23 +30,45 @@ Aliyun::CloudSms.configure do |config|
|
|
30
30
|
config.access_key_id = 'your key id'
|
31
31
|
config.sign_name = 'your sign name'
|
32
32
|
end
|
33
|
+
```
|
34
|
+
### Multiple account support
|
35
|
+
If you want to send message with multiple sign name, you can build your own message sender client.
|
36
|
+
```ruby
|
37
|
+
client = Aliyun::CloudSms.new('your_access_key_id', 'your_access_key_secret', 'your_sign_name')
|
33
38
|
|
39
|
+
## API
|
40
|
+
### Message send
|
41
|
+
```ruby
|
42
|
+
Aliyun::CloudSms.send_msg(mobile, template_code, template_param).
|
34
43
|
```
|
35
|
-
If you want to send message, Aliyun::CloudSms.send_msg(mobile, template_code, template_param).
|
36
44
|
e.g.
|
37
45
|
```ruby
|
38
46
|
Aliyun::CloudSms.send_msg('13800000000', 'SMS_80190090', {"customer": "jere"} )
|
39
47
|
```
|
40
|
-
The param is not a string, is a hash instead.
|
41
48
|
|
42
|
-
|
43
|
-
If you want to send message with multiple sign name, you can build your own message sender client.
|
49
|
+
`template_params` could be a string.
|
44
50
|
```ruby
|
45
|
-
client
|
51
|
+
client.send_msg('13800000000', 'SMS_80190090', "{\"customer\":\"jeremy\"}" )
|
52
|
+
```
|
46
53
|
|
47
|
-
|
54
|
+
#### extended params support
|
55
|
+
```ruby
|
56
|
+
Aliyun::CloudSms.send_msg('13800000000', 'SMS_80190090', {"customer": "jere"}, {:OutId => 'your system id', :smsUpExtendCode => 'sms up extended code'} )
|
48
57
|
```
|
49
58
|
|
59
|
+
|
60
|
+
### Status query
|
61
|
+
|
62
|
+
```ruby
|
63
|
+
client.query_status(mobile, send_date = "#{Time.now.strftime('%Y%m%d')}", biz_id = nil, page_size = 1, current_page = 1)
|
64
|
+
|
65
|
+
# e.g.
|
66
|
+
client.query_status '13800000000'
|
67
|
+
client.query_status '13800000000', '20170806'
|
68
|
+
client.query_status '13800000000', '20170806', '109177619494^4112265203597'
|
69
|
+
client.query_status '13800000000', '20170806', nil, 10
|
70
|
+
client.query_status '13800000000', '20170806', nil, 10, 2
|
71
|
+
```
|
50
72
|
## Development
|
51
73
|
|
52
74
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -55,7 +77,8 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
55
77
|
|
56
78
|
## Contributing
|
57
79
|
|
58
|
-
|
80
|
+
Welcome pull request.
|
81
|
+
Hope help.
|
59
82
|
|
60
83
|
|
61
84
|
## License
|
data/aliyun-cloud_sms.gemspec
CHANGED
@@ -6,7 +6,7 @@ require 'aliyun/cloud_sms/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "aliyun-cloud_sms"
|
8
8
|
spec.version = Aliyun::CloudSms::VERSION
|
9
|
-
spec.authors = ["
|
9
|
+
spec.authors = ["Jere Cui"]
|
10
10
|
spec.email = ["tsuijy@gmail.com"]
|
11
11
|
|
12
12
|
spec.summary = %q{Aliyun SMS service gem.}
|
@@ -21,9 +21,10 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
|
-
spec.add_dependency "uuid", ">=2.0"
|
24
|
+
spec.add_dependency "uuid", ">=2.0"
|
25
|
+
spec.add_dependency "rest-client", ">=2.0"
|
25
26
|
|
26
|
-
spec.add_development_dependency "bundler", "
|
27
|
-
spec.add_development_dependency "rake", "
|
28
|
-
spec.add_development_dependency "rspec", "
|
27
|
+
spec.add_development_dependency "bundler", "> 1.14"
|
28
|
+
spec.add_development_dependency "rake", ">= 12.3.3"
|
29
|
+
spec.add_development_dependency "rspec", ">= 3.0"
|
29
30
|
end
|
data/lib/aliyun/cloud_sms.rb
CHANGED
@@ -10,6 +10,10 @@ module Aliyun
|
|
10
10
|
default_client.send_msg mobile, template_code, template_param
|
11
11
|
end
|
12
12
|
|
13
|
+
def self.query_status(mobile, send_date = "#{Time.now.strftime('%Y%m%d')}", biz_id = nil, page_size = 1, current_page = 1)
|
14
|
+
default_client.query_status mobile, send_date, biz_id, page_size, current_page
|
15
|
+
end
|
16
|
+
|
13
17
|
def self.client(access_key_id, access_key_secret, sign_name)
|
14
18
|
Aliyun::Client.new access_key_id, access_key_secret, sign_name
|
15
19
|
end
|
@@ -1,8 +1,5 @@
|
|
1
|
-
require '
|
2
|
-
require '
|
3
|
-
require 'cgi'
|
4
|
-
require 'openssl'
|
5
|
-
require 'base64'
|
1
|
+
require 'aliyun/cloud_sms/request/message_send'
|
2
|
+
require 'aliyun/cloud_sms/request/message_query'
|
6
3
|
|
7
4
|
module Aliyun::CloudSms
|
8
5
|
class Client
|
@@ -14,65 +11,19 @@ module Aliyun::CloudSms
|
|
14
11
|
self.sign_name = sign_name
|
15
12
|
end
|
16
13
|
|
17
|
-
SERVICE_URL = "http://dysmsapi.aliyuncs.com/"
|
18
14
|
|
19
|
-
def send_msg(mobile, template_code, template_param)
|
20
|
-
|
21
|
-
|
22
|
-
q_full= "Signature=#{sign(q_without_sig)}&#{q_without_sig}"
|
15
|
+
def send_msg(mobile, template_code, template_param, optional_params = {})
|
16
|
+
request = Request::MessageSend.new mobile, template_code, template_param, optional_params
|
17
|
+
request.client = self
|
23
18
|
|
24
|
-
|
25
|
-
response = RestClient.get url
|
26
|
-
rescue RestClient::ExceptionWithResponse => e
|
27
|
-
Rails.logger.error(e.response) if defined? Rails
|
28
|
-
end
|
19
|
+
request.send_request
|
29
20
|
end
|
30
21
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
:PhoneNumbers => mobile,
|
35
|
-
:TemplateCode => template_code,
|
36
|
-
:TemplateParam => template_param.to_json.to_s,
|
37
|
-
:Timestamp => timestamp,
|
38
|
-
:SignatureNonce => nonce,
|
39
|
-
}
|
40
|
-
end
|
22
|
+
def query_status(mobile, send_date = "#{Time.now.strftime('%Y%m%d')}", biz_id = nil, page_size = 1, current_page = 1)
|
23
|
+
request = Request::MessageQuery.new mobile, send_date, biz_id, page_size, current_page
|
24
|
+
request.client = self
|
41
25
|
|
42
|
-
|
43
|
-
|
44
|
-
:AccessKeyId => self.access_key_id,
|
45
|
-
:SignName => self.sign_name,
|
46
|
-
:Action => Aliyun::CloudSms.action,
|
47
|
-
:Format => Aliyun::CloudSms.format,
|
48
|
-
:RegionId => Aliyun::CloudSms.region_id,
|
49
|
-
:SignatureMethod => Aliyun::CloudSms.signature_method,
|
50
|
-
:SignatureVersion => Aliyun::CloudSms.signature_version,
|
51
|
-
:Version => Aliyun::CloudSms.sms_version
|
52
|
-
}
|
53
|
-
end
|
54
|
-
|
55
|
-
def timestamp
|
56
|
-
Time.now.utc.strftime("%FT%TZ")
|
57
|
-
end
|
58
|
-
|
59
|
-
def nonce
|
60
|
-
UUID.generate
|
61
|
-
end
|
62
|
-
|
63
|
-
def build_url(hash)
|
64
|
-
hash.map{|k,v|"#{encode(k.to_s)}=#{encode(v.to_s)}"}.sort.join('&')
|
65
|
-
end
|
66
|
-
|
67
|
-
def encode(str)
|
68
|
-
CGI.escape(str)
|
69
|
-
end
|
70
|
-
|
71
|
-
def sign(str)
|
72
|
-
str = "GET&#{encode('/')}&#{encode(str)}"
|
73
|
-
ret = OpenSSL::HMAC.digest('sha1', "#{self.access_key_secret}&", str)
|
74
|
-
ret = Base64.encode64(ret)
|
75
|
-
encode(ret.chomp)
|
76
|
-
end
|
26
|
+
request.send_request
|
27
|
+
end
|
77
28
|
end
|
78
29
|
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
module Aliyun::CloudSms
|
2
2
|
module Configure
|
3
|
-
@@action = "SendSms"
|
4
3
|
@@format = "JSON"
|
5
4
|
@@region_id = "cn-hangzhou"
|
6
5
|
@@signature_method = "HMAC-SHA1"
|
@@ -27,14 +26,6 @@ module Aliyun::CloudSms
|
|
27
26
|
@@sign_name = sign_name
|
28
27
|
end
|
29
28
|
|
30
|
-
def action=(action)
|
31
|
-
@@action = action
|
32
|
-
end
|
33
|
-
|
34
|
-
def action
|
35
|
-
@@action
|
36
|
-
end
|
37
|
-
|
38
29
|
def format
|
39
30
|
@@format
|
40
31
|
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
require 'erb'
|
2
|
+
require 'uuid'
|
3
|
+
require 'json'
|
4
|
+
require 'openssl'
|
5
|
+
require 'base64'
|
6
|
+
require 'rest-client'
|
7
|
+
|
8
|
+
module Aliyun
|
9
|
+
module CloudSms
|
10
|
+
module Request
|
11
|
+
class Base
|
12
|
+
|
13
|
+
attr_accessor :client
|
14
|
+
|
15
|
+
SERVICE_URL = "http://dysmsapi.aliyuncs.com/"
|
16
|
+
|
17
|
+
def action
|
18
|
+
""
|
19
|
+
end
|
20
|
+
|
21
|
+
def get_params
|
22
|
+
custom_params.merge intrinsic_params
|
23
|
+
end
|
24
|
+
|
25
|
+
def send_request
|
26
|
+
q_without_sig = build_url(get_params)
|
27
|
+
q_full= "Signature=#{sign(q_without_sig)}&#{q_without_sig}"
|
28
|
+
|
29
|
+
begin
|
30
|
+
response = RestClient.get "#{SERVICE_URL}?#{q_full}"
|
31
|
+
rescue RestClient::ExceptionWithResponse => e
|
32
|
+
puts e.response
|
33
|
+
Rails.logger.error(e.response) if defined? Rails
|
34
|
+
e.response
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
protected
|
39
|
+
def custom_params
|
40
|
+
{}
|
41
|
+
end
|
42
|
+
|
43
|
+
def intrinsic_params
|
44
|
+
{
|
45
|
+
:AccessKeyId => client.access_key_id,
|
46
|
+
:SignName => client.sign_name,
|
47
|
+
:Format => Aliyun::CloudSms.format,
|
48
|
+
:RegionId => Aliyun::CloudSms.region_id,
|
49
|
+
:SignatureMethod => Aliyun::CloudSms.signature_method,
|
50
|
+
:SignatureVersion => Aliyun::CloudSms.signature_version,
|
51
|
+
:Timestamp => timestamp,
|
52
|
+
:SignatureNonce => nonce,
|
53
|
+
:Action => action,
|
54
|
+
:Version => Aliyun::CloudSms.sms_version
|
55
|
+
}
|
56
|
+
end
|
57
|
+
|
58
|
+
def timestamp
|
59
|
+
Time.now.utc.strftime("%FT%TZ")
|
60
|
+
end
|
61
|
+
|
62
|
+
def nonce
|
63
|
+
UUID.generate
|
64
|
+
end
|
65
|
+
|
66
|
+
def build_url(hash)
|
67
|
+
hash.map{|k,v|"#{encode(k.to_s)}=#{encode(v.to_s)}"}.sort.join('&')
|
68
|
+
end
|
69
|
+
|
70
|
+
def encode(str)
|
71
|
+
ERB::Util.url_encode str
|
72
|
+
end
|
73
|
+
|
74
|
+
def sign(str)
|
75
|
+
str = "GET&#{encode('/')}&#{encode(str)}"
|
76
|
+
ret = OpenSSL::HMAC.digest('sha1', "#{client.access_key_secret}&", str)
|
77
|
+
ret = Base64.encode64(ret)
|
78
|
+
encode(ret.chomp)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Aliyun
|
2
|
+
module CloudSms
|
3
|
+
module Request
|
4
|
+
class MessageQuery < Base
|
5
|
+
attr_accessor :mobile, :send_date, :biz_id, :page_size, :current_page
|
6
|
+
|
7
|
+
def initialize(mobile, send_date, biz_id, page_size, current_page)
|
8
|
+
self.mobile = mobile
|
9
|
+
self.send_date = send_date
|
10
|
+
self.biz_id = biz_id
|
11
|
+
self.page_size = page_size
|
12
|
+
self.current_page = current_page
|
13
|
+
end
|
14
|
+
|
15
|
+
def action
|
16
|
+
"QuerySendDetails".freeze
|
17
|
+
end
|
18
|
+
|
19
|
+
def custom_params
|
20
|
+
params = {
|
21
|
+
:PhoneNumber => mobile,
|
22
|
+
:SendDate => send_date,
|
23
|
+
:PageSize => page_size,
|
24
|
+
:CurrentPage => current_page
|
25
|
+
}
|
26
|
+
|
27
|
+
params.merge!({:BizId => biz_id}) if biz_id
|
28
|
+
|
29
|
+
params
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'aliyun/cloud_sms/request/base'
|
2
|
+
|
3
|
+
module Aliyun
|
4
|
+
module CloudSms
|
5
|
+
module Request
|
6
|
+
class MessageSend < Base
|
7
|
+
|
8
|
+
attr_accessor :mobile, :template_code, :template_param, :optional_params
|
9
|
+
|
10
|
+
def initialize(mobile, template_code, template_param, optional_params = nil)
|
11
|
+
self.mobile = mobile
|
12
|
+
self.template_code = template_code
|
13
|
+
self.template_param = template_param
|
14
|
+
self.optional_params = optional_params || {}
|
15
|
+
end
|
16
|
+
|
17
|
+
def action
|
18
|
+
"SendSms".freeze
|
19
|
+
end
|
20
|
+
|
21
|
+
def custom_params
|
22
|
+
self.template_param = self.template_param.to_json if self.template_param.is_a?(Hash)
|
23
|
+
|
24
|
+
{
|
25
|
+
:PhoneNumbers => self.mobile,
|
26
|
+
:TemplateCode => self.template_code,
|
27
|
+
:TemplateParam => self.template_param.to_s,
|
28
|
+
}.merge!(self.optional_params)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aliyun-cloud_sms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
autorequire:
|
7
|
+
- Jere Cui
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: uuid
|
@@ -17,9 +17,6 @@ dependencies:
|
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '2.0'
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '6.0'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -27,49 +24,60 @@ dependencies:
|
|
27
24
|
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '2.0'
|
30
|
-
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rest-client
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
31
32
|
- !ruby/object:Gem::Version
|
32
|
-
version: '
|
33
|
+
version: '2.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.0'
|
33
41
|
- !ruby/object:Gem::Dependency
|
34
42
|
name: bundler
|
35
43
|
requirement: !ruby/object:Gem::Requirement
|
36
44
|
requirements:
|
37
|
-
- - "
|
45
|
+
- - ">"
|
38
46
|
- !ruby/object:Gem::Version
|
39
47
|
version: '1.14'
|
40
48
|
type: :development
|
41
49
|
prerelease: false
|
42
50
|
version_requirements: !ruby/object:Gem::Requirement
|
43
51
|
requirements:
|
44
|
-
- - "
|
52
|
+
- - ">"
|
45
53
|
- !ruby/object:Gem::Version
|
46
54
|
version: '1.14'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
56
|
name: rake
|
49
57
|
requirement: !ruby/object:Gem::Requirement
|
50
58
|
requirements:
|
51
|
-
- - "
|
59
|
+
- - ">="
|
52
60
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
61
|
+
version: 12.3.3
|
54
62
|
type: :development
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
65
|
requirements:
|
58
|
-
- - "
|
66
|
+
- - ">="
|
59
67
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
68
|
+
version: 12.3.3
|
61
69
|
- !ruby/object:Gem::Dependency
|
62
70
|
name: rspec
|
63
71
|
requirement: !ruby/object:Gem::Requirement
|
64
72
|
requirements:
|
65
|
-
- - "
|
73
|
+
- - ">="
|
66
74
|
- !ruby/object:Gem::Version
|
67
75
|
version: '3.0'
|
68
76
|
type: :development
|
69
77
|
prerelease: false
|
70
78
|
version_requirements: !ruby/object:Gem::Requirement
|
71
79
|
requirements:
|
72
|
-
- - "
|
80
|
+
- - ">="
|
73
81
|
- !ruby/object:Gem::Version
|
74
82
|
version: '3.0'
|
75
83
|
description: Send short message via aliyun cloud service.
|
@@ -85,6 +93,7 @@ files:
|
|
85
93
|
- CODE_OF_CONDUCT.md
|
86
94
|
- Gemfile
|
87
95
|
- LICENSE.txt
|
96
|
+
- README-CN.md
|
88
97
|
- README.md
|
89
98
|
- Rakefile
|
90
99
|
- aliyun-cloud_sms.gemspec
|
@@ -93,12 +102,15 @@ files:
|
|
93
102
|
- lib/aliyun/cloud_sms.rb
|
94
103
|
- lib/aliyun/cloud_sms/client.rb
|
95
104
|
- lib/aliyun/cloud_sms/configure.rb
|
105
|
+
- lib/aliyun/cloud_sms/request/base.rb
|
106
|
+
- lib/aliyun/cloud_sms/request/message_query.rb
|
107
|
+
- lib/aliyun/cloud_sms/request/message_send.rb
|
96
108
|
- lib/aliyun/cloud_sms/version.rb
|
97
109
|
homepage: https://github.com/jerecui/aliyun-cloud_sms
|
98
110
|
licenses:
|
99
111
|
- MIT
|
100
112
|
metadata: {}
|
101
|
-
post_install_message:
|
113
|
+
post_install_message:
|
102
114
|
rdoc_options: []
|
103
115
|
require_paths:
|
104
116
|
- lib
|
@@ -113,9 +125,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
125
|
- !ruby/object:Gem::Version
|
114
126
|
version: '0'
|
115
127
|
requirements: []
|
116
|
-
|
117
|
-
|
118
|
-
signing_key:
|
128
|
+
rubygems_version: 3.2.3
|
129
|
+
signing_key:
|
119
130
|
specification_version: 4
|
120
131
|
summary: Aliyun SMS service gem.
|
121
132
|
test_files: []
|