Module: Wechat::AccessToken
- Defined in:
- lib/wechat/access_token.rb,
lib/wechat/access_token/railtie.rb,
lib/wechat/access_token/version.rb
Defined Under Namespace
Classes: Railtie
Constant Summary collapse
- VERSION =
'0.1.1'
Class Method Summary collapse
Class Method Details
.current ⇒ Object
14 15 16 |
# File 'lib/wechat/access_token.rb', line 14 def self.current Wechat.redis.get(key) || get_new end |
.get_new ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/wechat/access_token.rb', line 24 def self.get_new response = request code = response['errcode'] raise StandardError, response['errmsg'] if [-1, 40001, 40164, 40002, 40013].include?(code) token = response['access_token'] if token.present? Wechat.redis.set(key, token, ex: response['expires_in'].to_i - 5 * 60) token else result end end |
.key ⇒ Object
10 11 12 |
# File 'lib/wechat/access_token.rb', line 10 def self.key 'wechat-access-token' end |
.request ⇒ Object
18 19 20 21 22 |
# File 'lib/wechat/access_token.rb', line 18 def self.request url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=#{Wechat.config.base.appid}&secret=#{Wechat.config.base.appsecret}" response = ::RestClient.get(url) JSON.parse(response) end |