Sha256: 7bcd7e779f7df5752c2f63fa5b19f8aede2db3cbae9e41e51e69e3ce18c4bd9a
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
module Tabs module Resolution extend Resolutionable extend self def register(resolution, klass) @@resolution_classes ||= {} @@resolution_classes[resolution] = klass end def serialize(resolution, timestamp) resolution_klass(resolution).serialize(timestamp) end def deserialize(resolution, str) resolution_klass(resolution).deserialize(str) end def from_seconds(resolution, s) resolution_klass(resolution).from_seconds(s) end def add(resolution, ts, num) resolution_klass(resolution).add(ts, num) end def normalize(resolution, timestamp) resolution_klass(resolution).normalize(timestamp) end def all @@resolution_classes.keys end private def resolution_klass(resolution) @@resolution_classes[resolution] end end end Tabs::Resolution.register(:minute, Tabs::Resolutions::Minute) Tabs::Resolution.register(:hour, Tabs::Resolutions::Hour) Tabs::Resolution.register(:day, Tabs::Resolutions::Day) Tabs::Resolution.register(:week, Tabs::Resolutions::Week) Tabs::Resolution.register(:month, Tabs::Resolutions::Month) Tabs::Resolution.register(:year, Tabs::Resolutions::Year)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tabs-0.9.1 | lib/tabs/resolution.rb |