class SimpleMetric::Metric
Constants
- MAX_SIZE
Public Class Methods
add_data_point(key, date, value)
click to toggle source
# File lib/simple_metric.rb, line 122 def self.add_data_point(key, date, value) find_or_create_by(:key => key).add_data_point(date, value) end
Public Instance Methods
add_data_point(date, value)
click to toggle source
# File lib/simple_metric.rb, line 126 def add_data_point(date, value) self.data_set ||= [] raise "value '#{value}' is not a number" unless value.is_a? Numeric data_set << [date.to_time, value] data_set.shift(data_set.size - MAX_SIZE) if data_set.size > MAX_SIZE save! end
data_points()
click to toggle source
# File lib/simple_metric.rb, line 150 def data_points if data_set.present? data_set.map { |row| DataPoint.new(row[0], row[1]) } end end
data_set_object()
click to toggle source
# File lib/simple_metric.rb, line 144 def data_set_object if data_set.present? DataSet.new(data_points) end end
get_value(date)
click to toggle source
# File lib/simple_metric.rb, line 138 def get_value(date) @data_set_object ||= data_set_object @data_set_object.get_value(date.to_f) end