#134
169.md
Updated at 2016-11-23 01:39

「merbish(仮)」をpushしました

Apr 23, 2011 From: ronnie@d...

松田です。

大江戸Ruby会議で「成果を出す」とかなんとかさんざん煽っといて自分がぜんぜんasakusarbのほうにpushできてなかったのがわりと心苦しかったんですが、

そんな中、昨晩思いついた新プロダクトを先ほどひとつpushしてみました。

https://github.com/asakusarb/merbish

名称: merbish(仮)

動作環境: Ruby 1.9.2以上 + Rails 3.0以上

概要: Rails 3のコントローラーが超かっこよくなります。

サンプルコード(抜粋):

class UsersController < ApplicationController

...
 # GET /users/1
 def show(id)
   @user = User.find(id)
 end
 ...

# POST /users
 def create(user)
   @user = User.new(user)

if @user.save
     redirect_to @user, :notice => 'User was successfully created.'
   else
     render :action => 'new'
   end
 end

# PUT /users/1
 def update(id, user)
   @user = User.find(id)

if @user.update_attributes(user)
     redirect_to @user, :notice => 'User was successfully updated.'
   else
     render :action => 'edit'
   end
 end
 ...

end

とまぁこんな感じでコントローラーのアクションメソッドに変数を渡せるようになります。

で、何が嬉しいのかというと例えば以下のようなところでしょうか。

入力が明示されることで可読性が大幅up

アクションのロジック内でparamsという謎のグローバル的な変数を参照しなくなる

よって、アクションメソッドの単体テストが書きやすくなるかも

このプロダクトのAsakusa.rb的な意義としては、

あのmethoparaをフル活用!

待望の「Ruby 1.9でしか動かないRails向けライブラリ」!

といったところですね。

ご興味のある方は是非お試しいただければ幸いです。

以下使用方法。

  1. Gemfileに以下の行を追加してbundle

    gem 'merbish', :git => 'git://github.com/asakusarb/merbish'{{br}}

  2. ふつうにscaffold generatorを実行

  3. Ruby 1.9でサーバーを起動

なお、名前が気にくわないので、まだgemにはしてません。

それでは、フィードバックお待ちしてます。

enjoy!


Akira Matsuda<ronnie@d...>

Apr 23, 2011 From: shintaro.kakutani@g...

なにこれかっこいい。

名前… argumented_controller とか。

厨二っぽいけど。いちおう駄洒落のつもり。

On Saturday, April 23, 2011, Akira Matsuda <ronnie@d...> wrote:

松田です。

大江戸Ruby会議で「成果を出す」とかなんとかさんざん煽っといて自分がぜんぜんasakusarbのほうにpushできてなかったのがわりと心苦しかったんですが、 そんな中、昨晩思いついた新プロダクトを先ほどひとつpushしてみました。

https://github.com/asakusarb/merbish

名称: merbish(仮) 動作環境: Ruby 1.9.2以上 + Rails 3.0以上 概要: Rails 3のコントローラーが超かっこよくなります。 サンプルコード(抜粋):

class UsersController < ApplicationController ...

def show(id) @user = User.find(id) end ...

def create(user) @user = User.new(user)

if @user.save redirect_to @user, :notice => 'User was successfully created.' else render :action => 'new' end end

def update(id, user) @user = User.find(id)

if @user.update_attributes(user) redirect_to @user, :notice => 'User was successfully updated.' else render :action => 'edit' end end ... end

とまぁこんな感じでコントローラーのアクションメソッドに変数を渡せるようになります。 で、何が嬉しいのかというと例えば以下のようなところでしょうか。

入力が明示されることで可読性が大幅up

アクションのロジック内でparamsという謎のグローバル的な変数を参照しなくなる

よって、アクションメソッドの単体テストが書きやすくなるかも

このプロダクトのAsakusa.rb的な意義としては、

あのmethoparaをフル活用!

待望の「Ruby 1.9でしか動かないRails向けライブラリ」!

といったところですね。

ご興味のある方は是非お試しいただければ幸いです。 以下使用方法。

  1. Gemfileに以下の行を追加してbundle gem 'merbish', :git => 'git://github.com/asakusarb/merbish'

  2. ふつうにscaffold generatorを実行

  3. Ruby 1.9でサーバーを起動

なお、名前が気にくわないので、まだgemにはしてません。 それでは、フィードバックお待ちしてます。 enjoy!

  • -

Akira Matsuda<ronnie@d...>

  • -

archive-> http://qwik.jp/asakusarb/169.htmlML-> asakusarb@q...


Kakutani Shintaro

Apr 23, 2011 From: ronnie@d...

2011/4/23 Kakutani Shintaro <shintaro.kakutani@g...>:

なにこれかっこいい。 名前… argumented_controller とか。 厨二っぽいけど。いちおう駄洒落のつもり。

ありがとうございます。

ただ、名前ですが、よく考えてみれば、何か意味のある名前をつけるんであれば

ベタに rails-action-args しかない気がしてきました・・・。

どう考えても一緒だもんなぁ。

じゃなければKaminari系の何か無意味な名前にするのもアリかとは思いますが。

ちなみに、先のメールではちょっと急いでたもんで書き漏れてましたが、

新しめのメンバーの皆さんのためにもうちょっと補足しておくと、

「あのmethopara」とはこれのことです。

http://wota.jp/ac/?date=20090210

懐かしのAsakusa.rbプロダクツ第1弾。

もう2年以上も前だったんですね。


Akira Matsuda<ronnie@d...>

Imports/Qwik/168.md
Imports/Qwik/17.md

Comments0