module Time::NoBrainerExtensions
Constants
- InvalidType
Public Instance Methods
nobrainer_cast_db_to_model(value)
click to toggle source
# File lib/no_brainer/document/types/time.rb, line 23 def nobrainer_cast_db_to_model(value) return value unless value.is_a?(Time) nobrainer_timezoned(NoBrainer::Config.user_timezone, value) end
nobrainer_cast_model_to_db(value)
click to toggle source
# File lib/no_brainer/document/types/time.rb, line 28 def nobrainer_cast_model_to_db(value) return value unless value.is_a?(Time) nobrainer_timezoned(NoBrainer::Config.db_timezone, value) end
nobrainer_cast_user_to_model(value)
click to toggle source
# File lib/no_brainer/document/types/time.rb, line 7 def nobrainer_cast_user_to_model(value) case value when Time then time = value when String value = value.strip value = value.sub(/Z$/, '+00:00') unless NoBrainer.jruby? # Using DateTime to preserve the timezone offset dt = DateTime.parse(value) rescue (raise InvalidType) time = Time.new(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.zone) raise InvalidType unless time.iso8601 == value else raise InvalidType end nobrainer_timezoned(NoBrainer::Config.user_timezone, time) end
nobrainer_timezoned(tz, value)
click to toggle source
# File lib/no_brainer/document/types/time.rb, line 33 def nobrainer_timezoned(tz, value) case tz when :local then value.getlocal when :utc then value.getutc when :unchanged then value end end