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



16
17
18
19
20
21
22
23
24
# File 'lib/api.rb', line 16

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



30
31
32
# File 'lib/api.rb', line 30

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

.version=(version) ⇒ Object



26
27
28
# File 'lib/api.rb', line 26

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