自分用のメモ。
- gems ファイルをダウンロード(scrapi と tidy)
- gem install tidy --local
- gem install scrapi --local
でいけるはず。
Ruby の用途が、
とかではなくて、
という位置づけな自分にとって、書いているコードはいくつかオプションを指定してコンソールで走らせてやれば終了するようなものがほとんどを占めている。
そうすると、かなり毎度同じような内容を書いていたりして、DRY じゃないなー(けど、自分しか使わないようなのが多いし、ま、いっかー)と感じていた。
そうこうするところに、SimpleConsole というコンソールアプリ用のフレームワークの紹介を読み、「これで解決するんでない?」と期待を持ったので試してみることにした。
紹介をざっと読む限りだと、SimpleConsole は、
のあたりが売りのフレームワークらしい。
optparse で定型のおまじないを書いてオプションを受けなくて良い辺りはうれしいのかも。
DSL 的なメソッドの記法を見ても、かなり Rails を意識した作りに見える。(が、この辺は第一印象としては Rails よりも洗練されていない印象。名前とか書き方の癖とか。)
http://simpleconsole.rubyforge.org/
緑のコードが読みにくい。(たぶんうちの環境の問題。)
gem install simpleconsole --remote
http://simpleconsole.rubyforge.org/tutorial.html
simcon コマンドで雛形作成。
たぶん、Rails の script/generate 相当。
class Controller < SimpleConsole::Controller def default @message = "Hello World!" end end class View < SimpleConsole::View def default puts @message end end
class Controller < SimpleConsole::Controller params :string => {:n => :name} def who_am_i @name = params[:name] end end class View < SimpleConsole::View def who_am_i puts "Hello, #{@name}!" end end
うーん、もう少し CoC なかんじになると使っているときの爽快感が上がりそう。期待。
それでも optparse を使うよりもさらに簡単にオプションを使えるのはうれしい。
良さそうな点。
まずは、Rails 的な便利さをコンソールでもほしい!という目的に強く共感。今のままでもそれなりに使えそうなかんじ。
さらに、フレームワークの実装コード自体も小規模なので、気になるところをこちょこちょと調整すれば自分のための便利環境が作れそう。
あとは、これをベースにすると、ちまちまと作るツール類のフォーマットがそろうので、それが実は一番うれしいかも。他人に引継ぐときにも説明しやすいし。
気になった点。
パラメータの受取りの辺りを見てみると、やや癖があったりして、個人的な感性からはちょっと違和感を感じる部分もあった。その辺の整理と、ヘルパー系の強化をしていくと良い塩梅に軽量の Ruby プログラミング用プラットフォームができそう。