ruby

mongoid 2.0.0.beta.6 で遊ぶ

MongoId 可愛いよ、MongoId。 mongo 標準のシェルに潜るより r c してコンソールから叩く方が楽なので困る(嬉しい意味で)。 以前はこう出来たのが where(:price => {'$gt' => 0}) 今はこう where(:price.gt => 0}) また exclude, not_in のような見慣れな…

Rails 3 + warden

Rails 3 + warden で認証機能を実装したので忘れないうちにメモ。何か非効率な事をしているかも。(モデルは AR ではなく mongodb + MongoId) Gemfile gem "warden" gem "rails_warden" initializers/warden.rb >|ruby| Rails.configuration.middleware.use…

updating my Rspec knowledge

http://pure-rspec-rubynation.heroku.com/ 読んだメモ。 (追記)更に http://eggsonbread.com/2010/03/28/my-rspec-best-practices-and-tips/ も読んでメモを追記した。 RSpec2 メモ its が動かない undefined method `its' メモ implicit subject & it de…

Rails 3 + autotest

久々 autotest 叩いてみたらエラーが出てた。 loading autotest/rails_rspec2 Autotest style autotest/rails_rspec2 doesn't seem to exist. Aborting. 解決策はこの辺り。 http://www.ruby-forum.com/topic/206187更に、ZenTest と rspec-rails が同一パス…

Rails 3 + MongoDB のメモ

CouchDB definitive guide が届いたタイミングで MongoDB に乗り換えてしまい、Rails 3 と共に戯れ中。 文章が分散していたり欠けていたりしたのでメモを残してみる。 Gemfile gem "bson_ext" gem "mongoid", ">= 2.0.0.beta2" run generator g mongo:config…

rails 3 で作ってみよう - routing と AR 一通り

controller 名の単数と複数を間違えたままマッピングして, ハマる。 resources/resource はそれぞれコントローラ名も単数/複数で合わせる。(or No routes matches)次 auth 本文に何らかのフォーマット導入 投稿機能 積み残し match に対応した url/path の…

ActiveRecord on Rails 3 でクエリを動的に組み立てる (Lazy Loading)

Lazy Loading これで良いのかどうか、、まだ冗長に思えるのでもっと良い他の道があるのかも。 query = Entry.recent query = query.ranged params if params[:year] @entries = query.paginate :page=>params[:page] || 1, :per_page=>Entry.per_page query …

rails 3 で作ってみよう - /entries で表示

結局 logware を作る事に。 作りつつ公開しているので物好きな方は fork me on github次 will_paginate entry 単体表示 slug 実装 entry 詳細情報整備 本文に何らかのフォーマット導入 投稿機能 積み残し factory_girl からの db:fixtures:load (そもそも用…

AR の conditional chain (がねーよという話)

AR on Rails3 の scope & chain はとてもステキなのだけど、scope で抽象化して chain やってると直ぐに条件付き連鎖が書きたくなる。こんな感じ Song.list.recently.send( cond ? 'played' : 'callee' ).page….(以後、延々と続く) 調べてもわからん。ぐぐ…

rails3 - gem 管理

ぼちぼち、のんびり作ってみる。 Bundler 0.8 -> 0.9 で :only 廃止、:group になった generator は ./script/rails generate にお引っ越し まとめ http://sousk-log.blogspot.com/2010/03/play-with-ralis3-setup-your-bundler-and.html 参照元 http://www.…

reading Rails 3 Release Note (8:Active Model to 7:Action Pack)

Rails に対して「ここはちょっとなー」と思っていた、表面はエレガントだが内部のコードはダーティという水鳥な部分が払拭されたように見える。 フルアーマーZZみたいだ!と思っていた重厚長大感もモジュール&粗結合で回答が出たような。 spec 見てるだけの…

reading Rails 3 Release Note (1:Upgrading to 7:Action Pack)

routing 重要。 色々萌える。escaping by default はやっとか!って感じだけど。 sources en: http://guides.rails.info/3_0_release_notes.html ja: http://blog.bluemoderns.com/articles/2010/02/07/ruby-on-rails-3-1 more infos http://guides.rails.in…

dive into rails3

node.js か Scala/Lift でいくでー!とか色々違うものに移ろうと思っていたのだけどやっぱり rails3 は押さえる事にした。 やっぱいいんですよ。「アプリの数だけレールがあっていいよね」は大変ささる。Rails1 から Rails3 に並べたときの時代に寄り添うよ…

OpenID 実装に OpenSSL::PKey::DH を使ってみたけど

試したのでメモ。 えーっと、 p, g を指定してのインスタンス生成できない(ライブラリの生成に任せる事になる) 素数の生成に時間がかかる あらかじめ用意した鍵を使うなら問題ないのですが 、DH による交換が必要になった時に鍵を生成して捨て去る今の方式…

OpenID Engine は 4/30 公開デス

一部で「4/23 に Rails2/OpenID2 でプラグイン公開するよー」と話していた OpenID Engine (という名前になった)ですが、4/30 に延期しました。 ruby-openid をばっさり捨てて再実装し、ごりごり書いております。て事で、もうしばらくお待ちください。

RSpec で it の引数とブロックを DRY にする

方法が出来そうだと思ったんだけど、Ruby の Proc に環境をバインドする方法が分からなくて止めた (´・ω・`) よかったら誰かお願いします。it のブロック内に 結論、条件、条件、(実行)の順でコードを並べれば行けると思ったのだけど。 it do to_be { @foo.s…

べ、vendor/plugins 以下だって reload したいんだからっ、、!

Rails2 になって require_dependency や Reloadable とか色々消え失せた? ファイル管理は Dependencies クラスが行っていて、例えばあるプラグインを reload させたい場合、 [RAILS_ROOT + '/vendor/plugins/yad_openid/lib'].each do |path| Dependencies.…

autotest をカスタマイズする

clear_mappings と二重定義について追記 @2008/04/12 「このファイルをセーブしたらこっちの spec 走らせたい!」と思ったので調べた。ソースはこの辺 ZenTest: http://zentest.rubyforge.org/ZenTest/ autodiscovery(): http://zentest.rubyforge.org/ZenTe…

merb の adapter オプション

Adapter.register %w{ebb}, :Ebb Adapter.register %w{emongrel}, :EventedMongrel Adapter.register %w{fastcgi fcgi}, :FastCGI Adapter.register %w{irb}, :Irb Adapter.register %w{mongrel}, :Mongrel Adapter.register %w{runner}, :Runner Adapter.re…