diff options
Diffstat (limited to 'lib/timezone_fixes.rb')
-rw-r--r-- | lib/timezone_fixes.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/timezone_fixes.rb b/lib/timezone_fixes.rb new file mode 100644 index 000000000..b830ded4e --- /dev/null +++ b/lib/timezone_fixes.rb @@ -0,0 +1,25 @@ +# Taken from +# https://rails.lighthouseapp.com/projects/8994/tickets/2946 +# http://github.com/rails/rails/commit/6f97ad07ded847f29159baf71050c63f04282170 + +# Otherwise times get stored wrong during British Summer Time + +# Hopefully fixed in later Rails. There is a test in spec/libs/timezone_fixes.rb + +# Monkeypatch! +module ActiveRecord + module ConnectionAdapters # :nodoc: + module Quoting + def quoted_date(value) + value.to_s(:db) + if value.acts_like?(:time) + zone_conversion_method = ActiveRecord::Base.default_timezone == :utc ? :getutc : :getlocal + value.respond_to?(zone_conversion_method) ? value.send(zone_conversion_method) : value + else + value + end.to_s(:db) + end + end + end +end + |