module TabsTabs::Resolution
Public Instance Methods
add(resolution, ts, num)
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 28 def add(resolution, ts, num) resolution_klass(resolution).add(ts, num) end
all()
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 36 def all @@resolution_classes.keys end
deserialize(resolution, str)
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 20 def deserialize(resolution, str) resolution_klass(resolution).deserialize(str) end
expire(resolution, key, timestamp)
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 40 def expire(resolution, key, timestamp) resolution_klass(resolution).expire(key, timestamp) end
from_seconds(resolution, s)
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 24 def from_seconds(resolution, s) resolution_klass(resolution).from_seconds(s) end
normalize(resolution, timestamp)
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 32 def normalize(resolution, timestamp) resolution_klass(resolution).normalize(timestamp) end
register(klass)
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 6 def register(klass) @@resolution_classes ||= {} @@resolution_classes[klass.name] = klass end
reset_default_resolutions()
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 44 def reset_default_resolutions @@resolution_classes = {} TabsTabs::Resolution.register(TabsTabs::Resolutions::Minute) TabsTabs::Resolution.register(TabsTabs::Resolutions::Hour) TabsTabs::Resolution.register(TabsTabs::Resolutions::Day) TabsTabs::Resolution.register(TabsTabs::Resolutions::Week) TabsTabs::Resolution.register(TabsTabs::Resolutions::Month) TabsTabs::Resolution.register(TabsTabs::Resolutions::Year) end
serialize(resolution, timestamp)
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 16 def serialize(resolution, timestamp) resolution_klass(resolution).serialize(timestamp) end
unregister(resolutions)
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 11 def unregister(resolutions) resolutions = Array[resolutions].flatten resolutions.each{ |res| @@resolution_classes.delete(res) } end
Private Instance Methods
resolution_klass(resolution)
click to toggle source
# File lib/tabs_tabs/resolution.rb, line 56 def resolution_klass(resolution) klass = @@resolution_classes[resolution] raise TabsTabs::ResolutionMissingError.new(resolution) unless klass klass end