class WechatGate::Tokens::Base
Public Class Methods
new(config)
click to toggle source
# File lib/wechat_gate/tokens/base.rb, line 13 def initialize config @config = config end
refresh(config)
click to toggle source
# File lib/wechat_gate/tokens/base.rb, line 8 def self.refresh config handler = new(config) handler.run end
Public Instance Methods
expired_in()
click to toggle source
# File lib/wechat_gate/tokens/base.rb, line 22 def expired_in 7100 end
run()
click to toggle source
# File lib/wechat_gate/tokens/base.rb, line 17 def run fetch if is_expired? File.readlines(saved_file).first.chomp.split(' ').last end
Protected Instance Methods
save(response)
click to toggle source
# File lib/wechat_gate/tokens/base.rb, line 31 def save response raise "need to implement #save method in sub-class" end
url()
click to toggle source
# File lib/wechat_gate/tokens/base.rb, line 27 def url raise "need to implement #ur method in sub-class" end
Private Instance Methods
fetch()
click to toggle source
# File lib/wechat_gate/tokens/base.rb, line 36 def fetch WechatGate::Request.send(url) do |response| save response response end end
is_expired?()
click to toggle source
# File lib/wechat_gate/tokens/base.rb, line 48 def is_expired? if File.exists?(saved_file) line = File.readlines(saved_file).first unless line return true else line = line.chomp return Time.now.to_i - line.split(' ').first.to_i >= expired_in end else FileUtils.touch(saved_file) return true end end
saved_file()
click to toggle source
# File lib/wechat_gate/tokens/base.rb, line 43 def saved_file # File.expand_path("../../../../data/APP-#{@config.app_name}-#{self.class.name}", __FILE__) "/tmp/APP-#{@config.app_name}-#{self.class.name}-#{@config.config['app_id']}" end