Sha256: e1f8d7f835aaf026cdf19bfe1fd775bacc65ebe28c95c0254516d7af62f59dc6

Contents?: true

Size: 942 Bytes

Versions: 4

Compression:

Stored size: 942 Bytes

Contents

# This file must be loaded after the JSON gem and any other library that beats up the Time class.
class Time
  # This date format sorts lexicographically
  # and is compatible with Javascript's <tt>new Date(time_string)</tt> constructor.
  # Note this this format stores all dates in UTC so that collation 
  # order is preserved. (There's no longer a need to set <tt>ENV['TZ'] = 'UTC'</tt>
  # in your application.)

  def to_json(options = nil)
    u = self.utc
    %("#{u.strftime("%Y/%m/%d %H:%M:%S.#{u.usec} +0000")}")
  end

  # Decodes the JSON time format to a UTC time.
  # Based on Time.parse from ActiveSupport. ActiveSupport's version
  # is more complete, returning a time in your current timezone, 
  # rather than keeping the time in UTC. YMMV.
  # def self.parse string, fallback=nil
  #   d = DateTime.parse(string).new_offset
  #   self.utc(d.year, d.month, d.day, d.hour, d.min, d.sec)
  # rescue
  #   fallback
  # end
end

Version data entries

4 entries across 4 versions & 4 rubygems

Version Path
jchris-couchrest-0.12.2 lib/couchrest/monkeypatches.rb
mattly-couchrest-0.12.1 lib/couchrest/monkeypatches.rb
samflores-couchrest-0.12.3.2 lib/couchrest/monkeypatches.rb
couchrest-0.12.2 lib/couchrest/monkeypatches.rb