merb-auth-slice-passwordは、merb-gen appがデフォルトで生成する認証機能ですが、これを使ってログインが必要なアクションを作ると、デフォルトのrequest specでエラーが出るようになります。

そのような場合には、spec_helper.rbの中で、
以下のようなヘルパーを用意すると良いようです。

ruby>>
Merb::Test.add_helpers do
def create_default_user
unless User.first(:login => "krusty")
User.create( :login => "krusty",
:password => "klown",
:password_confirmation => "klown") or raise "can't create user"
end
end

def login
create_default_user
request("/login", {
:method => "PUT",
:params => {
:login => "krusty",
:password => "klown"
}
})
end
end
<<--

See Also

posted by genki genki on Wed 14 Jan 2009 at 11:04 with 0 comments

MerbのGeneratorは、merb-genというコマンドに集約されています。
Railsではscript/{generate|destroy}を使いますが、独立したコマンドになっているので、
MERB_ROOT以外の場所でも利用可能です。

さて、Merbでも、RailsのようにGeneratorを独自に作る事が出来るのですが、
そのためにはGEM_ROOTにGeneratorsというファイルを作り、
以下のように自分をGeneratorとして登録するコードを書きます。

ruby>>
scope 'merb-gen' do
dir = File.join(File.dirname(FILE), 'lib', 'generators/')
Merb.add_generators dir + 'mailer_generator'
end
<<--

MerbのGeneratorは、より汎用的なGeneratorを作る仕組みである、
templater
を使って実装されています。
そのため、Merb用のGeneratorを作る場合は、上記ファイルのscopeに
merb-genを指定する必要があります。

Railsの場合は、foo_generater のようにGem名のサフィックスでGenerator
を提供するかどうか判別していましたが、
こっちのほうがもっと賢いやり方だと思います。

posted by genki genki on Tue 13 Jan 2009 at 23:24 with 0 comments

$EDITORで~/.zshrcを開いて

sh>>
alias mi='PATH=./bin:$PATH merb -i'
alias mg='PATH=./bin:$PATH merb-gen'
<<--

の2行を追加すると、
thor merb:gems:install環境でもそうじゃない環境でも、所望のコマンドが実行されて便利です。

posted by genki genki on Tue 13 Jan 2009 at 17:02 with 0 comments

Merbをコンソールから操作する時には、merb -iコマンドを実行するのですが、
アプリケーションコードの変更を検出すると、自動的にirbがリロードされてしまい、ヒストリーが消えてしまうので、若干不便さを感じていました。

そんな時は、
irb-history
があなたのMerbライフを強力にサポートしてくれます(Thanks maiha!)

まずはおもむろに

pre>>
% sudo gem install irb-history
<<--

つづいて、~/.irbrc に以下の行を追加します。

ruby>>
require 'rubygems'
require 'irb/history'
IRB::History.start_client
<<--

これでOK。あとは普通にmerb -iを使っていれば、リロードされても
ヒストリーが消えません。

posted by genki genki on Tue 13 Jan 2009 at 16:53 with 0 comments
Contents rssrss
光ファイバーを二次元振動させて走査するAR用ディスプレイ
因果の取り違え
Swift2's defer for CoffeeScript
mongodb-3.0からcreateIndexのdropDupsが無くなったらしい
mongodb-3.0以降のWiredTigerの設定を動的に変更する方法
一般楕円の高速生成アルゴリズムへの道標
farro mantecatoのレシピ
Droonga関連の記事のまとめ
RuntimeErrorの特定のメッセージに限定してrescueする方法
jQueryでscriptタグを実行せずにappendする
Tags
merbmemotipsauthgemgeneratorrubyspec
Comments rssrss
瀧内元気 瀧内元気: MacOS版は以下にあります genki/ViMouse 01/16 05:40
dsjf dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これでも出... 01/08 23:23
瀧内元気 瀧内元気: おお、チェックしてみます。thx! 12/24 05:23
overisland overisland: Reeder for iPhone もこの UI を実装していますね。 12/24 05:13
瀧内元気 瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 http:... 12/01 12:20
tkawa tkawa: http://devcenter.heroku.com/articles/rails31_herok... 12/01 10:47
瀧内元気 瀧内元気: どもー。いまはgithubに置いてあります https://github.com/genki/irb... 07/10 08:31
ともち ともち: こんにちは! すばらしいプログラムをありがとうございます。しかし、merbiのドメイン、切れているみ... 07/10 02:30
Services from s21g
MagicBag
MagicBagは、Cloudflare R2やS3互換ストレージをMacのFinderから扱えるファイル同期クライアントです。
アンテナショップめぐり
東京にある全国のアンテナショップ、イベント、特産品を地図や条件から探せるサービスです。
YOMU Web小説リーダー
YOMUは、Web小説の読み上げに特化したiPhoneアプリです。
補助探
公開されている補助金・助成金情報を集約し、条件に合う制度を探しやすくするサービスです。
jotter.me
jotter.meは、考えやアイデア、情報を書き留めるためのノートサービスです。