Sha256: afe08ec99eaba07daf0b83efd893e7647710a1bab148bd63ddee916c81acd0c2
Contents?: true
Size: 489 Bytes
Versions: 8
Compression:
Stored size: 489 Bytes
Contents
class StatsReporter < Controller def self.<<(stats) (@@stats ||= []) << stats end self.define do all_stats = {} @@stats.each do |stats| stats.class::MEMBERS.each.with_index.map do |stat, index| all_stats[stat] = stats[index] end end on :stat do |stat| write_plain 200, all_stats[stat.to_sym].to_s || raise(ArgumentError, "unknown stat #{stat}") end on true do write_plain 200, all_stats.map{|stat, value| "#{stat}: #{value}"}.join("\n") end end end
Version data entries
8 entries across 8 versions & 1 rubygems