曜日検索のパート2

昨日書いたコードを一緒に作っている人に見せたら「ビューティフルではない」と指摘を受けた。
 

ActiveSupportがない

舞波本35ページにActiveSupportがうんたら・・・と書いてあるが自分のマシンには入っていなかったのでビューチィフーなコードではなくなってしまったと反省する。

C:\>actvivesupport -v
'actvivesupport' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

C:\>gem install activesupport
Updating metadata for 280 gems from http://gems.rubyforge.org
................................................................................
................................................................................
................................................................................
........................................
complete
Successfully installed activesupport-2.0.2
1 gem installed
Installing ri documentation for activesupport-2.0.2...
Installing RDoc documentation for activesupport-2.0.2...

C:\>

インストールできたらしい。

舞波本に書いてあるコマンドを入れてみる。

>

C:\>irb -r rubygems -r active_support
irb(main):002:0> require 'active_support'
=> []
irb(main):003:0> exit
C:\>
|

これから書き直す。

作ってみた

ちょいと作ってみた。

if @weekday.blank?
  w.and "dtstart >= ? AND dtend <= ?", @dtstart.to_s, (@dtend+ 1).to_s
else
  chkweekday = @dtstart.next_week()+@weekday.to_i
  while chkweekday >= @dtstart
    chkweekday = chkweekday - 7      
    w.or{ |sw|
      sw.and "dtstart > ? AND dtend < ?", chkweekday -1, chkweekday +1
    }
  end
end

※ちょっとまちがっていたのでなんとなく修正する