Sha256: 653aaf4cf0430d3ac8a1a82375d1ffc2073902ae833d9d9d4261f9430994c3d2
Contents?: true
Size: 1.62 KB
Versions: 3
Compression:
Stored size: 1.62 KB
Contents
# frozen_string_literal: true class Code class Object class Date < Object def initialize(*args, **_kargs, &) raw = args.map(&:to_s).join("-").presence || ::Date.current.to_s @raw = ::Date.parse(raw) rescue ::Date::Error raise Error, "#{raw.inspect} is an invalid date" end def self.call(**args) operator = args.fetch(:operator, nil) case operator.to_s when "tomorrow" sig(args) code_tomorrow when "yesterday" sig(args) code_yesterday when "today" sig(args) code_today when "now" sig(args) code_now when "hour" sig(args) code_hour else super end end def self.code_hour code_today.code_hour end def self.code_now ::Time.zone ||= Time::DEFAULT_ZONE new(::Time.zone.now.beginning_of_day) end def self.code_today ::Time.zone ||= Time::DEFAULT_ZONE new(::Time.zone.now.beginning_of_day) end def self.code_tomorrow ::Time.zone ||= Time::DEFAULT_ZONE new(::Time.zone.tomorrow.beginning_of_day) end def self.code_yesterday ::Time.zone ||= Time::DEFAULT_ZONE new(::Time.zone.yesterday.beginning_of_day) end def call(**args) operator = args.fetch(:operator, nil) case operator.to_s when "hour" sig(args) code_hour else super end end def code_hour Integer.new(0) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
code-ruby-1.1.3 | lib/code/object/date.rb |
code-ruby-1.1.1 | lib/code/object/date.rb |
code-ruby-1.1.0 | lib/code/object/date.rb |