Sha256: 9b306600137be3592d50fbb8d78560dcdbc652508f44dfd4afd39fe89c261eb6

Contents?: true

Size: 447 Bytes

Versions: 8

Compression:

Stored size: 447 Bytes

Contents

module Tabs
  module Resolutions
    module Hour
      extend self

      PATTERN = "%Y-%m-%d-%H"

      def serialize(timestamp)
        timestamp.strftime(PATTERN)
      end

      def deserialize(str)
        dt = DateTime.strptime(str, PATTERN)
        self.normalize(dt)
      end

      def from_seconds(s)
        s / 3600
      end

      def normalize(ts)
        Time.utc(ts.year, ts.month, ts.day, ts.hour)
      end

    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
tabs-0.8.2 lib/tabs/resolutions/hour.rb
tabs-0.8.1 lib/tabs/resolutions/hour.rb
tabs-0.8.0 lib/tabs/resolutions/hour.rb
tabs-0.7.1 lib/tabs/resolutions/hour.rb
tabs-0.7.0 lib/tabs/resolutions/hour.rb
tabs-0.6.3 lib/tabs/resolutions/hour.rb
tabs-0.6.2 lib/tabs/resolutions/hour.rb
tabs-0.6.1 lib/tabs/resolutions/hour.rb