Class: Gitlab::Usage::Metric

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(definition) ⇒ Metric

Returns a new instance of Metric.



8
9
10
# File 'lib/gitlab/usage/metric.rb', line 8

def initialize(definition)
  @definition = definition
end

Instance Attribute Details

#definitionObject (readonly)

Returns the value of attribute definition.



6
7
8
# File 'lib/gitlab/usage/metric.rb', line 6

def definition
  @definition
end

Class Method Details

.allObject



13
14
15
16
17
# File 'lib/gitlab/usage/metric.rb', line 13

def all
  @all ||= Gitlab::Usage::MetricDefinition.with_instrumentation_class.map do |definition|
    self.new(definition)
  end
end

Instance Method Details

#with_instrumentationObject



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

def with_instrumentation
  with_availability(proc { instrumentation_object.instrumentation })
end

#with_valueObject



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

def with_value
  with_availability(proc { instrumentation_object.value })
end