アクセス解析

いろいろツールがあるんだろうけど、PowerPointばっかで仕事してるとおかしくなりそうだから、Rubyでゴリゴリ。
管理者さんがWebalizerを用意してくれてるんだけど、今回知りたいことは、

  • 指示したパスへアクセスしてきた
  • EZweb端末の
  • 機種別の割合を
  • 日毎に集計したもの。

で、ゴリゴリした際のメモ

オプションを解析したいから、require 'getopts'した。ROptってのもあるそうだけど、getopts.rbが入ってたから、それにした。気になったのは、"-f 2004-08-18もしくは、--from=2004-08-18"というような指示ができないこと。-fと--fromは独立なオプションとしてハンドリングされるから、自分で、$OPT_fと$OPT_fromの状態から処理をしないといけない。
でも、まぁ、いいや。気にしない。

TimeオブジェクトのRangeオブジェクトをeachすると、1秒ごとに進む。
今やりたいことは1日ごとの集計だから、require 'date'して、1日を最小単位としているDateオブジェクトを利用した。
Timeオブジェクトも使うんだけど、今日の0時をつくるときには、require 'time'して、

Time.parse(Date.today.to_s)

ってやった。