Skip to content
  • David Celis's avatar
    8e847dcd
    Expand support for ActiveSupport::TimeWithZone#utc? · 8e847dcd
    David Celis authored
    
    
    Currently, ActiveSupport::TimeWithZone#utc? simply runs a check to see
    if the linked ActiveSupport::TimeZone's name is "UTC". This will only
    return true for ActiveSupport::TimeZone["UTC"], but not for time zones
    such as "Etc/UTC", "Etc/Universal", or other time zones that are aliases
    for UTC. Interestingly enough, ActiveSupport::TimeWithZone#utc? is also
    aliased as #gmt? but will return false for the "GMT" timezone (along
    with other TZInfo aliases for GMT).
    
    Instead of running a simple check on the TimeZone name, we can rely on
    the underlying TZInfo::TimezonePeriod and TZInfo::TimezoneOffset which
    keep a record of of the offset's abbreviated name. The possibilities
    here for UTC time zones are `:UTC`, `:UCT`, and `:GMT`.
    
    Signed-off-by: default avatarDavid <me@davidcel.is>
    8e847dcd
    Expand support for ActiveSupport::TimeWithZone#utc?
    David Celis authored
    
    
    Currently, ActiveSupport::TimeWithZone#utc? simply runs a check to see
    if the linked ActiveSupport::TimeZone's name is "UTC". This will only
    return true for ActiveSupport::TimeZone["UTC"], but not for time zones
    such as "Etc/UTC", "Etc/Universal", or other time zones that are aliases
    for UTC. Interestingly enough, ActiveSupport::TimeWithZone#utc? is also
    aliased as #gmt? but will return false for the "GMT" timezone (along
    with other TZInfo aliases for GMT).
    
    Instead of running a simple check on the TimeZone name, we can rely on
    the underlying TZInfo::TimezonePeriod and TZInfo::TimezoneOffset which
    keep a record of of the offset's abbreviated name. The possibilities
    here for UTC time zones are `:UTC`, `:UCT`, and `:GMT`.
    
    Signed-off-by: default avatarDavid <me@davidcel.is>
Loading