Class: ActiveMetric::GraphViewModel
- Inherits:
-
Object
- Object
- ActiveMetric::GraphViewModel
- Includes:
- Mongoid::Document
- Defined in:
- lib/active_metric/graph_view_model.rb
Class Method Summary collapse
Instance Method Summary collapse
- #delete_axis_at_index(index) ⇒ Object
- #ordered_y_axises ⇒ Object
- #populate_axises(axises_defined) ⇒ Object
- #populate_series(stats_defined) ⇒ Object
- #series_for(label) ⇒ Object
- #size ⇒ Object
Class Method Details
.create_from_meta_data(axises_defined, stats_defined, options = {}) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/active_metric/graph_view_model.rb', line 17 def self.(axises_defined,stats_defined, = {}) graph = self.new() graph.populate_axises(axises_defined) graph.populate_series(stats_defined) graph.save! graph end |
Instance Method Details
#delete_axis_at_index(index) ⇒ Object
47 48 49 50 51 52 53 54 |
# File 'lib/active_metric/graph_view_model.rb', line 47 def delete_axis_at_index(index) existing_axises = y_axises.select{|axis| axis.index == index} if existing_axises.size > 0 existing_axises.each do |existing_axis| y_axises.delete(existing_axis) end end end |
#ordered_y_axises ⇒ Object
13 14 15 |
# File 'lib/active_metric/graph_view_model.rb', line 13 def ordered_y_axises y_axises.asc(:index) end |
#populate_axises(axises_defined) ⇒ Object
25 26 27 28 29 30 |
# File 'lib/active_metric/graph_view_model.rb', line 25 def populate_axises(axises_defined) axises_defined.each do || delete_axis_at_index([:index]) y_axises << Axis.new() end end |
#populate_series(stats_defined) ⇒ Object
32 33 34 35 36 |
# File 'lib/active_metric/graph_view_model.rb', line 32 def populate_series(stats_defined) stats_defined.each do |stat_definition| series_data << PointSeriesData.from_stat_definition(stat_definition) if stat_definition.graphable? end end |
#series_for(label) ⇒ Object
38 39 40 |
# File 'lib/active_metric/graph_view_model.rb', line 38 def series_for(label) series_data.select{|series| series.label.eql? label}.first end |
#size ⇒ Object
42 43 44 45 |
# File 'lib/active_metric/graph_view_model.rb', line 42 def size return 0 unless series_data.size > 0 series_data.first.size end |