明日以降の日記に続きます。(続き)昨日のtweet2file_20120127をベースに、今日は細々とした処理を追加していきます。昨日の段階では、ファイルへのツイートの書き込み時、以下のような書き込みを行うようにしています。t.textendこれを、もう少しHTML的な出力にします。あれば、そのユーザーのホーム画面へのリンクを張るくらいのことはしてみましょうか。いったものになっています(一般的なシェル系の表記を用いています)。href=\"https://twitter.com/#{$screen_name}/status/#{t.id}\">#{t.created_at.strftime("%H:%m")}</a>"でいけそうです。href=\"#{url}\">#{$1}</a>"endといったところでしょうか。自身が置換前のテキストを持っているのはちょっと気持ち悪いですかね。なんてメソッドがあるですか...うーむ。ないURLが表示されますので、こちらを使うことにします。最後に、このツイートが過去のツイートへのリプライ等の場合に、参考リンクを付ける処理を行います。"</li>"ところで、ツイート中に含まれるURLには自動的にリンクを張りたいものです。これを処理するのに、URIライブラリが使えそうです。使って省略されていることがあります。URLを展開するとそれはツイートに含まれる画像ファイルだったりすることもあります。できればこれらを単なるリンクとは区別して処理したいものです。して短縮URLや画像の情報が返されます。entitiesに対してはアクセサが用意されていないようで、クラスの外部からこの情報にアクセスできそうにないという問題点が出てきました。既存クラスを拡張できるようで、今回は(やや禁じ手ですが)インスタンス変数に対する読み込み専用のアクセサを用意し、そこから情報を引き出すことにします。アクセスすることができるようになります。アクセスできるようになっています。あぁこういうライブラリの拡張のしやすさはRubyならでは、かも知れませんね。含まれるURLは展開を行い、その上で上記2件に該当しないURLについては通常のリンクを張るという処理を行うことにしました。現段階で、<li>ちょっと画像投稿テストです。/></a></li></ul></li>といったマークアップができるようになってきました。して保存してあります。(とりあえず最後)昨日の続きです。ツイートを投稿する部分を作ります。いうメソッドを少し改造します。ポストするプログラムです。ファイルの入出力を使わないのかとも思いましたが、おそらく前方互換性なりファイルシステムの変更なりに対応するためということでしょう。ファイルI/Oが使えないなら最初からRubyで作る必要もなかったか...という気もしますが。このあたりはあまり悩む必要もなく純粋にPOSTでデータを渡すだけなので、ほぼコピー&ぺーストで作っていきます。場所、Basic認証のユーザ名・パスワード等は、今のところグローバル変数で定義しています。コマンドラインオプションに対応するこの時点で概ねやりたいことには対応していますが、動作検証しやすいよう、コマンドラインオプションを付け加えていきます。いうものを使うそうです。1.8.7-p374。