jmessage 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/Gemfile.lock +1 -1
- data/lib/jmessage/http.rb +39 -26
- data/lib/jmessage/user.rb +5 -5
- data/lib/jmessage/version.rb +1 -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: fe48aba88abceff77307ec91b14da5134db543d1
|
4
|
+
data.tar.gz: 2aecfbaa44dae26c36f3333a67b8bdf61007e896
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac6ddcf84fef5c7639ce4f79b595fb17d7cfe7ef9999fb64f297ee72359babb3715159b779adca6655c843a04fb758bfbe180506d1f72597dd415f5be56b9465
|
7
|
+
data.tar.gz: 246e76f12663816ae831f66b030a89ead68d600307fbd8ef047e9600f7c3fd2d6279b9147be1515e3aae7a1eb56373aed57a8285054fd1a608393dc6054c00b0
|
data/Gemfile.lock
CHANGED
data/lib/jmessage/http.rb
CHANGED
@@ -5,59 +5,72 @@ module Jmessage
|
|
5
5
|
class Http
|
6
6
|
attr_accessor :conn, :response
|
7
7
|
|
8
|
-
def initialize
|
8
|
+
def initialize(form=false)
|
9
9
|
self.conn = Faraday.new(url: remote_path) do |faraday|
|
10
|
+
faraday.request :multipart if form
|
10
11
|
faraday.request :url_encoded # form-encode POST params
|
11
12
|
faraday.response :logger # log requests to STDOUT
|
13
|
+
faraday.headers = headers
|
12
14
|
faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
|
13
15
|
end
|
14
16
|
end
|
15
17
|
|
16
18
|
def get(uri)
|
17
|
-
self.response = conn.get
|
18
|
-
req.url uri
|
19
|
-
req.headers['Content-Type'] = 'application/json'
|
20
|
-
req.headers['Authorization'] = "Basic #{Jmessage::Sign.authorize}"
|
21
|
-
req.options.timeout = 10
|
22
|
-
end
|
19
|
+
self.response = conn.get { |req| set_req(req, uri) }
|
23
20
|
parse_body
|
24
21
|
end
|
25
22
|
|
26
23
|
def post(uri, params = {})
|
27
|
-
self.response = conn.post
|
28
|
-
req.url uri
|
29
|
-
req.headers['Content-Type'] = 'application/json'
|
30
|
-
req.headers['Authorization'] = "Basic #{Jmessage::Sign.authorize}"
|
31
|
-
req.options.timeout = 10
|
32
|
-
req.body = JSON(params)
|
33
|
-
end
|
24
|
+
self.response = conn.post { |req| set_req(req, uri, params) }
|
34
25
|
parse_body
|
35
26
|
end
|
36
27
|
|
37
28
|
def put(uri, params = {})
|
38
|
-
self.response = conn.put
|
39
|
-
req.url uri
|
40
|
-
req.headers['Content-Type'] = 'application/json'
|
41
|
-
req.headers['Authorization'] = "Basic #{Jmessage::Sign.authorize}"
|
42
|
-
req.options.timeout = 10
|
43
|
-
req.body = JSON(params)
|
44
|
-
end
|
29
|
+
self.response = conn.put { |req| set_req(req, uri, params) }
|
45
30
|
end
|
46
31
|
|
47
32
|
def delete(uri, params = {})
|
48
|
-
self.response = conn.delete
|
33
|
+
self.response = conn.delete { |req| set_req(req, uri, params) }
|
34
|
+
end
|
35
|
+
|
36
|
+
def post_image(uri, params={})
|
37
|
+
self.response = conn.post do |req|
|
49
38
|
req.url uri
|
50
|
-
req.
|
51
|
-
req.headers['Authorization'] = "Basic #{Jmessage::Sign.authorize}"
|
52
|
-
req.options.timeout = 10
|
53
|
-
req.body = JSON(params)
|
39
|
+
req.body = { image: imageio(params[:image]) }
|
54
40
|
end
|
41
|
+
parse_body
|
55
42
|
end
|
56
43
|
|
57
44
|
def parse_body
|
58
45
|
JSON(response.body)
|
59
46
|
end
|
60
47
|
|
48
|
+
def imageio(image)
|
49
|
+
if image.instance_of?(Tempfile)
|
50
|
+
return Faraday::UploadIO.new(image.path, image.content_type, tempfile_name(image))
|
51
|
+
end
|
52
|
+
Faraday::UploadIO.new(image.path, image.content_type)
|
53
|
+
end
|
54
|
+
|
55
|
+
def tempfile_name(file)
|
56
|
+
extension = file.content_type.split('/').last
|
57
|
+
extension = extension.downcase.eql?('jpeg') ? 'jpg' : extension
|
58
|
+
File.basename(file) + '.' + extension
|
59
|
+
end
|
60
|
+
|
61
|
+
def headers
|
62
|
+
{
|
63
|
+
'Authorization' => "Basic #{Jmessage::Sign.authorize}",
|
64
|
+
'Accept' => 'application/json'
|
65
|
+
}
|
66
|
+
end
|
67
|
+
|
68
|
+
def set_req(req, uri, params = {})
|
69
|
+
req.url uri
|
70
|
+
req.headers['Content-Type'] = 'application/json'
|
71
|
+
req.body = JSON(params) unless params.empty?
|
72
|
+
end
|
73
|
+
|
61
74
|
def remote_path
|
62
75
|
'https://api.im.jpush.cn'
|
63
76
|
end
|
data/lib/jmessage/user.rb
CHANGED
@@ -13,7 +13,7 @@ module Jmessage
|
|
13
13
|
end
|
14
14
|
|
15
15
|
# 获取用户列表
|
16
|
-
def user_list
|
16
|
+
def user_list(params = {})
|
17
17
|
start = params[:start] || 0
|
18
18
|
count = params[:count] || 10
|
19
19
|
Jmessage::Http.new.get("/v1/users?start=#{start}&count=#{count}")
|
@@ -52,8 +52,8 @@ module Jmessage
|
|
52
52
|
end
|
53
53
|
|
54
54
|
# 修改密码
|
55
|
-
def update_pwd(username)
|
56
|
-
Jmessage::Http.new.put("/v1/users/#{username}/password",
|
55
|
+
def update_pwd(username, new_pwd = '')
|
56
|
+
Jmessage::Http.new.put("/v1/users/#{username}/password", { new_password: new_pwd })
|
57
57
|
end
|
58
58
|
|
59
59
|
# 删除用户
|
@@ -82,8 +82,8 @@ module Jmessage
|
|
82
82
|
end
|
83
83
|
|
84
84
|
# 文件上传
|
85
|
-
def upload_image(
|
86
|
-
Jmessage::Http.new.
|
85
|
+
def upload_image(resource)
|
86
|
+
Jmessage::Http.new(true).post_image("/v1/resource?type=image", { image: resource })
|
87
87
|
end
|
88
88
|
end
|
89
89
|
end
|
data/lib/jmessage/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jmessage
|
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
|
- Ricky
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-04-
|
11
|
+
date: 2018-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|