wechat 0.17.2 → 0.17.4
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +9 -0
- data/lib/wechat/api_loader.rb +2 -2
- data/lib/wechat/concern/common.rb +1 -1
- data/lib/wechat/corp_api.rb +11 -1
- data/lib/wechat/http_client.rb +2 -2
- data/lib/wechat/message.rb +1 -1
- data/lib/wechat.rb +2 -1
- data.tar.gz.sig +0 -0
- metadata +21 -15
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7d465a4950bcf9d672e465f6df611380a6ea2f8a7a97609a198db0fc6780078
|
4
|
+
data.tar.gz: 168f9ac6817424838d68f9fceb240e3509da81bad2927c603ebfb840541a6d3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17dbc1a4799625793717db99df15e1572342a73cc30d189436c1ab146b632ae86a356a4d943b67811844e6969abd55af2b14562915cf18998d23a2ed0e5c767a
|
7
|
+
data.tar.gz: bb86b6f6871166000718d217bd4e134072e6c4933dc76e579ffde8004f2f17d9661438b4a50bda76a21e432285329446d4b43705c7c97b9419d9a060da482e6c
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v0.17.4 (released at 2024-08-13)
|
4
|
+
|
5
|
+
* Fix private API ActiveSupport::Deprecation.warn called in Rails 7.2
|
6
|
+
|
7
|
+
## v0.17.3 (released at 2024-01-04)
|
8
|
+
|
9
|
+
* Add New CorpApi batch_get_by_user and follow_user_list. by @leepood #321
|
10
|
+
* Use JSON.parse handle response.body directly. by @leepood #322
|
11
|
+
|
3
12
|
## v0.17.2 (released at 2023-12-30)
|
4
13
|
|
5
14
|
* Fix no need the message type restrictions. by @leepood #319
|
data/lib/wechat/api_loader.rb
CHANGED
@@ -74,14 +74,14 @@ module Wechat
|
|
74
74
|
end
|
75
75
|
|
76
76
|
if defined?(::Rails)
|
77
|
-
configs.
|
77
|
+
configs.each_value do |cfg|
|
78
78
|
cfg[:access_token] ||= Rails.root.try(:join, 'tmp/access_token').try(:to_path)
|
79
79
|
cfg[:jsapi_ticket] ||= Rails.root.try(:join, 'tmp/jsapi_ticket').try(:to_path)
|
80
80
|
cfg[:qcloud_token] ||= Rails.root.try(:join, 'tmp/qcloud_token').try(:to_path)
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
-
configs.
|
84
|
+
configs.each_value do |cfg|
|
85
85
|
cfg[:timeout] ||= 20
|
86
86
|
cfg[:qcloud_token_lifespan] ||= 7200
|
87
87
|
cfg[:have_session_class] ||= class_exists?('WechatSession')
|
@@ -145,7 +145,7 @@ module Wechat
|
|
145
145
|
end
|
146
146
|
|
147
147
|
def material(media_id)
|
148
|
-
ActiveSupport::Deprecation.warn('material is deprecated. use get_material instead.')
|
148
|
+
ActiveSupport::Deprecation.new.warn('material is deprecated. use get_material instead.')
|
149
149
|
|
150
150
|
post 'material/get_material', JSON.generate(media_id: media_id), as: :file
|
151
151
|
end
|
data/lib/wechat/corp_api.rb
CHANGED
@@ -18,6 +18,16 @@ module Wechat
|
|
18
18
|
get 'externalcontact/get', params: { external_userid: external_userid, cursor: cursor }
|
19
19
|
end
|
20
20
|
|
21
|
+
def follow_user_list
|
22
|
+
# https://developer.work.weixin.qq.com/document/path/92576
|
23
|
+
get 'externalcontact/get_follow_user_list'
|
24
|
+
end
|
25
|
+
|
26
|
+
def batch_get_by_user(userid_list, cursor: nil, limit: nil)
|
27
|
+
# https://developer.work.weixin.qq.com/document/path/93010
|
28
|
+
post 'externalcontact/batch/get_by_user', JSON.generate(userid_list: userid_list, cursor: cursor, limit: limit)
|
29
|
+
end
|
30
|
+
|
21
31
|
def agent_list
|
22
32
|
get 'agent/list'
|
23
33
|
end
|
@@ -161,7 +171,7 @@ module Wechat
|
|
161
171
|
end
|
162
172
|
|
163
173
|
def material(media_id)
|
164
|
-
ActiveSupport::Deprecation.warn('material is deprecated. use get_material instead.')
|
174
|
+
ActiveSupport::Deprecation.new.warn('material is deprecated. use get_material instead.')
|
165
175
|
|
166
176
|
post 'material/get_material', JSON.generate(media_id: media_id), params: { agentid: agentid }, as: :file
|
167
177
|
end
|
data/lib/wechat/http_client.rb
CHANGED
@@ -88,7 +88,7 @@ module Wechat
|
|
88
88
|
%r{^voice/.*} => :file,
|
89
89
|
%r{^text/html} => :xml,
|
90
90
|
%r{^text/plain} => :probably_json
|
91
|
-
}.each_with_object([]) { |match, memo| memo << match[1] if content_type
|
91
|
+
}.each_with_object([]) { |match, memo| memo << match[1] if content_type.match?(match[0]) }.first || as_type || :text
|
92
92
|
|
93
93
|
# try to parse response as json, fallback to user-specified format or text if failed
|
94
94
|
if parse_as == :probably_json
|
@@ -111,7 +111,7 @@ module Wechat
|
|
111
111
|
data = file
|
112
112
|
|
113
113
|
when :json
|
114
|
-
data = JSON.parse response.body
|
114
|
+
data = JSON.parse response.body
|
115
115
|
when :xml
|
116
116
|
data = Hash.from_xml(response.body.to_s)
|
117
117
|
else
|
data/lib/wechat/message.rb
CHANGED
@@ -236,7 +236,7 @@ module Wechat
|
|
236
236
|
keep_camel_case_key = message_hash[:MsgType] == 'template'
|
237
237
|
json_hash = deep_recursive(message_hash) do |key, value|
|
238
238
|
key = key.to_s
|
239
|
-
[
|
239
|
+
[TO_JSON_KEY_MAP[key] || (keep_camel_case_key ? key : key.downcase), value]
|
240
240
|
end
|
241
241
|
json_hash = json_hash.transform_keys(&:downcase).select { |k, _v| TO_JSON_ALLOWED.include? k }
|
242
242
|
|
data/lib/wechat.rb
CHANGED
@@ -8,6 +8,7 @@ loader.setup
|
|
8
8
|
|
9
9
|
require 'base64'
|
10
10
|
require 'openssl/cipher'
|
11
|
+
require 'ostruct'
|
11
12
|
|
12
13
|
module Wechat
|
13
14
|
class AccessTokenExpiredError < StandardError; end
|
@@ -19,7 +20,7 @@ module Wechat
|
|
19
20
|
|
20
21
|
def initialize(errcode, errmsg)
|
21
22
|
@error_code = errcode
|
22
|
-
super
|
23
|
+
super("#{errmsg}(#{error_code})")
|
23
24
|
end
|
24
25
|
end
|
25
26
|
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wechat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.17.
|
4
|
+
version: 0.17.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Skinnyworm
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
36
36
|
uxhUIIN2A+qeUxOIoO9VfGAX5Q+cQ4J+EpKkDovIHaG0tJdNoA9EABD8yMMHgWgw
|
37
37
|
q9fk/nu08SjME28EsSxW0oLUQq1vHNKWUyZuHtihd0yBYGRJH7xdZivkUOs=
|
38
38
|
-----END CERTIFICATE-----
|
39
|
-
date:
|
39
|
+
date: 2024-08-13 00:00:00.000000000 Z
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: activesupport
|
@@ -45,6 +45,9 @@ dependencies:
|
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '6.0'
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '8'
|
48
51
|
type: :runtime
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -52,6 +55,9 @@ dependencies:
|
|
52
55
|
- - ">="
|
53
56
|
- !ruby/object:Gem::Version
|
54
57
|
version: '6.0'
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '8'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: http
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -134,70 +140,70 @@ dependencies:
|
|
134
140
|
requirements:
|
135
141
|
- - "~>"
|
136
142
|
- !ruby/object:Gem::Version
|
137
|
-
version:
|
143
|
+
version: 1.64.1
|
138
144
|
type: :development
|
139
145
|
prerelease: false
|
140
146
|
version_requirements: !ruby/object:Gem::Requirement
|
141
147
|
requirements:
|
142
148
|
- - "~>"
|
143
149
|
- !ruby/object:Gem::Version
|
144
|
-
version:
|
150
|
+
version: 1.64.1
|
145
151
|
- !ruby/object:Gem::Dependency
|
146
152
|
name: rails
|
147
153
|
requirement: !ruby/object:Gem::Requirement
|
148
154
|
requirements:
|
149
155
|
- - ">="
|
150
156
|
- !ruby/object:Gem::Version
|
151
|
-
version: 7.
|
157
|
+
version: 7.2.0
|
152
158
|
type: :development
|
153
159
|
prerelease: false
|
154
160
|
version_requirements: !ruby/object:Gem::Requirement
|
155
161
|
requirements:
|
156
162
|
- - ">="
|
157
163
|
- !ruby/object:Gem::Version
|
158
|
-
version: 7.
|
164
|
+
version: 7.2.0
|
159
165
|
- !ruby/object:Gem::Dependency
|
160
166
|
name: rspec-rails
|
161
167
|
requirement: !ruby/object:Gem::Requirement
|
162
168
|
requirements:
|
163
169
|
- - "~>"
|
164
170
|
- !ruby/object:Gem::Version
|
165
|
-
version: '6.
|
171
|
+
version: '6.1'
|
166
172
|
type: :development
|
167
173
|
prerelease: false
|
168
174
|
version_requirements: !ruby/object:Gem::Requirement
|
169
175
|
requirements:
|
170
176
|
- - "~>"
|
171
177
|
- !ruby/object:Gem::Version
|
172
|
-
version: '6.
|
178
|
+
version: '6.1'
|
173
179
|
- !ruby/object:Gem::Dependency
|
174
180
|
name: rspec-mocks
|
175
181
|
requirement: !ruby/object:Gem::Requirement
|
176
182
|
requirements:
|
177
183
|
- - "~>"
|
178
184
|
- !ruby/object:Gem::Version
|
179
|
-
version: '3.
|
185
|
+
version: '3.13'
|
180
186
|
type: :development
|
181
187
|
prerelease: false
|
182
188
|
version_requirements: !ruby/object:Gem::Requirement
|
183
189
|
requirements:
|
184
190
|
- - "~>"
|
185
191
|
- !ruby/object:Gem::Version
|
186
|
-
version: '3.
|
192
|
+
version: '3.13'
|
187
193
|
- !ruby/object:Gem::Dependency
|
188
194
|
name: sqlite3
|
189
195
|
requirement: !ruby/object:Gem::Requirement
|
190
196
|
requirements:
|
191
197
|
- - "~>"
|
192
198
|
- !ruby/object:Gem::Version
|
193
|
-
version: '
|
199
|
+
version: '2.0'
|
194
200
|
type: :development
|
195
201
|
prerelease: false
|
196
202
|
version_requirements: !ruby/object:Gem::Requirement
|
197
203
|
requirements:
|
198
204
|
- - "~>"
|
199
205
|
- !ruby/object:Gem::Version
|
200
|
-
version: '
|
206
|
+
version: '2.0'
|
201
207
|
description: API, command and message handling for WeChat in Rails
|
202
208
|
email: eric.guocz@gmail.com
|
203
209
|
executables:
|
@@ -257,8 +263,8 @@ licenses:
|
|
257
263
|
metadata:
|
258
264
|
bug_tracker_uri: https://github.com/Eric-Guo/wechat/issues
|
259
265
|
changelog_uri: https://github.com/Eric-Guo/wechat/releases
|
260
|
-
documentation_uri: https://github.com/Eric-Guo/wechat/tree/v0.17.
|
261
|
-
source_code_uri: https://github.com/Eric-Guo/wechat/tree/v0.17.
|
266
|
+
documentation_uri: https://github.com/Eric-Guo/wechat/tree/v0.17.4#readme
|
267
|
+
source_code_uri: https://github.com/Eric-Guo/wechat/tree/v0.17.4
|
262
268
|
rubygems_mfa_required: 'true'
|
263
269
|
post_install_message:
|
264
270
|
rdoc_options: []
|
@@ -275,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
275
281
|
- !ruby/object:Gem::Version
|
276
282
|
version: 3.1.6
|
277
283
|
requirements: []
|
278
|
-
rubygems_version: 3.5.
|
284
|
+
rubygems_version: 3.5.17
|
279
285
|
signing_key:
|
280
286
|
specification_version: 4
|
281
287
|
summary: DSL for wechat message handling and API
|
metadata.gz.sig
CHANGED
Binary file
|