Class: SimpleMetric::Metric
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- SimpleMetric::Metric
- Defined in:
- lib/simple_metric.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_data_point(date, value) ⇒ Object
- #data_points ⇒ Object
- #data_set_object ⇒ Object
- #get_value(date) ⇒ Object
Class Method Details
.add_data_point(key, date, value) ⇒ Object
85 86 87 |
# File 'lib/simple_metric.rb', line 85 def self.add_data_point(key, date, value) find_or_create_by(:key => key).add_data_point(date, value) end |
Instance Method Details
#add_data_point(date, value) ⇒ Object
89 90 91 92 93 94 95 96 97 |
# File 'lib/simple_metric.rb', line 89 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] save! end |
#data_points ⇒ Object
111 112 113 114 115 |
# File 'lib/simple_metric.rb', line 111 def data_points if data_set.present? data_set.map { |row| DataPoint.new(row[0], row[1]) } end end |
#data_set_object ⇒ Object
105 106 107 108 109 |
# File 'lib/simple_metric.rb', line 105 def data_set_object if data_set.present? DataSet.new(data_points) end end |
#get_value(date) ⇒ Object
99 100 101 102 103 |
# File 'lib/simple_metric.rb', line 99 def get_value(date) @data_set_object ||= data_set_object @data_set_object.get_value(date.to_f) end |