simpleconsole

Rubyのコンソールアプリ作成フレームワークを使う

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 眠い
でも同じ結果になる。