class Unleash::Metrics
Attributes
features[RW]
Public Class Methods
new()
click to toggle source
NOTE: no mutexes for features
# File lib/unleash/metrics.rb, line 7 def initialize self.features = {} end
Public Instance Methods
increment(feature, choice)
click to toggle source
# File lib/unleash/metrics.rb, line 15 def increment(feature, choice) raise "InvalidArgument choice must be :yes or :no" unless [:yes, :no].include? choice self.features[feature] = { yes: 0, no: 0 } unless self.features.include? feature self.features[feature][choice] += 1 end
increment_variant(feature, variant)
click to toggle source
# File lib/unleash/metrics.rb, line 22 def increment_variant(feature, variant) self.features[feature] = { yes: 0, no: 0 } unless self.features.include? feature self.features[feature]['variant'] = {} unless self.features[feature].include? 'variant' self.features[feature]['variant'][variant] = 0 unless self.features[feature]['variant'].include? variant self.features[feature]['variant'][variant] += 1 end
reset()
click to toggle source
# File lib/unleash/metrics.rb, line 29 def reset self.features = {} end
to_s()
click to toggle source
# File lib/unleash/metrics.rb, line 11 def to_s self.features.to_json end