Class: Tremolo::DataPoint

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(series_name, data, time = nil) ⇒ DataPoint

Returns a new instance of DataPoint.



5
6
7
8
9
10
11
# File 'lib/tremolo/data_point.rb', line 5

def initialize(series_name, data, time=nil)
  self.series_name = series_name
  self.time = time.nil? ? nil : time.to_i

  self.tags = data.fetch(:tags, {})
  self.values = data.fetch(:values, [])
end

Instance Attribute Details

#series_nameObject

Returns the value of attribute series_name.



3
4
5
# File 'lib/tremolo/data_point.rb', line 3

def series_name
  @series_name
end

#tagsObject

Returns the value of attribute tags.



3
4
5
# File 'lib/tremolo/data_point.rb', line 3

def tags
  @tags
end

#timeObject

Returns the value of attribute time.



3
4
5
# File 'lib/tremolo/data_point.rb', line 3

def time
  @time
end

#valuesObject

Returns the value of attribute values.



3
4
5
# File 'lib/tremolo/data_point.rb', line 3

def values
  @values
end

Instance Method Details

#linesObject

join lines for each value



24
25
26
# File 'lib/tremolo/data_point.rb', line 24

def lines
  values.map(&line_format).join("\n")
end

#measurement_and_tagsObject

join the series name and tag values



19
20
21
# File 'lib/tremolo/data_point.rb', line 19

def measurement_and_tags
  [series_name, tag_values].delete_if {|v| v.to_s.length == 0}.join(',')
end

#tag_valuesObject

key/value pairs of tag data



14
15
16
# File 'lib/tremolo/data_point.rb', line 14

def tag_values
  tags.map(&value_mapper).join(',')
end