wechat 0.11.0 → 0.11.1

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: 7b383f8c031c63e1314dc28869389f1f69e0bad4f1dd7821bc1a0169fdf28905
4
- data.tar.gz: 9f62ed282adbd93ab022974ac5650e70349768480613ba429c7f528d6805a7ff
3
+ metadata.gz: 390ca71e91a479909b212f09bc2260abbbe17e1d0ac85475952721f3cf7e70d4
4
+ data.tar.gz: 48e3da1f67e2f6362908b3d0e47e01881bfd122aafcaa50066c64e2a63ad2801
5
5
  SHA512:
6
- metadata.gz: 55258c585033c225b36962c9520642ca72c5e84ef75be0b14d0243f0f4dfa973b97760dcc3ef8a1c69ac1c3dd2074b46ffe90b393c016ca26757369f463897b5
7
- data.tar.gz: bcfc4f5ae3f3e135f7254705b9deb28ac7fada1401b77301a1a37beba2e0bd32d3fa7d8ea09c73399715d7b90d259ce81ef547d587b624ae4ad55d9c3ab9f64c
6
+ metadata.gz: '0298c6dfc1d93e2723a5b4521150dc6f0d7753d7518db290297459a7db6d085ac0c175810a33cf8ea18b6f59c78862a4bb7b9a2d9366ca40978026449762959b'
7
+ data.tar.gz: 5e16496298bdd8495209e3542345e1faa9c5cc4f476b7d6a5452753fcd505db0ac3ee01cbc8c058effb004c776219701d9a7e9a643d1924ea597572c9a339063
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.11.1 (released at 03/01/2019)
4
+
5
+ * Let Message support markdown, text included; allow textcard btntxt to be omitted by @hophacker #251
6
+ * Enterprise account add checkin api by @hophacker #254
7
+ * Suggest use secret to differentiate different acces_tokens and tickets in Enterprise account by @hophacker #255
8
+
9
+
3
10
  ## v0.11.0 (released at 01/22/2019)
4
11
 
5
12
  * Support Ruby 2.6.0 official
data/README-CN.md CHANGED
@@ -3,13 +3,13 @@ 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://mp.weixin.qq.com/)和[企业微信](https://qy.weixin.qq.com),包括功能:
7
7
 
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
- - [回调消息](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服务器)
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
+ - [接收消息](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服务器)
10
10
  - [微信JS-SDK](http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BE%AE%E4%BF%A1JS%E6%8E%A5%E5%8F%A3) config接口注入权限验证
11
11
  - OAuth 2.0认证机制
12
- - 回调消息会话(session)记录机制(可选)
12
+ - 接收消息会话(session)记录机制(可选)
13
13
 
14
14
  命令行工具`wechat`可以调用各种无需web环境的API。同时也提供了Rails Controller的responder DSL, 可以帮助开发者方便地在Rails应用中集成微信的消息处理,包括主动推送的和被动响应的消息。
15
15
 
@@ -107,7 +107,7 @@ access_token: "C:/Users/[user_name]/wechat_access_token"
107
107
  #### Rails 全局配置
108
108
  Rails应用程序中,需要将配置文件放在`config/wechat.yml`,可以为不同environment创建不同的配置。
109
109
 
110
- 公众号配置示例:
110
+ 微信公众平台配置示例:
111
111
 
112
112
  ```
113
113
  default: &default
@@ -133,7 +133,7 @@ test:
133
133
  <<: *default
134
134
  ```
135
135
 
136
- 公众号可选安全模式(加密模式),通过添加如下配置可开启加密模式。
136
+ 微信公众平台可选安全模式(加密模式),通过添加如下配置可开启加密模式。
137
137
 
138
138
  ```
139
139
  default: &default
@@ -141,7 +141,7 @@ default: &default
141
141
  encoding_aes_key: "my_encoding_aes_key"
142
142
  ```
143
143
 
144
- 企业号配置下必须使用加密模式,其中token和encoding_aes_key可以从企业号管理界面的应用中心->某个应用->模式选择,选择回调模式后获得。
144
+ 企业微信配置下必须使用加密模式,其中token和encoding_aes_key可以从企业号管理界面的应用中心->某个应用->模式选择,选择回调模式后获得。
145
145
 
146
146
  ```
147
147
  default: &default
@@ -192,6 +192,19 @@ test:
192
192
  # secret: "my_secret"
193
193
  ```
194
194
 
