class PulseMeter::DygraphsVisualize::SeriesExtractor::Hashed
Public Instance Methods
parse_data(value)
click to toggle source
# File lib/pulse_meter/dygraphs_visualize/series_extractor.rb, line 38 def parse_data(value) if value if value.is_a?(String) JSON.parse(value) else value end else {} end end
point_data(value)
click to toggle source
# File lib/pulse_meter/dygraphs_visualize/series_extractor.rb, line 50 def point_data(value) data = parse_data(value) data.keys.map do |k| { y: to_float(data[k]), name: series_title(k) } end end
series_data(timeline_data)
click to toggle source
# File lib/pulse_meter/dygraphs_visualize/series_extractor.rb, line 69 def series_data(timeline_data) series_data = {} parsed_data = timeline_data.map do |sd| data = parse_data(sd.value) data.keys.each{|k| series_data[k] ||= {name: series_title(k), data: []}} [sd.start_time.to_i*1000, data] end series_names = series_data.keys.sort parsed_data.each do |data| series_names.each do |k| series_data[k][:data] << {x: data[0], y: to_float(data[1][k])} end end series_data.values end
series_title(key)
click to toggle source
# File lib/pulse_meter/dygraphs_visualize/series_extractor.rb, line 60 def series_title(key) annotation = @sensor.annotation if annotation && !annotation.empty? "#{annotation}: #{key}" else key end end