タグ

ブックマーク / moro.hatenadiary.org (7)

  • Cucumberがアツい - moroの日記

    仕事で作っているRailsアプリにCucumberを突っ込んでみました。これは熱い。いやもう十分、お客さんに見せて分かってもらえる気がします。たぶん。もちろん準備は必要だし、受け入れ仕様をすべてお客さんに書いてもらうというのは難しいですけど*1。 とりあえず導入はこちらから。最近はNokogiriが必要です。あとTerminal.appで--no-colorつけずに実行するとTerminal.appがひどいことになるのでiTermお薦めです。 http://github.com/aslakhellesoy/cucumber/wikis/ruby-on-rails 2010-11-10 SEO的に。この記事を書いてから2年、いろんなCucumberの使い方を調べました。そのノウハウを達人出版会にてにまとめました。よろしければこちらもどうぞ。 http://tatsu-zine.com/bo

    Cucumberがアツい - moroの日記
  • Railsアプリのブラックボックステスト - moroの日記

    昨日のRails勉強会の帰りに松田さんと話してたネタです(お互い、早く懇親会に行ける身分に戻りたいですね)。 id:t-wadaさんとか角谷さんのプレゼンをみて、Cucumberを使いたいし、カバレッジとりたいなと思ったのですが、Railsの場合いい感じに外側からテストを書く方法がちょっと思い浮かびませんでした。 で、Mechanizeぽくいろいろアクセスできるテストライブラリを教えてもらったんですが(名前忘れた>< 助けて松田マン)、その前段として、同一プロセスでRailsアプリを走らせたいなぁ、と。 で、Rack(thinにアダプタはいってる。thin++)を使って試したらうまい感じに動きました。あとはこれを肉付けしていけばいいんじゃないでしょうか。セッションも引き継いだりしなきゃ行けないでしょうし。 簡単に説明すると、19行目でRailsアプリ体を内包するRackのアプリを作り、あ

    Railsアプリのブラックボックステスト - moroの日記
  • 大人のためのRails本 - 実践Rails - moroの日記

    オライリー様から献いただきました。ありがとうございます。今週末くらいには配される予定とのこと。 このにはちょっと縁がありまして、ずいぶん前に原著の評価をしたり、プラグインの配布元をアップデートしたほうがいいということでid:ursmを紹介したりしました。ということでid:ursm(Mercurial厨)によるGitブーム以降のプラギン入手場所一覧が付録として追加されています。GJ。 それはそうと、原著を見たときにも思いましたが、これはいいですよ。LDAPとか(ちょっとですけど)載ってて萌える。 Railsでいろいろ作っていくと、開発中はよくても運用を始めたら苦しくなったという話や、基機能はできてもちょっとRailsっぽくないものを作ると苦労するという話(弊社では「レールを外れる」と呼んでいます)はいろいろ聞きます。 このはそんな「Rails仕事で使うと突き当たる問題」の解決に

    大人のためのRails本 - 実践Rails - moroの日記
  • Ruby on Rails Code Quality Checklist抄訳 - moroの日記

    オレンジニュース経由でこんなものを見かけました。 Ruby on Rails Code Quality Checklist これはいいチェックリスト。あとだしジャンケンぽいですが、私がいつも思っていることがいろいろ書いてあってすばらしいです。これをすべてYesにするのは難しいというか机上の空論ぽいところもありますが、これを目指すことには価値はあると思います。 ということで項目だけを抄訳(&地の文は私感)を書いてみます。誤訳などがあればツッコミお待ちしています。 コントローラのアクションではfindやnew以外のモデルメソッドは一つくらいにしなさい(必要なら.newや.updateメソッドをオーバーライドするといい)。 原文: 1. Each controller action only calls one model method other than an initial find or

    Ruby on Rails Code Quality Checklist抄訳 - moroの日記
  • Rails 2.1.1での関連とバリデーションの話 - moroの日記

    from http://d.hatena.ne.jp/mat_aki/20080921/1221970970 Rails 2.1.xでは関連を作った場合のバリデーションの挙動がいろいろ変わっています。で、ぎゃーと言う声を見かけたのでIRC相談してみました。私はどうもこういう使い方をしない癖がついていたらしく、あんまりはまりませんでした。 まとめると たしかにRails 2.1.1で挙動が変わっている 保存時に関連エンティティのバリデーションをするにはhas_many宣言なんかで:validateパラメータを指定する 関連の種類とvalidateパラメータのデフォルトは次の通り has_manyはデフォルトtrue has_oneはデフォルトfalse belongs_toもデフォルトfalse habtmは調べてないww 以下IRCのログを転載。松田さんおめでとうございます。 16:17

    Rails 2.1.1での関連とバリデーションの話 - moroの日記
  • WEBrickをつかってActiveResourceのダミーサーバを作る - moroの日記

    ActiveResouceなんかを使ったり、認証サーバと連携したりといった外部サーバとの通信が必要なアプリケーションを書く場合、ローカルで動かせるダミーサーバが欲しくなります。このところ仕事でそういうシーンが多かったのですが、そういったときにWEBrick(とActiveSupport)を使うとものすごく簡単にダミーサーバを作れます。 今日はActiveResouceを使うためにAResT API*1をしゃべるダミーサーバが欲しかったんですが、以下のような感じで簡単に書けました。実物はもうちょっと複雑だったので、所要時間10分くらい。 使う側はこんな感じです。 WEBrickすごい。「まるごとWEBrick」とか「初めてのWEBrick」とか「WEBrickレシピブック」が出版されるべき。 *1:ActiveResouceの規約に沿ったAPIをこう呼ぼう運動中

    WEBrickをつかってActiveResourceのダミーサーバを作る - moroの日記
  • named_scopeについてくわしく - moroの日記

    先日の金曜日に、社内でnamed_scopeの勉強会をやりました。 RubyKaigiで松田さんがしゃべった話がたいそう面白かったので、実際にnamed_scopeの実装を見てみよう、というテーマです。 | View | Upload your own 調べて改めて思ったんですが、これはまたよくできてますね。 method_missingを活用しまくっているという意味ではいつもの「イヤな予感」がするんですが、使い方がキレイで脱帽です。このあたりの「味わい」はスライド後半のコールシーケンスをご覧ください。複雑なことをやっているんですが、一度わかるとものすごく腑に落ちる感じが、何ともうまいですよね。うん。 今回取り上げたのはリリース版(AR2.1)のnamed_scopeですが、現時点でもいろんな機能が追加されてますのでまた先々も楽しみです。Railsレシピブックも改版する機会があったら(今回

  • 1