Sha256: fc25eae1310764441b7a85de0c997359ae4f9ad4a48f0cf700ee804b66bb8cd8
Contents?: true
Size: 741 Bytes
Versions: 4
Compression:
Stored size: 741 Bytes
Contents
# frozen_string_literal: true module Zenaton # :nodoc module Refinements refine Time do # Convert to a simple hash def to_zenaton nanoseconds = [tv_usec * 1000] respond_to?(:tv_nsec) && nanoseconds << tv_nsec nanoseconds = nanoseconds.max { 's' => tv_sec, 'n' => nanoseconds } end end end end # Reimplements `json/add/time` class Time # Parse from simple hash def self.from_zenaton(props) if (usec = props.delete('u')) # used to be tv_usec -> tv_nsec props['n'] = usec * 1000 end if method_defined?(:tv_nsec) at(props['s'], Rational(props['n'], 1000)) else at(props['s'], props['n'] / 1000) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
zenaton-0.6.0 | lib/zenaton/refinements/time.rb |
zenaton-0.5.3 | lib/zenaton/refinements/time.rb |
zenaton-0.5.2 | lib/zenaton/refinements/time.rb |
zenaton-0.5.1 | lib/zenaton/refinements/time.rb |