class MetricComputer

Public Class Methods

new( hash, defaults ) click to toggle source
# File lib/boxxspring/worker/metrics/metric_computer.rb, line 15
def initialize( hash, defaults )
  @name, @value, @unit = hash.values
  @defaults = defaults
end

Public Instance Methods

name() click to toggle source
# File lib/boxxspring/worker/metrics/metric_computer.rb, line 3
def name
  @name ||= ""
end
to_json() click to toggle source
# File lib/boxxspring/worker/metrics/metric_computer.rb, line 20
def to_json
  {
    metric_name: name.to_s.capitalize,
    dimensions: normalize_dimensions_from_defaults( @defaults ),
    value: value.to_i,
    unit: unit.to_s.capitalize
  }
end
unit() click to toggle source
# File lib/boxxspring/worker/metrics/metric_computer.rb, line 11
def unit
  @unit ||= ""
end
value() click to toggle source
# File lib/boxxspring/worker/metrics/metric_computer.rb, line 7
def value
  @value ||= 1
end

Private Instance Methods

normalize_dimensions_from_defaults( defaults ) click to toggle source
# File lib/boxxspring/worker/metrics/metric_computer.rb, line 29
         def normalize_dimensions_from_defaults( defaults )
  return nil if defaults[ :dimensions ].blank?
  
  defaults[ :dimensions ].map do | key, value |
    {
      name: key.to_s.camelize,
      value: value 
    }
  end 

end