LoginSignup
2
2

More than 5 years have passed since last update.

Time.nowとDate.todayをキーワード引数に対応させるgemを作った

Last updated at Posted at 2014-01-10

多分、どっかにあるはずなのだが、探すより作るのが早いシリーズ。

現在時刻とか、既に存在しているTimeクラスのオブジェクトの時間だけを変えたものとか、秒以下を切り捨てたものを生成する時に、キーワード引数でスマートに書きたくなったので、gemにしてみた。
こういう事ばっかやってるから、Rubyのgemは玉石混交だとか言われてしまうのだが…。

joker1007/keyword_arg_time

Usage

require 'keyword_arg_time'

Time.now(hour: 10, min: 15, sec: 0) # => 2014-01-10 10:15:00 +0900

time = Time.local(2014, 1, 10)      # => 2014-01-10 00:00:00 +0900
time.copy(hour: 10, min: 15)        # => 2014-01-10 10:15:00 +0900

Date.today(mon: 3)                  # => <Date: 2014-03-10 ((2456727j,0s,0n),+0s,2299161j)>

date = Date.new(2014, 1, 10)        # => <Date: 2014-01-10 ((2456668j,0s,0n),+0s,2299161j)>
date.copy(day: 25)                  # => <Date: 2014-01-25 ((2456683j,0s,0n),+0s,2299161j)>

これ、ActiveSupportとかに入らんかなー。
もしくは、もっと良い名前で組込みメソッドとかにならんかなー。

追記:
copyの動作をするchangeというメソッドはちゃんとあった。流石ActiveSupport。

2
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2