Ruby on Rails

Rspec Rails、なんか仕様が変わった?

rspecとrspec-railsを1.1.12から1.2.0にアップデートしたら、なんか、今まで通ってたexamplesが通らなくなったwww しかも、オイラが書いた訳じゃないものだしwww restful_authenticationなんだけど。 具体的には、 spec/controllers/users_controller_spec.r…

Railsが2.3.2になってgemにあがってるっ!!

うぉーーーーっ!! ...入れ替えるの、マンドクセ...www

テストって、なんの為に書くんだろう。

さて。 昨日の勉強会で、皆さんに伺った訳ですが。 オイラの頭に、強烈に残ったのが、 カバレッジは100%で有る必要は無い 正常系のテストだけで(も)イイ 開発の為のテストだから って云う事なんだけれども。 まあ、「検証が行われているかどうかテストすると…

Rails勉強会@東京第39回

毎度のことながら、はてブはしない;-p が、まあ、タグは作ったさ。 懇親会には参加せず(酒、呑まないのさオイラw)、真っ直ぐウチに帰ってきて、ウダウダやって、晩飯としてカレイの煮付けと大根+油揚げのみそ汁と白菜の浅漬け食べて、ウダっとして、タバコ買…

ビューのspecで、ウマい書き方がワカンネェー

Product(name: string, description: text, height: float, width: float, depth: float)というモデルがあったとして。 で、それを扱うProductsControllerがあったとして。 で、ビューのspecを書くとして。 rspec_scaffoldで生成されたspecは、こうなる訳だ…

rspecのジェネレータがムカツク。

つうか、ね?rspec_scaffoldと、rspec_controllerの生成するコントローラやらビューやらの中身が、あまりにも違いすぎるのがムカツク。 まあ、app/以下のファイルに関しては、railsのジェネレータに丸投げんだろうけど。 でも、spec/以下のファイルに関しては…

効率のイイspecの書き方が思いつかない...

例えば、こんなspec書いてみました。 describe "allow height is numelicaly" do ["1", "10000000", "0.1" ].each do |height| it "'#{height}'" do lambda do product = create_product(:height => height) product.errors.on(:height).should be_nil end.s…

テスト駆動開発っ!!

...ホントに?www つうか、RSpec使うんだったら、ビヘイビア駆動じゃないのか? -> オレwww とりあえず、Roleモデルは、要素も少なくって、しかも、リレーションの検証もあるから、始めてやるのにはうってつけかな、と。 で。 「ビヘイビア駆動」って、なによ?…

それじゃあ、specを書こうか。(2) ~ リレーションを考える

