Class: FnordMetric::TimelineWidget

Inherits:
Widget
  • Object
show all
Defined in:
lib/fnordmetric/timeline_widget.rb

Instance Attribute Summary

Attributes inherited from Widget

#gauges, #tick

Instance Method Summary collapse

Methods inherited from Widget

#add_gauges, #default_range, #ensure_has_tick!, #error!, #include_current?, #initialize, #range, #render, #ticks, #title, #token

Constructor Details

This class inherits a constructor from FnordMetric::Widget

Instance Method Details

#dataObject



24
25
26
27
28
29
30
31
# File 'lib/fnordmetric/timeline_widget.rb', line 24

def data
  @series_colors = ["#FACE4F", "#42436B", "#CD645A", "#2F635E"]

  super.merge(
    :labels => data_labels,
    :series => data_series
  )
end

#data_labelsObject



3
4
5
6
7
# File 'lib/fnordmetric/timeline_widget.rb', line 3

def data_labels
  ticks.map do |t|
    Time.at(t).strftime('%d.%m.%y %H:%M')
  end
end

#data_seriesObject



9
10
11
12
13
14
15
16
# File 'lib/fnordmetric/timeline_widget.rb', line 9

def data_series
  gauges.map do |gauge|
    { 
      :color => next_series_colour,
      :data => ticks.map{ |t| gauge.value_at(t)||0 }
    }
  end
end

#has_tick?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/fnordmetric/timeline_widget.rb', line 33

def has_tick?
  true
end

#next_series_colourObject



18
19
20
21
22
# File 'lib/fnordmetric/timeline_widget.rb', line 18

def next_series_colour
  @series_colors.pop.tap do |color|
    @series_colors.unshift(color)
  end
end