『OreBoard』とは、Rubyを勉強しながら微妙に使いにくい掲示板スクリプトを作ってみようという試みのこと。最初は「プロジェクト俺板」という名称にしていたが、露骨にパクりっぽいのでやめた。動作サンプルは以下のページからどうぞ。
『OreBoard』ってどんなもの?
スレッドフロート式と呼ばれるタイプの掲示板。Rubyで書いた。オブジェクト指向を知らずに作っているので、クラス間の構造が大変なことになりつつある。
内部にはBoardクラスとBoardThreadクラスとBoardResクラスがあって、BoardオブジェクトはBoardThreadの配列を、BoatdThreadオブジェクトはBoardResの配列を持っている。スレッドの追加はBoardオブジェクトから、レスの追加はBoardThreadオブジェクトから行うのがエレガントだけど、実際にはレス追加でスレッドの上下が変動するので、レス追加もスレッド追加もBoardクラスのメソッドで行う。現状ではCGIクラスのインスタンスをそのままBoardクラスのメソッドに渡して処理してる。
吐き出すHTMLには index.html(スレッド概要)と subject.html(スレッド一覧)と スレッドID.html(レス一覧)があって、index と subject は Boardクラスで、スレッドID.html はBoardThreadクラスで吐き出す。でも現状だとロジック部とHTMLの生成がごっちゃになってて読みにくい。いっそファイルごとにクラスを作るのがいいんでしょうか。教えてエロい人。
もうつくった
- スレッド追加とレス投稿でageたりsageたり
- フォーム入力をHTMLエスケープ
- 本文とかがなかったらハジく
- XHTMLっぽいページを静的生成
- index.htmlにスレッドの概要を表示
- subject.htmlにスレッドの一覧 → index.htmlにまとめてもいいかもね