Sha256: febcc74173290ea4582b053587eabed1caee5b69ea2e46f6f3807a8341c3fb50
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
class FnordMetric::Context include FnordMetric::GaugeModifiers def initialize(opts, block) @block = block @opts = opts end def call(event, redis) @redis = redis @event = event self.instance_eval(&@block) rescue Exception => e raise e if ENV['FNORDMETRIC_ENV'] == 'test' puts "error: #{e.message}" end private def session_key @event[:_session_key] end def data @event end def key(gauge) fetch_gauge(gauge).key end def time @event[:_time].to_i end protected def fetch_gauge(_gauge) _gauge.is_a?(FnordMetric::Gauge) ? _gauge : @opts[:gauges].fetch(_gauge) rescue error! "error: gauge '#{_gauge}' is undefined" end def error!(msg) FnordMetric.error!(msg) end def assure_two_dimensional!(gauge) return true if gauge.two_dimensional? error! "error: #{caller[0].split(" ")[-1]} can only be used with 2-dimensional gauges" end def assure_three_dimensional!(gauge) return true unless gauge.two_dimensional? error! "error: #{caller[0].split(" ")[-1]} can only be used with 3-dimensional gauges" end def assure_non_progressive!(gauge) return true unless gauge.progressive? error! "error: #{caller[0].split(" ")[-1]} can only be used with non-progressive gauges" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fnordmetric-0.5.1 | lib/fnordmetric/context.rb |
fnordmetric-0.5.0 | lib/fnordmetric/context.rb |