D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
td-agent
/
embedded
/
lib
/
ruby
/
gems
/
2.1.0
/
gems
/
oj-2.18.1
/
lib
/
oj
/
Filename :
active_support_helper.rb
back
Copy
require 'active_support/time' module Oj # Exists only to handle the ActiveSupport::TimeWithZone. class ActiveSupportHelper def self.createTimeWithZone(utc, zone) ActiveSupport::TimeWithZone.new(utc - utc.gmt_offset, ActiveSupport::TimeZone[zone]) end end end Oj.register_odd(ActiveSupport::TimeWithZone, Oj::ActiveSupportHelper, :createTimeWithZone, :utc, 'time_zone.name') # This is a hack to work around an oddness with DateTime and the ActiveSupport # that causes a hang when some methods are called from C. Hour, min(ute), # sec(ond) and other methods are special but they can be called from C until # activesupport/time is required. After that they can not be even though # resond_to? returns true. By defining methods to call super the problem goes # away. There is obviously some magic going on under the covers that I don't # understand. class DateTime def hour() super end def min() super end def sec() super end def sec_fraction() super end def offset() super end end