Commit 89bf7f7e authored by Paul Asmuth's avatar Paul Asmuth
Browse files

renderable gauges are rendering :)

parent 5d557f2c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -128,6 +128,8 @@ require "fnordmetric/namespace"
require "fnordmetric/session"
require "fnordmetric/gauge_calculations"
require "fnordmetric/gauge_modifiers"
require "fnordmetric/gauge_validations"
require "fnordmetric/gauge_rendering"
require "fnordmetric/gauge"
require "fnordmetric/context"

+2 −16
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@ class FnordMetric::Gauge
  
  include FnordMetric::GaugeCalculations
  include FnordMetric::GaugeModifiers
  include FnordMetric::GaugeValidations
  include FnordMetric::GaugeRendering

  def initialize(opts)
    opts.fetch(:key) && opts.fetch(:key_prefix)
@@ -64,20 +66,4 @@ class FnordMetric::Gauge
    @sync_redis ||= Redis.new # FIXPAUL
  end

  def ticks_in(r)
    (((r.last-r.first)/tick.to_f).ceil+1).times.map{ |n| tick_at(r.first + tick*(n-1)) }
  end

  def values_in(range)
    values_at(ticks_in(range))
  end

  def renderable?
    false
  end

  def render_to_event(*args)
    { :title => name, :html => render(*args) }
  end

end
 No newline at end of file
+8 −0
Original line number Diff line number Diff line
@@ -12,6 +12,14 @@ module FnordMetric::GaugeCalculations
    (_v.to_f / (sync_redis.get(tick_key(_t, :"value-count"))||1).to_i)
  }

  def ticks_in(r)
    (((r.last-r.first)/tick.to_f).ceil+1).times.map{ |n| tick_at(r.first + tick*(n-1)) }
  end

  def values_in(range)
    values_at(ticks_in(range))
  end
  
  def value_at(time, opts={}, &block)
    _t = tick_at(time)

+17 −0
Original line number Diff line number Diff line
module FnordMetric::GaugeRendering

  def renderable?
    false
  end

  def render_to_event(*args)
    { :title => name, :html => render(*args) }
  end

  def render_haml(in_file, out_file)
    haml_engine = Haml::Engine.new(File.read(
      File.expand_path("../../../web/haml/#{in_file}.haml", __FILE__)
    )).render(binding) 
  end

end
 No newline at end of file
+15 −0
Original line number Diff line number Diff line
module FnordMetric::GaugeValidations

  def validate_series!
    if !@opts[:series].is_a?(Array) || @opts[:series].size == 0
      raise "#{@opts[:key]}: missing option series"
    end

    if @opts[:series].size != @opts[:series].uniq.size
      raise "#{@opts[:key]}: series are not unique"
    end

    @opts[:series] = @opts[:series].map(&:to_sym)
  end

end
 No newline at end of file
Loading