module Tabs::Resolution

Public Instance Methods

add(resolution, ts, num) click to toggle source
# File lib/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/resolution.rb, line 36
def all
  @@resolution_classes.keys
end
deserialize(resolution, str) click to toggle source
# File lib/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/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/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/resolution.rb, line 32
def normalize(resolution, timestamp)
  resolution_klass(resolution).normalize(timestamp)
end
register(klass) click to toggle source
# File lib/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/resolution.rb, line 44
def reset_default_resolutions
  @@resolution_classes = {}
  Tabs::Resolution.register(Tabs::Resolutions::Minute)
  Tabs::Resolution.register(Tabs::Resolutions::Hour)
  Tabs::Resolution.register(Tabs::Resolutions::Day)
  Tabs::Resolution.register(Tabs::Resolutions::Week)
  Tabs::Resolution.register(Tabs::Resolutions::Month)
  Tabs::Resolution.register(Tabs::Resolutions::Year)
end
serialize(resolution, timestamp) click to toggle source
# File lib/tabs/resolution.rb, line 16
def serialize(resolution, timestamp)
  resolution_klass(resolution).serialize(timestamp)
end
unregister(resolutions) click to toggle source
# File lib/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/resolution.rb, line 56
def resolution_klass(resolution)
  klass = @@resolution_classes[resolution]
  raise Tabs::ResolutionMissingError.new(resolution) unless klass
  klass
end