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

Version Path
unicorn-cuba-base-1.6.0 lib/unicorn-cuba-base/stats_reporter.rb
unicorn-cuba-base-1.5.0 lib/unicorn-cuba-base/stats_reporter.rb
unicorn-cuba-base-1.4.1 lib/unicorn-cuba-base/stats_reporter.rb
unicorn-cuba-base-1.4.0 lib/unicorn-cuba-base/stats_reporter.rb
unicorn-cuba-base-1.3.0 lib/unicorn-cuba-base/stats_reporter.rb
unicorn-cuba-base-1.2.2 lib/unicorn-cuba-base/stats_reporter.rb
unicorn-cuba-base-1.2.1 lib/unicorn-cuba-base/stats_reporter.rb
unicorn-cuba-base-1.2.0 lib/unicorn-cuba-base/stats_reporter.rb