wechat 0.17.2 → 0.17.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 116d4ce16cfc0cab641c2f15bbfb112259f55fdc4ef92c802137412cb7bb5302
4
- data.tar.gz: 12b1d3fa3ec0adfed6df712ee767d6c6a4cd35dad4c6f45cc1cca6791d61fa3f
3
+ metadata.gz: 497060e96871aaed2d484bf54a8f39701e67895add0fb2d456ad7722297db841
4
+ data.tar.gz: e7c029ef4bb8cf4018b81902999e54900df9f92dcfc9de1673f9a2b1514b48dc
5
5
  SHA512:
6
- metadata.gz: 4cc56dd5145757fda475a8652c01c58f2e650df30cf9bfe7ac3fc4a5df2917fd82236ade96d29ad69bdccb495f19f223c93e7fe688e11e98621a747ae3efedab
7
- data.tar.gz: 7b07126c3d6aaae770c2b8bb9c33d133ba489d9387743a2ddcc752e9ba2b89cebcc6203930a447cfcf229e06851af31fe09ff87b2f6cad64740b0c60f5dfd10e
6
+ metadata.gz: bd6fa6017ade886d1e33de0971bfbea8abe4e05f8b01e15b91c256552bf9f6704a23c703ca3278867bfc65aed853adc1027d8841845d8d96eb9c1a14eb61d420
7
+ data.tar.gz: e786359f9835a52ddb6c7627115ffe1ea2151411c4c91374ae2343ef977a7eddb45d379c06b21ea10942dc583fe7666fbf710c52253d41c92e5ed1df6ba816af
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.17.3 (released at 2024-01-04)
4
+
5
+ * Add New CorpApi batch_get_by_user and follow_user_list. by @leepood #321
6
+ * Use JSON.parse handle response.body directly. by @leepood #322
7
+
3
8
  ## v0.17.2 (released at 2023-12-30)
4
9
 
5
10
  * Fix no need the message type restrictions. by @leepood #319
@@ -74,14 +74,14 @@ module Wechat
74
74
  end
75
75
 
76
76
  if defined?(::Rails)
77
- configs.each do |_, cfg|
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.each do |_, cfg|
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')
@@ -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
@@ -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 =~ match[0] }.first || as_type || :text
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.to_s.gsub(/[\u0000-\u001f]+/, '')
114
+ data = JSON.parse response.body
115
115
  when :xml
116
116
  data = Hash.from_xml(response.body.to_s)
117
117
  else
@@ -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
- [(TO_JSON_KEY_MAP[key] || (keep_camel_case_key ? key : key.downcase)), value]
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
@@ -19,7 +19,7 @@ module Wechat
19
19
 
20
20
  def initialize(errcode, errmsg)
21
21
  @error_code = errcode
22
- super "#{errmsg}(#{error_code})"
22
+ super("#{errmsg}(#{error_code})")
23
23
  end
24
24
  end
25
25
 
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.2
4
+ version: 0.17.3
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: 2023-12-30 00:00:00.000000000 Z
39
+ date: 2024-01-04 00:00:00.000000000 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activesupport
@@ -257,8 +257,8 @@ licenses:
257
257
  metadata:
258
258
  bug_tracker_uri: https://github.com/Eric-Guo/wechat/issues
259
259
  changelog_uri: https://github.com/Eric-Guo/wechat/releases
260
- documentation_uri: https://github.com/Eric-Guo/wechat/tree/v0.17.2#readme
261
- source_code_uri: https://github.com/Eric-Guo/wechat/tree/v0.17.2
260
+ documentation_uri: https://github.com/Eric-Guo/wechat/tree/v0.17.3#readme
261
+ source_code_uri: https://github.com/Eric-Guo/wechat/tree/v0.17.3
262
262
  rubygems_mfa_required: 'true'
263
263
  post_install_message:
264
264
  rdoc_options: []
metadata.gz.sig CHANGED
Binary file