195
+ 支持 微信公众平台/企业微信 多账号的注意点(例如,增加账号`wx2`):
196
+
197
+ * 配置文件可增加多个微信公众平台(企业微信)配置,用法类似Rails中`config/database.yml`多数据库配置的处理。`development`, `test`, `production`是默认账号的配置段,要想增加账号`wx2`,你需要增加配置段`wx2_development`, `wx2_test`, `wx2_production`。
198
+
199
+ * 声明账号`wx2`的`wechat_responder`:
200
+ ```ruby
201
+ wechat_responder account: :wx2
202
+ ```
203
+
204
+ * `Wechat.api(:wx2)` 表示使用账号`wx2`的Wechat api,而`Wechat.api`或`Wechat.api(:default)`则表示默认账号的wechat api。
205
+
206
+ * 在wechat命令行中,通过增加可选参数`-a, [--account=ACCOUNT]`来表示使用其他账号,例如`wechat users -a wx2`表示列举`wx2`这个账号的粉丝列表
207
+
195
208
  进一步的多账号支持参见[PR 150](https://github.com/Eric-Guo/wechat/pull/150)。
196
209
 
197
210
  #### 数据库微信账户配置
@@ -298,7 +311,7 @@ class CartController < ActionController::Base
298
311
  end
299
312
  ```
300
313
 
301
- 企业号可使用如下代码取得企业用户的相关信息。
314
+ 企业微信可使用如下代码取得企业用户的相关信息。
302
315
 
303
316
  ```ruby
304
317
  class WechatsController < ActionController::Base
@@ -326,9 +339,9 @@ wechat gems 内部不会检查权限。但因公众号类型不同,和微信
326
339
 
327
340
  ## 使用命令行
328
341
 
329
- 根据企业号和公众号配置不同,wechat提供了的命令行命令。
342
+ 根据企业微信和微信公众平台配置不同,wechat提供了的命令行命令。
330
343
 
331
- #### 公众号命令行
344
+ #### 微信公众平台命令行
332
345
 
333
346
  ```
334
347
  $ wechat
@@ -385,11 +398,11 @@ Wechat Public Account commands:
385
398
  wechat wxacode_download [WXA_CODE_PIC_PATH, PATH, WIDTH] # 下载小程序码
386
399
  ```
387
400
 
388
- #### 企业号命令行
401
+ #### 企业微信命令行
389
402
  ```
390
403
  $ wechat
391
404
  Wechat Enterprise Account commands:
392
- wechat agent [AGENT_ID] # 获取企业号应用详情
405
+ wechat agent [AGENT_ID] # 获取企业微信应用详情
393
406
  wechat agent_list # 获取应用概况列表
394
407
  wechat batch_job_result [JOB_ID] # 获取异步任务结果
395
408
  wechat batch_replaceparty [BATCH_PARTY_CSV_MEDIA_ID] # 全量覆盖部门
@@ -595,7 +608,7 @@ wechat.template_message_send Wechat::Message.to(openid).template(template['templ
595
608
 
596
609
  ## wechat_api - Rails Controller Wechat API
597
610
 
598
- 虽然用户可以随时通过`Wechat.api`在任意代码中访问wechat的API功能,但是更推荐的做法是仅在controller中,通过引入`wechat_api`,使用`wechat`调用API功能,不仅因为这样是支持多个微信公众号的必然要求,而且也避免了在模型层内过多引入微信相关代码。
611
+ 虽然用户可以随时通过`Wechat.api`在任意代码中访问wechat的API功能,但是更推荐的做法是仅在controller中,通过引入`wechat_api`,使用`wechat`调用API功能,不仅因为这样是支持多个微信公众平台账号的必然要求,而且也避免了在模型层内过多引入微信相关代码。
599
612
 
600
613
  ```ruby
601
614
  class WechatReportsController < ApplicationController
@@ -650,12 +663,12 @@ class WechatsController < ActionController::Base
650
663
  request.reply.text "User #{request[:FromUserName]} subscribe now"
651
664
  end
652
665
 
653
- # 公众号收到未关注用户扫描qrscene_xxxxxx二维码时。注意此次扫描事件将不再引发上条的用户加关注事件
666
+ # 公众平台收到未关注用户扫描qrscene_xxxxxx二维码时。注意此次扫描事件将不再引发上条的用户加关注事件
654
667
  on :scan, with: 'qrscene_xxxxxx' do |request, ticket|
655
668
  request.reply.text "Unsubscribe user #{request[:FromUserName]} Ticket #{ticket}"
656
669
  end
657
670
 
658
- # 公众号收到已关注用户扫描创建二维码的scene_id事件时
671
+ # 公众平台收到已关注用户扫描创建二维码的scene_id事件时
659
672
  on :scan, with: 'scene_id' do |request, ticket|
660
673
  request.reply.text "Subscribe user #{request[:FromUserName]} Ticket #{ticket}"
661
674
  end
@@ -667,12 +680,12 @@ class WechatsController < ActionController::Base
667
680
  end
668
681
  end
669
682
 
670
- # 企业号收到EventKey 为二维码扫描结果事件时
683
+ # 企业微信收到EventKey 为二维码扫描结果事件时
671
684
  on :scan, with: 'BINDING_QR_CODE' do |request, scan_result, scan_type|
672
685
  request.reply.text "User #{request[:FromUserName]} ScanResult #{scan_result} ScanType #{scan_type}"
673
686
  end
674
687
 
675
- # 企业号收到EventKey 为CODE 39码扫描结果事件时
688
+ # 企业微信收到EventKey 为CODE 39码扫描结果事件时
676
689
  on :scan, with: 'BINDING_BARCODE' do |message, scan_result|
677
690
  if scan_result.start_with? 'CODE_39,'
678
691
  message.reply.text "User: #{message[:FromUserName]} scan barcode, result is #{scan_result.split(',')[1]}"
@@ -812,6 +825,6 @@ end
812
825
 
813
826
  ## 已知问题
814
827
 
815
- * 企业号接受菜单消息时,Wechat腾讯服务器无法解析部分域名,请使用IP绑定回调URL,用户的普通消息目前不受影响。
816
- * 企业号全量覆盖成员使用的csv通讯录格式,直接将下载的模板导入[是不工作的](http://qydev.weixin.qq.com/qa/index.php?qa=13978),必须使用Excel打开,然后另存为csv格式才会变成合法格式。
828
+ * 企业微信接受菜单消息时,Wechat腾讯服务器无法解析部分域名,请使用IP绑定回调URL,用户的普通消息目前不受影响。
829
+ * 企业微信全量覆盖成员使用的csv通讯录格式,直接将下载的模板导入[是不工作的](http://qydev.weixin.qq.com/qa/index.php?qa=13978),必须使用Excel打开,然后另存为csv格式才会变成合法格式。
817
830
  * 如果使用nginx+unicron部署方案,并且使用了https,必须设置`trusted_domain_fullname`为https,否则会导致JS-SDK签名失效。
data/README.md CHANGED
@@ -5,28 +5,28 @@ WeChat [![Gem Version](https://badge.fury.io/rb/wechat.svg)](https://rubygems.or
5
5
 
6
6
  [中文文档 Chinese document](/README-CN.md)
7
7
 
8
- [Wechat](http://www.wechat.com/) is a free messaging and calling app developed by [Tencent](http://tencent.com/en-us/index.shtml), after linking billion people, Wechat had become [an application platform](https://uxdesign.cc/wechat-the-invincible-app-a-key-to-business-success-in-china-8e9a920deb26?source=wechat_gem).
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 tries to help Rails developer to integrate [enterprise account](https://qy.weixin.qq.com) / [public account](https://mp.weixin.qq.com/) easily. Features below are ready and there is no need to write adapter code for talking to wechat server directly.
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:
11
11
 
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 access via console or in rails
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)(You must run on rails server to receiving message
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
+ - [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
14
14
  - [Wechat JS-SDK](http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BE%AE%E4%BF%A1JS%E6%8E%A5%E5%8F%A3) config signature
15
15
  - OAuth 2.0 authentication
16
16
  - Record session when receiving message from user (Optional)
17
17
 
18
18
 
19
- `wechat` command shares the same API in console, so you can interactive with wechat server quickly, without starting up web environment/code.
19
+ `wechat` command shares the same API in console, so you can interact with wechat server quickly without starting up web environment/code.
20
20
 
21
- A responder DSL can be used in Rails controller, giving an event based interface to handle messages sent by end user from wechat server.
21
+ A responder DSL can be used in Rails controller, which gives an event based interface to handle messages sent by end users.
22
22
 
23
- Wechat provides OAuth2.0 authentication method `wechat_oauth2`, possibly the easiest way, for the users who prefer using devise style authorization gems, [omniauth-wechat-oauth2](https://github.com/skinnyworm/omniauth-wechat-oauth2) can be a good option.
23
+ If Wechat OAuth 2.0 is required by your app, [omniauth-wechat-oauth2](https://github.com/skinnyworm/omniauth-wechat-oauth2) is recommended in order to apply [devise authentication](https://github.com/plataformatec/devise).
24
24
 
25
- There is official [weui](https://github.com/weui/weui), corresponding Rails gem called [weui-rails](https://github.com/Eric-Guo/weui-rails) is available, if you prefer following the same UI design as wechat.
25
+ If tencent's [weui](https://github.com/weui/weui) UI style is adoped in your project, gem [weui-rails](https://github.com/Eric-Guo/weui-rails) is available for you.
26
26
 
27
- For web page only wechat application, please use [`wechat_api`](#wechat_api---rails-controller-wechat-api), which only contains web feature compare with traditional message type [`wechat_responder`](#wechat_responder---rails-responder-controller-dsl).
27
+ For web page only wechat application, please use [`wechat_api`](#wechat_api---rails-controller-wechat-api), which only contains web features, compared with traditional message type [`wechat_responder`](#wechat_responder---rails-responder-controller-dsl).
28
28
 
29
- There is a more complete [wechat-starter](https://github.com/goofansu/wechat-starter) demo available, which even includes the payment SDK feature.
29
+ There is a more complete [wechat-starter](https://github.com/goofansu/wechat-starter) demo available, which futher includes the payment SDK feature.
30
30
 
31
31
  ## Installation
32
32
 
@@ -54,7 +54,7 @@ Run the generator:
54
54
  rails generate wechat:install
55
55
  ```
56
56
 
57
- `rails g wechat:install` will generated the initial `wechat.yml` configuration file, including an sample wechat controller and corresponding routes.
57
+ `rails g wechat:install` will generate the initial `wechat.yml` configuration file, including an sample wechat controller and corresponding routes.
58
58
 
59
59
  Enable session record:
60
60
 
@@ -63,7 +63,7 @@ rails g wechat:session
63
63
  rake db:migrate
64
64
  ```
65
65
 
66
- Enabling session will generate two files in Rails folder, you can add more columns to *wechat_session* table and add declaration to link to users table, it's also possible to store data directly in **hash_store**. if you are using PostgreSQL, using [hstore](http://guides.rubyonrails.org/active_record_postgresql.html#hstore)/json maybe better, but the best way is still to add a dedicate column to record the data, the Rails way.
66
+ Enabling session will generate two files in Rails folder, you can add more columns to *wechat_session* table and add declaration to link to users table, it's also possible to store data directly in **hash_store**. If you are using PostgreSQL, using [hstore](http://guides.rubyonrails.org/active_record_postgresql.html#hstore)/json maybe better, but the best way is to add a dedicated column to record the data (the Rails way).
67
67
 
68
68
  Using Redis to store wechat token and ticket:
69
69
 
@@ -71,7 +71,8 @@ Using Redis to store wechat token and ticket:
71
71
  rails g wechat:redis_store
72
72
  ```
73
73
 
74
- Redis store supports Rails application running in multi-server, no need to enable it if your Rails application is running on one server only, the wechat command won't read the token/ticket stored in Redis.
74
+
75
+ Redis storage supports Rails application running in multiple servers. It is recommended to use default file storage if there is only one single server. Besides that, `wechat` command won't read token/ticket stored in Redis.
75
76
 
76
77
  Enable database wechat configurations:
77
78
 
@@ -94,7 +95,7 @@ How to setup appid/corpid and secret see below section.
94
95
 
95
96
  #### Configure for command line
96
97
 
97
- To use `wechat` command solely, you need to create configuration file `~/.wechat.yml` and include content below for public account. The access_token will be written to a file.
98
+ To use standalone `wechat` command, you need to create configuration file `~/.wechat.yml` and include content below for public account. The `access_token` will be written to file `/var/tmp/wechat_access_token`.
98
99
 
99
100
  ```
100
101
  appid: "my_appid"
@@ -205,7 +206,21 @@ test:
205
206
  # secret: "my_secret"
206
207
  ```
207
208
 
208
- For multiple accounts details reference [PR 150](https://github.com/Eric-Guo/wechat/pull/150)
209
+ Notes about supporting multiple accounts of `WeChat Official Accounts Platform` / `WeChat Enterprise` (for example, adding account `wx2`):
210
+
211
+ * Configuration for multiple accounts is similar to multi-database configuration in `config/database.yml`,
212
+ where `development`, `test`, `production` segments are the default configuration, one needs to add `wx2_development`, `wx2_test`, `wx2_production` in order to add additional account named `wx2`.
213
+
214
+ * Declaration of additional `wechat_responder`:
215
+ ```ruby
216
+ wechat_responder account: :wx2
217
+ ```
218
+
219
+ * Use `Wechat.api` or `Wechat.api(:default)` to represent the default wechat api. Use `Wechat.api(:wx2)` to call for wechat api of account `wx2`.
220
+
221
+ * When using `Wechat command line`, one can switch to another wechat account by adding optional parameters `-a ACCOUNT [--account=ACCOUNT]`.
222
+
223
+ For details about supporting multiple accounts, please check [PR 150](https://github.com/Eric-Guo/wechat/pull/150)
209
224
 
210
225
  For wechat mini program, can specified by the item `type`:
211
226
 
@@ -17,7 +17,7 @@ module Wechat
17
17
  private
18
18
 
19
19
  def redis_key
20
- "my_app_wechat_token_#{self.appid}"
20
+ "my_app_wechat_token_#{self.secret}"
21
21
  end
22
22
  end
23
23
  end
@@ -35,7 +35,7 @@ module Wechat
35
35
  private
36
36
 
37
37
  def redis_key
38
- "my_app_wechat_ticket_#{self.access_token.appid}"
38
+ "my_app_wechat_ticket_#{self.access_token.secret}"
39
39
  end
40
40
  end
41
41
  end
@@ -24,6 +24,15 @@ module Wechat
24
24
  get 'agent/get', params: { agentid: agentid }
25
25
  end
26
26
 
27
+ def checkin(useridlist, starttime = Time.now.beginning_of_day, endtime = Time.now.end_of_day, opencheckindatatype = 3)
28
+ post 'checkin/getcheckindata', JSON.generate(
29
+ opencheckindatatype: opencheckindatatype,
30
+ starttime: starttime.to_i,
31
+ endtime: endtime.to_i,
32
+ useridlist: useridlist
33
+ )
34
+ end
35
+
27
36
  def user(userid)
28
37
  get 'user/get', params: { userid: userid }
29
38
  end
@@ -104,12 +104,19 @@ module Wechat
104
104
  update(MsgType: 'text', Content: content)
105
105
  end
106
106
 
107
- def textcard(title, description, url, btntxt)
108
- update(MsgType: 'textcard', TextCard: {
107
+ def textcard(title, description, url, btntxt = nil)
108
+ data = {
109
109
  title: title,
110
110
  description: description,
111
- url: url,
112
- btntxt: btntxt
111
+ url: url
112
+ }
113
+ data[:btntxt] = btntxt if btntxt.present?
114
+ update(MsgType: 'textcard', TextCard: data)
115
+ end
116
+
117
+ def markdown(content)
118
+ update(MsgType: 'markdown', Markdown: {
119
+ content: content
113
120
  })
114
121
  end
115
122
 
@@ -197,6 +204,7 @@ module Wechat
197
204
 
198
205
  TO_JSON_KEY_MAP = {
199
206
  'TextCard' => 'textcard',
207
+ 'Markdown' => 'markdown',
200
208
  'ToUserName' => 'touser',
201
209
  'ToWxName' => 'towxname',
202
210
  'MediaId' => 'media_id',
@@ -208,7 +216,7 @@ module Wechat
208
216
  'ShowCoverPic' => 'show_cover_pic'
209
217
  }.freeze
210
218
 
211
- TO_JSON_ALLOWED = %w[touser msgtype content image voice video file textcard
219
+ TO_JSON_ALLOWED = %w[touser msgtype content image voice video file textcard markdown
212
220
  music news articles template agentid filter
213
221
  send_ignore_reprint mpnews towxname].freeze
214
222
 
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.11.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Skinnyworm
@@ -35,7 +35,7 @@ cert_chain:
35
35
  ivoox98/nhOs6bHcSFPsxXdxUihcCfCzj+zcaHNEqpvTI/36Bnl2XW6dUJNaFQDc
36
36
  oWOyq5ZkxqnYrYXactjW0+vcPv6WHoHXmjv4dF7iFp8r0mvK
37
37
  -----END CERTIFICATE-----
38
- date: 2019-01-22 00:00:00.000000000 Z
38
+ date: 2019-03-01 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: activesupport
@@ -137,16 +137,16 @@ dependencies:
137
137
  name: sqlite3
138
138
  requirement: !ruby/object:Gem::Requirement
139
139
  requirements:
140
- - - ">="
140
+ - - "~>"
141
141
  - !ruby/object:Gem::Version
142
- version: '0'
142
+ version: 1.3.13
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: '0'
149
+ version: 1.3.13
150
150
  description: API, command and message handling for WeChat in Rails
151
151
  email: eric.guocz@gmail.com
152
152
  executables:
metadata.gz.sig CHANGED
Binary file