module FnordMetric::GaugeRendering

Public Instance Methods

render_to_event(*args) click to toggle source
# File lib/fnordmetric/gauge_rendering.rb, line 7
def render_to_event(*args)
  { :title => name }.merge(render(*args))
end
renderable?() click to toggle source
# File lib/fnordmetric/gauge_rendering.rb, line 3
def renderable?
  false
end

Private Instance Methods

fancy_timerange(range) click to toggle source

FIXPAUL: move to apphelper or something

# File lib/fnordmetric/gauge_rendering.rb, line 34
def fancy_timerange(range)
  [range.first, range.last].map do |time|
    Time.at(time).strftime("%d.%m.%y %H:%M")
  end
end
parse_interval(interval_str) click to toggle source
# File lib/fnordmetric/gauge_rendering.rb, line 27
def parse_interval(interval_str)
  match = interval_str.match(/([0-9]+)-([0-9]+)/)
  raise "invalid interval: #{interval_str}" unless match
  (match[1].to_i..match[2].to_i)
end
render_haml(in_file) click to toggle source
# File lib/fnordmetric/gauge_rendering.rb, line 21
def render_haml(in_file)
  haml_engine = Haml::Engine.new(File.read(
    File.expand_path("../../../web/haml/#{in_file}.haml", __FILE__)
  )).render(binding) 
end
render_page(in_file) click to toggle source
# File lib/fnordmetric/gauge_rendering.rb, line 13
def render_page(in_file)
  exec_js = []
  content = render_haml(in_file)
  content.scan(/<FNORDMETRIC-GAUGEJS>(.*)<\/FNORDMETRIC-GAUGEJS>/m){ |x| exec_js << x }
  content.gsub!(/<FNORDMETRIC-GAUGEJS>(.*)<\/FNORDMETRIC-GAUGEJS>/m, "")
  { :html => content, :exec => exec_js.flatten * "" }
end