class DDMetrics::Metric

Public Class Methods

new() click to toggle source
# File lib/ddmetrics/metric.rb, line 7
def initialize
  @basic_metrics = {}
end

Public Instance Methods

basic_metric_for(label, basic_class) click to toggle source

@api private

# File lib/ddmetrics/metric.rb, line 26
def basic_metric_for(label, basic_class)
  @basic_metrics.fetch(label) { @basic_metrics[label] = basic_class.new }
end
each() { |label, get(label)| ... } click to toggle source
# File lib/ddmetrics/metric.rb, line 19
def each
  @basic_metrics.each_key do |label|
    yield(label, get(label))
  end
end
get(label) click to toggle source
# File lib/ddmetrics/metric.rb, line 11
def get(label)
  basic_metric_for(label, BasicCounter)
end
labels() click to toggle source
# File lib/ddmetrics/metric.rb, line 15
def labels
  @basic_metrics.keys
end
validate_label(label) click to toggle source

@api private

# File lib/ddmetrics/metric.rb, line 31
def validate_label(label)
  return if label.is_a?(Hash)
  raise ArgumentError, 'label argument must be a hash'
end