Class: Dboard::Api

Inherits:
Object
  • Object
show all
Defined in:
lib/api.rb

Defined Under Namespace

Classes: Client

Constant Summary collapse

MAX_CACHE_TIME =

seconds

3600
@@version =
nil

Class Method Summary collapse

Class Method Details

.get(params) ⇒ Object



38
39
40
41
42
43
44
45
46
# File 'lib/api.rb', line 38

def self.get(params)
  types = {}
  params[:types].split(",").each do |type|
    raw_data = CACHE.get("dashboard::source::#{type}")
    data = raw_data ? JSON.parse(raw_data) : {}
    types.merge!(type => { data: data, checksum: Digest::MD5.hexdigest(data.inspect) })
  end
  { version: (@@version || ENV["COMMIT_HASH"] || "unversioned"), sources: types }.to_json
end

.update(params) ⇒ Object



52
53
54
# File 'lib/api.rb', line 52

def self.update(params)
  CACHE.set "dashboard::source::#{params[:type]}", params[:data], MAX_CACHE_TIME
end

.version=(version) ⇒ Object



48
49
50
# File 'lib/api.rb', line 48

def self.version=(version)
  @@version = version
end