Module: Dashboarder::Dashboard

Defined in:
lib/dashboarder/dashboard.rb

Class Method Summary collapse

Class Method Details

.compose(definition) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/dashboarder/dashboard.rb', line 10

def self.compose(definition)
  dashboard = get(definition.first)
  unless dashboard
    dashboard = compose!(definition)
  end
  dashboard
end

.compose!(definition) ⇒ Object



3
4
5
6
7
8
# File 'lib/dashboarder/dashboard.rb', line 3

def self.compose!(definition)
  name = definition.first
  instrument_definitions = definition[1..-1]
  instrument_ids = instrument_definitions.map { |d| Instrument.compose(d)['id'] }
  Dashboarder.api.post('/v1/dashboards', { :name => name, :instruments => instrument_ids })
end

.get(name) ⇒ Object



18
19
20
# File 'lib/dashboarder/dashboard.rb', line 18

def self.get(name)
  Dashboarder.api.get('/v1/dashboards', :query => {:name => name})['dashboards'].first
end