Sha256: e30c0e0187e2d36b11847736f02f381ab7a33109507d79c3e30336a3aad1848f

Contents?: true

Size: 522 Bytes

Versions: 23

Compression:

Stored size: 522 Bytes

Contents

class FnordMetric::Report

  attr_accessor :events, :metrics

  def initialize(_metrics, options)
    @options = options
    @metrics = Hash.new
    @events = Array.new
    _metrics.each{ |k,m| self.add_metric!(m) }
  end

  def add_metric!(metric)
    @metrics[metric.token] = metric
    add_helper_methods(metric)
  end

  def metaclass
    class << self; self; end
  end

private

  def add_helper_methods(metric)
    self.metaclass.send(:define_method, metric.token) do 
      @metrics[metric.token]
    end
  end

end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
fnordmetric-0.7.5 lib/fnordmetric/report.rb
fnordmetric-0.7.4 lib/fnordmetric/report.rb
fnordmetric-0.7.3 lib/fnordmetric/report.rb
fnordmetric-0.7.1 lib/fnordmetric/report.rb
fnordmetric-0.7.0 lib/fnordmetric/report.rb
fnordmetric-0.6.6 lib/fnordmetric/report.rb
fnordmetric-0.6.5 lib/fnordmetric/report.rb
fnordmetric-0.6.4 lib/fnordmetric/report.rb
fnordmetric-0.6.3 lib/fnordmetric/report.rb
fnordmetric-0.6.2 lib/fnordmetric/report.rb
fnordmetric-0.6.1 lib/fnordmetric/report.rb
fnordmetric-0.6.0 lib/fnordmetric/report.rb
fnordmetric-0.5.9 lib/fnordmetric/report.rb
fnordmetric-0.5.8 lib/fnordmetric/report.rb
fnordmetric-0.5.7 lib/fnordmetric/report.rb
fnordmetric-0.5.6 lib/fnordmetric/report.rb
fnordmetric-0.5.5 lib/fnordmetric/report.rb
fnordmetric-0.5.4 lib/fnordmetric/report.rb
fnordmetric-0.5.3 lib/fnordmetric/report.rb
fnordmetric-0.5.2 lib/fnordmetric/report.rb