class Rails::Ding::CacheService

Public Class Methods

get(key) click to toggle source
# File lib/rails/ding/cache_service.rb, line 44
def self.get(key)
  if key.present?
    data = get_file(Rails.root.to_s + "config/filecache.yml")
    if data.present? && data.has_key?(key)
        item = data["#{key}"]
        return false  if !item
        if item['expire_time']>0 && item['expire_time'] < Time.now.to_i
            return false;
        end
        return item["#{key}"]
    else
      return false;
    end
  end
end
getCorpAccessToken() click to toggle source
# File lib/rails/ding/cache_service.rb, line 17
def self.getCorpAccessToken
  return get("corp_access_token")
end
getJsTicket() click to toggle source
# File lib/rails/ding/cache_service.rb, line 9
def self.getJsTicket()
  return get("js_ticket")
end
get_file(filename) click to toggle source
# File lib/rails/ding/cache_service.rb, line 60
def self.get_file(filename)
  if !File.exist?(filename)
    file = File.open(filename, "w")
    file.write("{}")
    file.close
  end
  return YAML.load(File.read(filename))
end
get_value(name) click to toggle source

使用变量

# File lib/rails/ding/cache_service.rb, line 26
def self.get_value(name)
  get(name)
end
set(key,value,options = {}) click to toggle source
# File lib/rails/ding/cache_service.rb, line 30
def self.set(key,value,options = {})
  ex = options[:ex] ? Time.now.to_i + options[:ex] : 0
  if key && value
    data = get_file(Rails.root.to_s + "config/filecache.yml")

    item = {}
    item["#{key}"] = value
    item['expire_time'] = ex
    item['create_time'] = Time.now.to_i
    data["#{key}"] = item
    set_file(Rails.root.to_s + "config/filecache.yml",data.to_json)
  end
end
setCorpAccessToken(accessToken) click to toggle source
# File lib/rails/ding/cache_service.rb, line 13
def self.setCorpAccessToken(accessToken)
  set("corp_access_token", accessToken, ex: 7000) # corp access token有效期为7200秒,这里设置为7000秒
end
setJsTicket(ticket) click to toggle source
# File lib/rails/ding/cache_service.rb, line 5
def self.setJsTicket(ticket)
  set("js_ticket", ticket, ex: 7000); # js ticket有效期为7200秒,这里设置为7000秒
end
set_file(filename, content) click to toggle source
# File lib/rails/ding/cache_service.rb, line 69
def self.set_file(filename, content)
  file = File.open(filename, "w")
  file.write(content)
  file.close unless file.nil?
end
set_value(name,value) click to toggle source

保存变量

# File lib/rails/ding/cache_service.rb, line 22
def self.set_value(name,value)
  set(name, value)
end