もふもふ技術部

「we love heroku」をローカルで動かしてみるついでにちょっとだけコードを読んでみる


「we love heroku」とは、Herokuで開発されたサービスをギャラリーとして紹介するサービス。せっかくだからぼくが作ったサービスも登録しといた。ジェニュインブルーさんが作ってるぽい。
http://welove.herokuapp.com/

Railsプロジェクトのリファクタリングをしたり、よりよい書き方を探したりしようとすると、WEB上の情報だけでは収集することが難しいので、Railsのオープンソースプロジェクトのソースを読むと色々参考になったりします。

とはいえソースコードを読むだけでは細かい挙動が理解出来なかったりするところもあるので、やっぱり実際に動かしたくなったりします。なので動かしながらコードをちょっと読んでみることに。

we_love_heroku

Github
https://github.com/ppworks/we_love_heroku

TOP
スクリーンショット 2014-09-13 15.52.47

TOP2
スクリーンショット 2014-09-13 15.53.05

検索結果
スクリーンショット 2014-09-13 15.50.05

TOPからの検索処理をちょっと追ってみる。

検索処理の定番gemのransack使ってるみたい。

respond_withというメソッドを使ってる。説明はこちらのエントリが参考になる。
http://blog.livedoor.jp/sasata299/archives/51804693.html

indexの場合は置いといて、updateをみる。

この場合、@siteの値にバリデーションエラーがなければ、locationで指定したパスにリダイレクトしてくれる。逆にエラーがある場合は、自動的にeditをrenderするっぽい。挙動は未確認だけどそういう理解。

Scaffoldで生成されるような標準的なCRUDで実装されている部分をスッキリかけそうな気がする。使ってみよう。

こんな感じでアクションに.jsonつければjson形式で返ってくる。urlがアレなのはransackのせいかな?
http://welove.herokuapp.com/sites.json?utf8=%E2%9C%93&q%5Bname_or_url_or_description_or_creator_or_hash_tag_or_repository_url_cont%5D=kpt

we love herokuはmodelがuserとsiteしかないコンパクトなコードでした。コンパクトなだけに全体を見通しやすいのと洗練されてる感じがするのでコードリーディングにおすすめかも。

The following two tabs change content below.
原田 敦

原田 敦

日本CAWのエンジニア。もふもふ部の部長。得意分野はRuby on Railsを使った小規模WEBアプリケーションを高速で開発すること。週末の楽しみは一人お菓子パーティー。三度の飯より小動物をもふもふするのが好きです。