Sha256: 24b190649a5e9e0046147b7a1d720e4e0299bbd36959feaefedc306f74128d07
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
require 'forwardable' module Tomlrb class LocalDateTime extend Forwardable def_delegators :@time, :year, :month, :day, :hour, :min, :sec, :usec, :nsec def initialize(year, month, day, hour, min, sec) # rubocop:disable Metrics/ParameterLists @time = Time.new(year, month, day, hour, min, sec, '-00:00') @sec = sec end # @param offset [String, Symbol, Numeric, nil] time zone offset. # * when +String+, must be '+HH:MM' format, '-HH:MM' format, 'UTC', 'A'..'I' or 'K'..'Z'. Arguments excluding '+-HH:MM' are supporeted at Ruby >= 2.7.0 # * when +Symbol+, must be +:dst+(for summar time for local) or +:std+(for standard time). # * when +Numeric+, it is time zone offset in second. # * when +nil+, local time zone offset is used. # @return [Time] def to_time(offset='-00:00') return @time if offset == '-00:00' Time.new(year, month, day, hour, min, @sec, offset) end def to_s frac = (@sec - sec) frac_str = frac == 0 ? '' : "#{frac.to_s[1..-1]}" @time.strftime("%FT%T") << frac_str end def ==(other) other.kind_of?(self.class) && to_time == other.to_time end def inspect "#<#{self.class}: #{to_s}>" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tomlrb-2.0.3 | lib/tomlrb/local_date_time.rb |
tomlrb-2.0.2 | lib/tomlrb/local_date_time.rb |
tomlrb-2.0.1 | lib/tomlrb/local_date_time.rb |