🐥

[bugs.ruby][Feature #20298] Time へキャストする Time() を追加する提案

2024/03/02に公開

[Feature #20298] Introduce Time() type-cast / constructor.

  • Time へのキャストを行う Time() メソッドを追加する提案
    • Integer()Float() などと同じようなメソッド
  • 実装イメージは以下のような感じ
def Time(value)
  case value
  when Time
    value
  when Integer
    Time.at(value)
  when String # `Time#to_s` の結果を受け取ることを想定
    Time.new(value)
  else
    value.to_time
  end
end
  • 背景としては JSOIN をシリアライズ化したときに利用したいらしい
data = fetch_job_data
job = @coder.load(data)
scheduled_at = Time(job[:scheduled_at]) # ここで Time に復元するときに利用したい
GitHubで編集を提案

Discussion