「前の金曜日の日付」を取得する

this_day    = Date.today
this_monday =  this_day - (this_day.wday - 1)      # 今週の月曜日
last_monday = (this_day - (this_day.wday - 1)) - 7 # 先週の月曜日

ポイントは、wdayメソッドで日付を曜日分逆算すること。
Time#wdayメソッドの戻り値は、曜日を数値にした値です。
0(日曜日)〜6(土曜日)の値を返します。

今週の任意の曜日の取得

this_sunday     = this_day - (this_day.wday)      # 今週の日曜日
this_monday     = this_day - (this_day.wday - 1)  # 今週の月曜日
this_tuesday    = this_day - (this_day.wday - 2)  # 今週の火曜日
this_wednesday  = this_day - (this_day.wday - 3)  # 今週の水曜日 ← 現在
this_thursday   = this_day - (this_day.wday - 4)  # 今週の木曜日 ↓ 未来 (未来日でも、”-"して取得する)
this_friday     = this_day - (this_day.wday - 5)  # 今週の金曜日
this_saturday   = this_day - (this_day.wday - 6)  # 今週の土曜日

先週の任意の曜日の取得

更にそこから - 7 すると先週の日付が求められる。
先週/今週の任意の曜日の日付を取得する (e.g.今週の月曜日、先週の月曜日を取得する) - bismar's blog

ということなので、Dateライブラリを使う。
ただしrequire 'date'が必要なことに注意。
上記例と異なるのは「先週の」ではなく「前の」金曜日であること。
つまり

  • 今日が日月火水木金曜だったら先週の金曜日の日付
  • 今日が土曜日だったらそのまま今週の金曜日の日付

を取得したい。

require 'date'
this_day = Date.today
this_friday = this_day - (this_day.wday - 5) # 今週の金曜日の日付
previous_friday = (this_friday >= this_day) ?
                  this_friday - 7 : # 今日が日月火水木金曜だったら先週の金曜日の日付
                  this_friday       # 今日が土曜日だったらそのまま今週の金曜日の日付

最終的にYYMMDD形式の日付が欲しかったのでDate#strftimeします。

previous_friday_yymmdd = previous_friday.strftime("%y%m%d") # => "130823"

nokogiriを扱う準備としてXPathを学ぶ

インターネットから情報を取得する場合にはほとんどにおいてHTML解析を行う必要があります。ということでRubyだと基本的にnokogiriライブラリを扱うことになります。
しかし、nokogiriではタグを指定するのにXPathを使います *1。これがいまひとつ分かりづらい。
ということで情報源を並べておきます。

ネットのなかの情報源

書籍情報源

XML自身がピークを過ぎた(一般に広まった)ため、関連書籍の出版もピークを過ぎているように感じます。
そして、XPathだけを知りたい立場としては、XML全体を解説した本は不要です。

*1:CSSでも出来ますが、個人的にはXPathのほうが好きです。もちろんCSSXPathも得手不得手がありますが、XPathのほうが指定可能範囲が広い。