May 20, 2008

Rubyist九州会議 2008

6月14日に福岡姪浜にて「Rubyist九州会議 2008」を開催します。
Rubyの最先端情報を知ることができるイベントです。
ぜひご参加ください。

今回は4名の発表者を迎えて行います。
Rubyを普段お使いの方はもちろん、
Rubyをお使いでない方にも参加していただきたいとおもっています。

筑波で行われるRubyKaigi 2008と同内容の発表が3本ありますので、
RubyKaigiなどの東京のイベントに参加できなくて
悔しい思いをしている方は是非ご参加ください。

Posted by arai at 01:34 AM | Comments (0)

May 10, 2008

egalite - 1

Rubyで新しいウェブアプリケーションフレームワークを書いています。フレームワークは沢山ありますので、私が新しいのを作ったところで話題にはならないでしょうけど、なかなか気に入っているので、完成したら公開したいと思っています。

とりあえず、現時点で稼動しているサンプルコードを載せたいと思います。

プログラム本体。

require 'egalite'

class DefaultController < Egalite::Controller
  def get(name = 'egalite')
    [
     "hello #{name}.",
     "cookies = #{cookies.inspect}",
     "#{url_for(:action => :bar, :params => [:a,:b])}",
     "<a href='test'>template test</a>",
     link_to('params test',:action => :test2, :hoge => "p i y o",
       "foo[bar][1]" => 1, "foo[bar][2]" => :two),
     link_to('add cookie', :action => :set_cookie, :id => :piyopiyo),
     link_to('del cookie', :action => :delete_cookie),
    ].join('<br/>')
  end
  def test
    {:posts => [
      {:title => 'piyo', :content => 'hiyoko.'},
      {:title => 'foo', :content => 'bar.'},
    ]}
  end
  def test2
    params.inspect
  end
  def set_cookie(s)
    cookies['test'] = {:expires => Time.now + 3600, :value => s, :path => '/'}
    redirect_to('/')
  end
  def delete_cookie
    cookies['test'] = {:expires => Time.now - 3600, :value => nil}
    redirect_to('/')
  end
end

ShowException = true
RouteDebug = false
egalite = Egalite::Handler.new

Rack::Handler::WEBrick.run(egalite, :Port => 4000)

HTMLページ (pages/test.html)

<html>
<head>
  <title>Egalite - A next web application framework on Ruby</title>
</head>
<body>
  <h1>Welcome to Egalite</h1>
  <group name='posts'>
    <h2>&=title;</h2>
    <p>&=content;</p>
  </group>
</body>
</html>
Posted by arai at 04:49 PM | Comments (4)