wechat 0.11.5 → 0.11.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 332ed5cc2f20211d70e994fc4549534748c9400074ece51debd7e4d147b4a1fd
4
- data.tar.gz: 6cb347a738b602628c6dadae3ef2d90cddb9c1baff68e7e66b9bc88cc14a8643
3
+ metadata.gz: bae019a8d3da8b0f78aba677ba633a46ecebdf975be517f09b5ec82050b2aee9
4
+ data.tar.gz: 1bdb9f6dd87d72071071e3ff36d4d6334c0ddb0825d2ef5abe243b6298983ee2
5
5
  SHA512:
6
- metadata.gz: 3b293b5f93fcc0f304af98f7664c73469595028b4bc38d14c60bf2506243c288d59964e17acaea563c7922493b39e67bc56ede37e638fecaf4f83c332dbb60ca
7
- data.tar.gz: 640d2a2b5fc743189f03f680c03404cc991ff6b5e50f84f802c520eed10d7df1690080ae11ac9f1b22ada9b4f45a5f1c6a8ba5e8f01a9043026ce20ed39569ee
6
+ metadata.gz: 0c87ecd9b34fc0c34538bd754e6b35e20cc6e87f138b7434fabf92c3f0ec2a0cfbbc44a7d0e7c88fa52237b293f1744408697043c3f7e624e5eba9c871ba2153
7
+ data.tar.gz: 8a431320b86e529acd98de9482070052fbeb4dcf80538dc9e0d5c2e6a7507460fa848a0bb0c3692c68c89ef8b7dbd0243ef537442680a678b3e871ff4f4ec40f
@@ -1,5 +1 @@
1
- o����6TK
2
- [|%��)��֜��xʰJ���.�����"9?
3
- �m�БF�XBq���:�D^��w���v|����ͿO�pn�+���a�����껅�h"�����)��1��p�A��5��C0� ���AWp��u�ˑ�\�x��ub�X�_S{N�F$%�a\�ZU��۟-�N
4
- �曵.���k�����X�PI�ج��P�q�WT{ɷHRK�=q#��
5
- � BKT$'��ck�V�6 Ѧ̈́*��Cl�[f�,,�v����8��#HD���P��|��C� �j�Dz�_
1
+ auA�lGh�iC�kgQ�P�j�U�G��gAs|�&{;M��Ԓ�[9�P��vC*�9���A˧�a�t���Ά��Դ �-�L�n>����~� ӌV �rqd�eIth�@����c蹩}�� 8k}eo�w��£7/H�X��7����j�g[<�k~�F��`��h��=s ���ZA�i�a#���&4h��Ds�D�g]�vN9��V�#�"�q�x��7���ċD�(��
data.tar.gz.sig CHANGED
Binary file
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.11.10 (released at 09/02/2020)
4
+
5
+ * ADD: Wechat::MpApi.wxa_msg_sec_check.
6
+
7
+ ## v0.11.9 (released at 04/29/2020)
8
+
9
+ * CHG: upgrade ssl_version to 1.2 by @paicha #276
10
+
11
+ ## v0.11.8 (released at 03/09/2020)
12
+
13
+ * ADD: Wechat::CorpApi.news_message_send
14
+ * FIX: Wechat API Change material/get_material. reported by @0000sir #275
15
+
16
+ ## v0.11.7 (released at 11/15/2019)
17
+
18
+ * ADD: Wechat::MpApi.subscribe_message_send. by @paicha #271
19
+ * FIX: FrozenError: can't modify frozen String. by @paicha #272
20
+ * New translatecontent support.
21
+
22
+ ## v0.11.6 (released at 09/02/2019)
23
+
24
+ * Fix private method `next_migration_number` introduced at #267, by @zpdsky #270
25
+ * Give more clear warning about missing Rails in console. by @emtfe #268
26
+
3
27
  ## v0.11.5 (released at 08/30/2019)
4
28
 
5
29
  * Add rubocop check in CI by @hophacker #267
@@ -3,7 +3,7 @@ WeChat [![Gem Version](https://badge.fury.io/rb/wechat.svg)](https://rubygems.or
3
3
 
4
4
  [![Join the chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Eric-Guo/wechat?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
5
 
6
- WeChat gem帮助开发者方便地在Rails环境中集成[微信公众平台](https://mp.weixin.qq.com/)[企业微信](https://qy.weixin.qq.com),包括功能:
6
+ WeChat gem帮助开发者方便地在Rails环境中集成[微信公众平台](https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html)[企业微信](https://work.weixin.qq.com/api/doc)和[小程序](https://developers.weixin.qq.com/miniprogram/dev/framework/),包括功能:
7
7
 
8
8
  - 微信公众平台/企业微信[发送消息](http://qydev.weixin.qq.com/wiki/index.php?title=%E5%8F%91%E9%80%81%E6%B6%88%E6%81%AF)API(命令行和Web环境都可以使用)
9
9
  - [接收消息](http://qydev.weixin.qq.com/wiki/index.php?title=%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%E4%B8%8E%E4%BA%8B%E4%BB%B6)(必须运行Web服务器)
@@ -360,7 +360,7 @@ Wechat Public Account commands:
360
360
  wechat group_delete [GROUP_ID] # 删除分组
361
361
  wechat group_update [GROUP_ID, NEW_GROUP_NAME] # 修改分组名
362
362
  wechat groups # 查询所有分组
363
- wechat material [MEDIA_ID, PATH] # 永久媒体下载
363
+ wechat material_get [MEDIA_ID, PATH] # 永久媒体下载
364
364
  wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
365
365
  wechat material_count # 获取永久素材总数
366
366
  wechat material_delete [MEDIA_ID] # 删除永久素材
@@ -392,12 +392,14 @@ Wechat Public Account commands:
392
392
  wechat tag_update [TAG_ID, TAGNAME] # 更新标签名字
393
393
  wechat tags # 获取所有标签
394
394
  wechat template_message [OPENID, TEMPLATE_YAML_PATH] # 模板消息接口
395
+ wechat translatecontent [CONTENT] # AI开放接口-微信翻译
395
396
  wechat user [OPEN_ID] # 获取用户基本信息
396
397
  wechat user_batchget [OPEN_ID_LIST] # 批量获取用户基本信息
397
398
  wechat user_change_group [OPEN_ID, TO_GROUP_ID] # 移动用户分组
398
399
  wechat user_group [OPEN_ID] # 查询用户所在分组
399
400
  wechat user_update_remark [OPEN_ID, REMARK] # 设置备注名
400
401
  wechat users # 关注者列表
402
+ wechat wxa_msg_sec_check [CONTENT] # 检查一段文本是否含有违法违规内容。
401
403
  wechat wxacode_download [WXA_CODE_PIC_PATH, PATH, WIDTH] # 下载小程序码
402
404
  ```
403
405
 
data/README.md CHANGED
@@ -7,7 +7,7 @@ WeChat [![Gem Version](https://badge.fury.io/rb/wechat.svg)](https://rubygems.or
7
7
 
8
8
  [Wechat](http://www.wechat.com/) is a Chinese multi-purpose messaging, social media and mobile payment app developed by Tencent. It was first released in 2011, and by 2018 it was one of the world's largest standalone mobile apps by monthly active users, with over 1 billion monthly active users (902 million daily active users). (According to [wiki](https://en.wikipedia.org/wiki/WeChat))
9
9
 
10
- WeChat gem helps Rails developers integrate [WeChat Official Accounts Platform](https://mp.weixin.qq.com/) and [Wechat Enterprise](https://qy.weixin.qq.com) easily, including features:
10
+ WeChat gem helps Rails developers integrate [WeChat Official Accounts Platform](https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html) or [Wechat mini program](https://developers.weixin.qq.com/miniprogram/dev/framework/) easily, including features:
11
11
 
12
12
  - [Sending message](http://qydev.weixin.qq.com/wiki/index.php?title=%E5%8F%91%E9%80%81%E6%B6%88%E6%81%AF) API(can be both accessed via console or rails server)
13
13
  - [Receiving message](http://qydev.weixin.qq.com/wiki/index.php?title=%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF%E4%B8%8E%E4%BA%8B%E4%BB%B6)(rails server is required to be running)
@@ -391,7 +391,7 @@ Wechat Public Account commands:
391
391
  wechat group_delete [GROUP_ID] # 删除分组
392
392
  wechat group_update [GROUP_ID, NEW_GROUP_NAME] # 修改分组名
393
393
  wechat groups # 查询所有分组
394
- wechat material [MEDIA_ID, PATH] # 永久媒体下载
394
+ wechat material_get [MEDIA_ID, PATH] # 永久媒体下载
395
395
  wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
396
396
  wechat material_count # 获取永久素材总数
397
397
  wechat material_delete [MEDIA_ID] # 删除永久素材
@@ -423,12 +423,14 @@ Wechat Public Account commands:
423
423
  wechat tag_update [TAG_ID, TAGNAME] # 更新标签名字
424
424
  wechat tags # 获取所有标签
425
425
  wechat template_message [OPENID, TEMPLATE_YAML_PATH] # 模板消息接口
426
+ wechat translatecontent [CONTENT] # AI开放接口-微信翻译
426
427
  wechat user [OPEN_ID] # 获取用户基本信息
427
428
  wechat user_batchget [OPEN_ID_LIST] # 批量获取用户基本信息
428
429
  wechat user_change_group [OPEN_ID, TO_GROUP_ID] # 移动用户分组
429
430
  wechat user_group [OPEN_ID] # 查询用户所在分组
430
431
  wechat user_update_remark [OPEN_ID, REMARK] # 设置备注名
431
432
  wechat users # 关注者列表
433
+ wechat wxa_msg_sec_check [CONTENT] # 检查一段文本是否含有违法违规内容。
432
434
  wechat wxacode_download [WXA_CODE_PIC_PATH, PATH, WIDTH] # 下载小程序码
433
435
  wechat clear_quota # 接口调用次数清零
434
436
  ```
data/bin/wechat CHANGED
@@ -225,6 +225,11 @@ class App < Thor
225
225
  puts 'WXA Code File downloaded'
226
226
  end
227
227
 
228
+ desc 'wxa_msg_sec_check [CONTENT]', '检查一段文本是否含有违法违规内容。'
229
+ def wxa_msg_sec_check(content)
230
+ puts wechat_api.wxa_msg_sec_check(content)
231
+ end
232
+
228
233
  desc 'media_uploadnews [MPNEWS_YAML_PATH]', '上传图文消息素材'
229
234
  def media_uploadnews(mpnews_yaml_path)
230
235
  mpnew = YAML.load(File.read(mpnews_yaml_path))
@@ -315,6 +320,11 @@ class App < Thor
315
320
  def queryrecoresultfortext(voice_id)
316
321
  puts wechat_api.queryrecoresultfortext(voice_id)
317
322
  end
323
+
324
+ desc 'translatecontent [CONTENT]', 'AI开放接口-微信翻译'
325
+ def translatecontent(content)
326
+ puts wechat_api.translatecontent(content)
327
+ end
318
328
  end
319
329
 
320
330
  desc 'user [OPEN_ID]', '获取用户基本信息'
@@ -384,9 +394,9 @@ class App < Thor
384
394
  puts wechat_api.media_uploadimg(image_path)
385
395
  end
386
396
 
387
- desc 'material [MEDIA_ID, PATH]', '永久媒体下载'
388
- def material(media_id, path)
389
- tmp_file = wechat_api.material(media_id)
397
+ desc 'material_get [MEDIA_ID, PATH]', '永久媒体下载'
398
+ def material_get(media_id, path)
399
+ tmp_file = wechat_api.get_material(media_id)
390
400
  FileUtils.mv(tmp_file.path, path)
391
401
  puts 'File downloaded'
392
402
  end
@@ -23,8 +23,6 @@ module Wechat
23
23
  end
24
24
 
25
25
  class << self
26
- private
27
-
28
26
  def next_migration_number(dirname)
29
27
  ::ActiveRecord::Generators::Base.next_migration_number(dirname)
30
28
  end
@@ -23,8 +23,6 @@ module Wechat
23
23
  end
24
24
 
25
25
  class << self
26
- private
27
-
28
26
  def next_migration_number(dirname)
29
27
  ::ActiveRecord::Generators::Base.next_migration_number(dirname)
30
28
  end
@@ -51,4 +51,4 @@ module Wechat
51
51
  end
52
52
  end
53
53
 
54
- ActionView::Base.send :include, Wechat::Helpers if defined? ActionView::Base
54
+ ActionView::Base.include Wechat::Helpers if defined? ActionView::Base
@@ -6,7 +6,7 @@ module Wechat
6
6
 
7
7
  API_BASE = 'https://api.weixin.qq.com/cgi-bin/'
8
8
  MP_BASE = 'https://mp.weixin.qq.com/cgi-bin/'
9
- WXA_BASE = 'https://api.weixin.qq.com/wxa/'
9
+ WXA_BASE = 'https://api.weixin.qq.com/wxa/'
10
10
  OAUTH2_BASE = 'https://api.weixin.qq.com/sns/'
11
11
  DATACUBE_BASE = 'https://api.weixin.qq.com/datacube/'
12
12
  QYAPI_BASE = 'https://qyapi.weixin.qq.com/cgi-bin/'
@@ -97,9 +97,13 @@ module Wechat
97
97
  private_class_method def self.resolve_config_file(config_file, env)
98
98
  return unless File.exist?(config_file)
99
99
 
100
- # rubocop:disable Security/YAMLLoad
101
- raw_data = YAML.load(ERB.new(File.read(config_file)).result)
102
- # rubocop:enable Security/YAMLLoad
100
+ begin
101
+ # rubocop:disable Security/YAMLLoad
102
+ raw_data = YAML.load(ERB.new(File.read(config_file)).result)
103
+ # rubocop:enable Security/YAMLLoad
104
+ rescue NameError
105
+ puts "WARNING: If using 'Rails.application.credentials.wechat_secret!' in wechat.yml, you need run in 'rails c' and access via 'Wechat.api' or gem 'figaro' instead."
106
+ end
103
107
  configs = {}
104
108
  if env
105
109
  # Process multiple accounts when env is given
@@ -33,7 +33,7 @@ module Wechat
33
33
  # app_id or corp_id
34
34
  def pack(content, app_id)
35
35
  random = SecureRandom.hex(8)
36
- text = content.force_encoding('ASCII-8BIT')
36
+ text = content.dup.force_encoding('ASCII-8BIT')
37
37
  msg_len = [text.length].pack('N')
38
38
 
39
39
  encode_padding("#{random}#{msg_len}#{text}#{app_id}")
@@ -41,7 +41,7 @@ module Wechat
41
41
 
42
42
  def unpack(msg)
43
43
  msg = decode_padding(msg)
44
- msg_len = msg[16, 4].reverse.unpack('V')[0]
44
+ msg_len = msg[16, 4].reverse.unpack1('V')
45
45
  content = msg[20, msg_len]
46
46
  app_id = msg[(20 + msg_len)..-1]
47
47
 
@@ -106,6 +106,10 @@ module Wechat
106
106
  post 'wxaapp/createwxaqrcode', JSON.generate(path: path, width: width)
107
107
  end
108
108
 
109
+ def wxa_msg_sec_check(content)
110
+ post 'msg_sec_check', JSON.generate(content: content), base: Wechat::Api::WXA_BASE
111
+ end
112
+
109
113
  def menu
110
114
  get 'menu/get'
111
115
  end
@@ -133,7 +137,13 @@ module Wechat
133
137
  end
134
138
 
135
139
  def material(media_id)
136
- get 'material/get', params: { media_id: media_id }, as: :file
140
+ ActiveSupport::Deprecation.warn('material is deprecated. use get_material instead.')
141
+
142
+ post 'material/get_material', JSON.generate(media_id: media_id), as: :file
143
+ end
144
+
145
+ def get_material(media_id)
146
+ post 'material/get_material', JSON.generate(media_id: media_id), as: :file
137
147
  end
138
148
 
139
149
  def material_count
@@ -204,6 +214,10 @@ module Wechat
204
214
  post 'media/voice/queryrecoresultfortext', nil, params: { voice_id: voice_id, lang: lang }
205
215
  end
206
216
 
217
+ def translatecontent(from_content, lfrom = 'zh_CN', lto = 'en_US')
218
+ post 'media/voice/translatecontent', from_content, params: { lfrom: lfrom, lto: lto }
219
+ end
220
+
207
221
  def web_access_token(code)
208
222
  params = {
209
223
  appid: access_token.appid,
@@ -155,7 +155,13 @@ module Wechat
155
155
  end
156
156
 
157
157
  def material(media_id)
158
- get 'material/get', params: { media_id: media_id, agentid: agentid }, as: :file
158
+ ActiveSupport::Deprecation.warn('material is deprecated. use get_material instead.')
159
+
160
+ post 'material/get_material', JSON.generate(media_id: media_id), params: { agentid: agentid }, as: :file
161
+ end
162
+
163
+ def get_material(media_id)
164
+ post 'material/get_material', JSON.generate(media_id: media_id), params: { agentid: agentid }, as: :file
159
165
  end
160
166
 
161
167
  def material_add(type, file)
@@ -170,6 +176,14 @@ module Wechat
170
176
  post 'message/send', Message.to(userid).text(message).agent_id(agentid).to_json, content_type: :json
171
177
  end
172
178
 
179
+ def news_message_send(userid, title, description, link_url, pic_url)
180
+ post 'message/send', Message.to(userid).news([{ title: title,
181
+ description: description,
182
+ url: link_url,
183
+ pic_url: pic_url }])
184
+ .agent_id(agentid).to_json, content_type: :json
185
+ end
186
+
173
187
  def custom_message_send(message)
174
188
  post 'message/send', message.is_a?(Wechat::Message) ? message.agent_id(agentid).to_json : JSON.generate(message.merge(agent_id: agentid)), content_type: :json
175
189
  end
@@ -14,7 +14,7 @@ module Wechat
14
14
  HTTP.timeout(:global, write: timeout, connect: timeout, read: timeout)
15
15
  end
16
16
  @ssl_context = OpenSSL::SSL::SSLContext.new
17
- @ssl_context.ssl_version = :TLSv1
17
+ @ssl_context.ssl_version = :TLSv1_2
18
18
  @ssl_context.verify_mode = OpenSSL::SSL::VERIFY_NONE if skip_verify_ssl
19
19
  end
20
20
 
@@ -34,6 +34,10 @@ module Wechat
34
34
  post 'wxopen/template/del', JSON.generate(template_id: template_id)
35
35
  end
36
36
 
37
+ def subscribe_message_send(message)
38
+ post 'message/subscribe/send', message.to_json
39
+ end
40
+
37
41
  def jscode2session(code)
38
42
  params = {
39
43
  appid: access_token.appid,
metadata CHANGED
@@ -1,41 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wechat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.5
4
+ version: 0.11.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Skinnyworm
8
8
  - Eric Guo
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain:
12
12
  - |
13
13
  -----BEGIN CERTIFICATE-----
14
14
  MIIEQDCCAqigAwIBAgIBATANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBplcmlj
15
- Lmd1b2N6L0RDPWdtYWlsL0RDPWNvbTAeFw0xOTA4MzAwODIzMTVaFw0yMDA4Mjkw
16
- ODIzMTVaMCUxIzAhBgNVBAMMGmVyaWMuZ3VvY3ovREM9Z21haWwvREM9Y29tMIIB
17
- ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA2ZlFyUImo53jN4+1Kk6cyGts
18
- LcT2x+i3G4mvZeqrZFCyhgWHJ04oAsfKBLCLRmspRsUuDQ3GQ8P5tH9oTduu55qy
19
- ohflwuuffJHwsJYJEQ4hykJSCQ8gd4qj8WrhAmNo15ujq6mjGXPRBtZltR142kKE
20
- o1tUYtc4Fr3oIAh65m62ZC2kJ5GATLYQ+U3JiiHWga8iJ8KSHbrzhM4N3ppaeYxD
21
- wk6Lwk2OyppO9Iiv9Ad2BEFFd2s7mvYtaMGPWYK2fYTUuq6yKupg3CppX3ttq+bN
22
- Ejx6dXn4RwYmATfc/Iv4aVU8lZS9HABqmProgkmi5vE2AAW1rQihm2ACm9VGlX+B
23
- J2uIIWFJC56+TmkyqcBM87ztRxFlNLJe1G2S2TZ/qhAyWfoSEDA9eW6OUsb6qvnz
24
- PHFPo/Vgq9BEoYMItUsEoJHdmLBjzhiccQx2XWAhZrBREpH20jIC/ereVGRpAeVf
25
- kYdFgW84K+lL9XTt9QJNM08YM/mFcpaGq4/2YbbLAgMBAAGjezB5MAkGA1UdEwQC
26
- MAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQdvlZDewUSWN/OWf9bTuDHHc5r+TAf
15
+ Lmd1b2N6L0RDPWdtYWlsL0RDPWNvbTAeFw0yMDA5MDIwNDUzMjFaFw0yMTA5MDIw
16
+ NDUzMjFaMCUxIzAhBgNVBAMMGmVyaWMuZ3VvY3ovREM9Z21haWwvREM9Y29tMIIB
17
+ ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwSfWr5RlUBlv9OuNgmxjPwhU
18
+ 7eoT/m7K5h0PzUaue+dtno4WqjodoCPHF6r9hh8Ys0h1VAPu3sobH2gNaL18M0CY
19
+ bmq+ik6LgH5tX2E6c2BmhMuURt2y1YvIwvx0dDOlEXll9J8ZVqGyo3Rm9AIblA3/
20
+ w/V5VJGCj3XY6iipNkHHDlSWSYeD2mNr0wJW8EAUFFcyRddpotxR9Es8JwUpXdj8
21
+ Bc5a/OWxKvzqLVlu76zYRYuZ41+3gWNxYF9OPnp55sNtsboGh5LJSdXZOs5+gMw9
22
+ gEW/KsP4GSMlqBT7SQEO5EH3qjp3aatHaMT8Fq9h3AnNESQMubMWtlPqEYyrYkli
23
+ wr8A8SGiX3rCkNG0cc4zVsagtXm4csbSeaIjLV57LA2sKngI4/kw55UYlloAtGPh
24
+ qNEqsPLbN/RkyS1zQjf14mQBpBt3SdxnT7YDSPIYiAPTtLuThcy3Flgh6cDX1RH7
25
+ FQPZJzQ7pSb/3Edj+VBaYhpo+y4ySLxx9DOLfm6lAgMBAAGjezB5MAkGA1UdEwQC
26
+ MAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRWBfZurpq8AmvpfBq7eSA0ivhotDAf
27
27
  BgNVHREEGDAWgRRlcmljLmd1b2N6QGdtYWlsLmNvbTAfBgNVHRIEGDAWgRRlcmlj
28
- Lmd1b2N6QGdtYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAYEAkS8q1uex/jWTHtYi
29
- 6Rgv8hZugwpFCwGPb9i4VgSSA1qkfsFhNxQji1xcpo8hYlH6zW9L6CGC9BU4n9R2
30
- iyuuvtHVnxt5i6u39fIw0dIHJdtswSXZ6Kq58RP1Lg1nbmXX0zHz1fXp+DXL7NoJ
31
- bBHL9Oy6jps/Lz8fIanPIZ6iT/akA7Mts94v1F9dyeA3IIJVptvmuGFC9PexX4TJ
32
- fZ/qmk93C6KEOGEQ0zJzjnKjRZT0KOnJxbpB6/4Xvr+SrTb0yx20s+YWWa28pb0C
33
- gNr4HHRfhmqxoTKvM4Mm9oJSBO/ENi5zfLwvwOWRuriMuDGYmKCdwmn4Y9asgYS4
34
- 2febpVoh2LTA7GDc1VJOKhxisQ2OtYpcTR503eGyIrnS4NGs+B0rXOB7pEX+VOju
35
- 2Gz/SZ1dgCkJpJU45GNrhatKx3kyg8eC5IHekNrEvJNJqPl0VdRIs/GtUkQyk+np
36
- 3kTPkfLMsAZznXo3bzMe0V5TB4+a7pFEK1nN/htWrOVkIi/3
28
+ Lmd1b2N6QGdtYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAYEAJ1tLpEqCXma9fFeU
29
+ l6N4tEDrwYVxdbkXgOScUZBsagNlEM9vvskygivKu8AV8ffdtsg9OAuhdfAjPjX+
30
+ GvGnmuoweHFTsIrOhNryqFDgvkufBczmFLOskjRuzt4NoBNgge8+xoNo+N9o/0jz
31
+ GZi69Dth2i92rffuEzyFbfA9xzkjL+uSqJRJVDP5UbIWGnQ99M4GfplJZWRkmoX9
32
+ 5Ek/ZVhzEz6kdZuZErloYKqjWWvFHUFAYmJd3fqKpb468yTIaL4bl4aUl2+xLdyK
33
+ fPI/ZWGy2uNjffzbrhJ+Ti6qAdubkJoMIqrfbrFV1ew2Bxkp/93etXVNjAgHNmu1
34
+ o3VAf3sbhnj33jAri7JYx/1MhAcJXlvpKxX9QnYouxU/RgzBF7oqcT0dJ2jWUnAI
35
+ spvOK5/LPXWX6ZGc2SR8SH/s7ftYH2EkeM1VUbtemow08NdgCwJ4IG+fRQ9dcrJ+
36
+ L9TbpLHvVrCe1w8duMqNeUmqj+M1iC/5Zst2vIe14QcOTuAh
37
37
  -----END CERTIFICATE-----
38
- date: 2019-08-30 00:00:00.000000000 Z
38
+ date: 2020-09-02 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: activesupport
@@ -139,14 +139,14 @@ dependencies:
139
139
  requirements:
140
140
  - - "~>"
141
141
  - !ruby/object:Gem::Version
142
- version: '3.6'
142
+ version: '4.0'
143
143
  type: :development
144
144
  prerelease: false
145
145
  version_requirements: !ruby/object:Gem::Requirement
146
146
  requirements:
147
147
  - - "~>"
148
148
  - !ruby/object:Gem::Version
149
- version: '3.6'
149
+ version: '4.0'
150
150
  - !ruby/object:Gem::Dependency
151
151
  name: sqlite3
152
152
  requirement: !ruby/object:Gem::Requirement
@@ -213,7 +213,7 @@ homepage: https://github.com/Eric-Guo/wechat
213
213
  licenses:
214
214
  - MIT
215
215
  metadata: {}
216
- post_install_message:
216
+ post_install_message:
217
217
  rdoc_options: []
218
218
  require_paths:
219
219
  - lib
@@ -221,15 +221,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
221
221
  requirements:
222
222
  - - "~>"
223
223
  - !ruby/object:Gem::Version
224
- version: '2.3'
224
+ version: '2.4'
225
225
  required_rubygems_version: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - ">="
228
228
  - !ruby/object:Gem::Version
229
229
  version: '0'
230
230
  requirements: []
231
- rubygems_version: 3.0.6
232
- signing_key:
231
+ rubygems_version: 3.1.4
232
+ signing_key:
233
233
  specification_version: 4
234
234
  summary: DSL for wechat message handling and API
235
235
  test_files: []
metadata.gz.sig CHANGED
Binary file