で。 RoleオブジェクトはUserオブジェクトと関連をもっている訳ですわ。 で、それをテストしないといけない訳ですわ。 なんで、書いてみる。 フィクスチャは、「[http://d.hatena.ne.jp/lov2much/20090225/1235524308:title=fugafugaにrole_requirementをセ…

自動...テスト...だと?...

何その便利機能www テストはとことん自動で楽しく...。 -ザリガニが見ていた...。 RSpec+ZenTestで快適Rails開発 - 税理士業界でSaaS開発を行うプログラマの記録 UK STUDIO - MacBookにRailsの自動テスト環境を構築した じゃあ、とりあえず。 ZenTestのイン…

fugafugaにrestful_authenticationをセットアップ。(6) ~ app/models/user_mailer.rbの修正

※「APP_CONFIG~」は、config/config.ymlで定数として定義しています。 # app/models/user_mailer.rb def signup_notification(user) setup_email(user) @subject += 'Please activate your new account' - @body[:url] = "http://YOURSITE/activate/#{user.a…

fugafugaにrestful_authenticationをセットアップ。(5) ~ Userモデルの初期値の設定

※「APP_CONFIG~」は、config/config.ymlで定数として定義しています。とりあえず、定数は、config/config.yml作って、config/environment.rbで、restful_authentication_tutorialを参考に。 require File.join(File.dirname(__FILE__), 'boot') + #Load appl…

fugafugaにrestful_authenticationをセットアップ。(4) ~ spec/helpers/users_helper_spec.rbの修正

イヤ、これが結構、悩みましたわ。 # spec/helpers/users_helper_spec.rb (略) it "should use the login as link text with no :content_method specified" do - link_to_user(@user).should have_tag("a", 'user_name') + link_to_user(@user).should have…

fugafugaにrestful_authenticationをセットアップ。(3) ~ spec/controllers/*_spec.rbの修正

んじゃあ、コントローラのspecの修正。 結構、悩んだねぇwww # lib/authenticated_test_helper.rb (略) def authorize_as(user) - @request.env["HTTP_AUTHORIZATION"] = user ? ActionController::HttpAuthentication::Basic.encode_credentials(users(user…

fugafugaにrestful_authenticationをセットアップ。(2) ~ spec/models/user_spec.rbの修正

とりあえず、RSpecのセットアップ。 $ script/generate rspec んじゃあ、とりあえず、テスト。 $ rake spec:models (略) #=> 75 examples, 75 failures #=> rake aborted! (略)...そりゃそうだ。 認証をloginからemailに変更しているからねぇ。 修正、マンド…

fugafugaにrestful_authenticationをセットアップ。(1)

月並みに。 $ script/generate authenticated user sessions --aasm --rspecAASMとRSpecに対応させて頂きました。 んで、config/routes.rbに追記。 map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate', :activation…

fugafugaにpluginをインスコする。

今回使う予定のpluginは、 Restful Authentication Generator Role Requirement acts_as_taggable_on_steroids この辺で。 後は、後から考えよう;-p で、インスコ。 $ git clone git://github.com/technoweenie/restful-authentication.git vendor/plugins/r…

railsでfugafugaを作ってみる。

とりあえず、やる気を出さないことには、なwww んじゃあ、新しいプロジェクト(某社カタログ・サイト(コマース無し))作成。 $ svnadmin create /var/repositories/fugafuga # 適当&ウチは未だにsvn $ cd ~/Rails # 適当 $ rails fugafuga # ウチはまだrails 2…

hogehogeを作るのを、しばらく休もうか。

イヤ、まあ、ちょっと飽きてきたって云うのも在るんだけどwww とりあえず、お小遣い貰えるプロジェクトが降ってきたんで、そっちにシフトしようかな、と。 んで、今回のプロジェクト概要。 某会社さんの取り扱う商品のカタログ・サイト rails 2.2.x(2.3.1が…

Rails勉強会@東京第38回

に行ってみる。 が、まあ、今回もはてブのブックマークはしない。 だって、はてブ使ってないんだもんwww で、今回、セレクトしたセッションは、「Rspec / Cucumberによるテスト by 諸橋氏」と「Rails 2.3のリリースノートを読む by 松田氏」。 で、感想。 sp…

どうりで話がかみ合わない筈だと気が付いた36の未明。

「リソース」。 広義な意味としては、「資源」。 なんだけど、ActiveResouceとか、map.resourceとかでいう「リソース」ってなると、レスポンスの内容、そのものだったりなんかする訳だけど... う〜ん、オレは、どこで、「ああ、この人は広義な意味でリソース…

named_scopeの利点に気が付いた36の朝。

Rails勉強会@東京第37回で、諸橋氏が、力説なさっていた、named_scopeなんですが。 まあ、ぶっちゃけたところ、その利点が、今一つ、ピンとこなかったんだよねwww 正直、「アソシエーションの拡張と、何が違うの?」って云う感じで。 確かに、メソッド・チェ…

「Creating a weblog in 15 minutes with Rails」が変わってた。

rails本家サイトのScreen Cast。 これ見て、心躍らなかった人って、いないと思うんだけどwww で、いつのまにか、コレが、rails 2.2.1ベースになってるのね。 こ・れ・が、もうっwww ルーティングからBASIC認証からAJAXから、てんこ盛りなのはいいんだけど、…

rails 2.2.2のscaffoldに関する疑問。

なんで、editアクションには、respond_to |format| ~ が入ってないんだろう...

するべきかせざるべきか、それが問題だ。

いや、つうか、ね? Commentモデルが在ったとして、んで、Userモデルが在って。 Userモデルからhas_manyでCommentモデルと関連付けて在るとして。 んで、Commentオブジェクトを作成したUserのみに、そのCommentのエントリーを変更・削除が可能にするとして。 …

よく読んだら、驚愕でもなかったやwww

いや、「Ruby on Rails 2.3 Release Notes」の「5.1. Nested Object Forms」。 段落末でlink_toとか書いて在るから、「おおーっ!?」って感じで、思わず書いちゃったんだけど、よぉ〜く読んだら、アレだ。 ネストしている状態のモデルを、親モデルに対するフ…

nested_resources_pathを殊更に改良してみた。

「nested_resources_pathを更に改良してみた。」で、作ったメソッドを、更に改良した。 def nested_resources_path(nested_resources, nested_resource_id = nil) parent_resource = request.env["REQUEST_PATH"].sub(/\/#{nested_resources}\/([0-9]*)($|\/…

nested_resources_pathを更に改良してみた。

「遠回り。それもまた、道也。」で作ったメソッドを、更に改良した。 def nested_resources_path(nested_resources, nested_resource_id = nil) parent_resource = request.env["REQUEST_PATH"].sub(/\/#{nested_resources}(\/*[0-9]*)($|\/.*$)/, "") if ne…

updated_atとかcreated_atとかの

timestampに、タイムゾーンがくっついている場合と、そうで無い場合で、ActiveRecordは、返す値が違うのか? という疑問。 付いていない場合、UTCとして扱う(のか?) 但し、config/environment.rbでタイムゾーンを指定している場合、そのタイムゾーンに合わせ…

hogehoge_filterで設定したフィルターに引数は渡せないものか?

いや、もう、見出しのまんまです... ちょっと、困った事態に陥ってますwww つっても、そんなに困ってる訳でもないっちゃあ、無いんだけどwww まあ、いいか... あとで考えよう;-p