simpleconsole
- SimpleConsole - Building Console Apps
- 満足せる豚。眠たげなポチ。:コンソールアプリケーション用 Ruby フレームワーク SimpleConsole を使ってみた
sudo gem install simpleconsole
Successfully installed simpleconsole-0.1.1 1 gem installed Installing ri documentation for simpleconsole-0.1.1... Installing RDoc documentation for simpleconsole-0.1.1...
simconコマンドからgenerateなどするらしい
which simcon
/opt/local/bin/simcon
チュートリアル参考に http://simpleconsole.rubyforge.org/tutorial.html
メモ帳アプリでも作る
simcon single -f mem
The file 'mem' was generated.
memというファイルが生成されている
#!/usr/bin/env ruby -w require "rubygems" require "simpleconsole" # require File.dirname(__FILE__) + "/../" class Controller < SimpleConsole::Controller end class View < SimpleConsole::View end SimpleConsole::Application.run(ARGV, Controller, View)
適当に編集する。引数を取れるようにした。
#!/usr/bin/env ruby -w require "rubygems" require "simpleconsole" # require File.dirname(__FILE__) + "/../" class Controller < SimpleConsole::Controller params :string => {:m => :message} def default @name = 'shokai' end def post @message = params[:message] end end class View < SimpleConsole::View def default puts 'username:' + @name end def post puts 'post:' + @message end end SimpleConsole::Application.run(ARGV, Controller, View)
default関数は引数無しで実行した時、controller→viewの順に実行される
./mem
username:shokai
postを使う
./mem post -m 眠い
post:眠い
controllerで
params :string => {:m => :message}
と宣言してあるので
./mem post -message 眠い
や
./mem post --message 眠い
でも同じ結果になる。