Class: FactMetrics::Metric

Inherits:
Object
  • Object
show all
Defined in:
lib/fact_metrics/metric.rb

Constant Summary collapse

BLANK =
Class.new do
  def method_missing(m, *args, &block)
    if respond_to_missing?(m)
      Metric.new(0, {precision: 0})
    end
  end

  def respond_to_missing?(m)
    /_metric$/.match?(m)
  end
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value, options) ⇒ Metric

Returns a new instance of Metric.



16
17
18
# File 'lib/fact_metrics/metric.rb', line 16

def initialize(value, options)
  @value, @options = value, options
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



2
3
4
# File 'lib/fact_metrics/metric.rb', line 2

def options
  @options
end

#valueObject (readonly)

Returns the value of attribute value.



2
3
4
# File 'lib/fact_metrics/metric.rb', line 2

def value
  @value
end

Instance Method Details

#display_valueObject



24
25
26
# File 'lib/fact_metrics/metric.rb', line 24

def display_value
  (value || 0).round(precision)
end

#nameObject



20
21
22
# File 'lib/fact_metrics/metric.rb', line 20

def name
  options[:name].humanize
end

#precisionObject



28
29
30
# File 'lib/fact_metrics/metric.rb', line 28

def precision
  options[:precision] || 1
end

#unitObject



32
33
34
# File 'lib/fact_metrics/metric.rb', line 32

def unit
  options[:unit] || ""
end