ruby

rails3をmongoid,jquery,rspecと使う

プロジェクトの作成 rails new testProj --skip-activerecord --skip-prototype --skip-testunit Gemfileの修正 testProj/Gemfileを修正 source 'http://rubygems.org' gem 'rails', '3.0.4' gem 'unicorn' gem "bson_ext" gem "rails3-generators" gem "jqu…

sinatraでrspecをautospecで使うメモ

最近sinatraを使い始めました。 rspecをsinatraで使い始めるまで右往左往したのでその時のメモ cucumberも使おうかと思ったけど、あれはお客さんに見せる事ができるテスト仕様だから美味しいんであって、個人の趣味プログラミングで、しかもsinatra使ってサ…

mongoDBをrubyからmongo使う(mongo-acriverecord-ruby)

mongo-acriverecord-rubyを使うと、mongoDBでactiverecordチックにアクセスできる。 http://github.com/mongodb/mongo-activerecord-ruby:mongo-activerecord-ruby本当のactiverecordから使うならhttp://github.com/mongodb/activerecord-mongo-adapter:acti…

ZenTest(autotest)のバージョン上げたらautotestが動かないので設定を変更する

ZenTestのバージョンを4.0から4.1.1に上げたら動かなくなった。調べてみたらautotest/growlとかいろいろなモジュールがいなくなってました。 どうやら基本部分以外は別のパッケージにされたらしいです。というわけで設定をし直したのでその記録をば。。。 下…

CentOS5.3にruby1.8.7とgem1.3.1とRails2.3.2をインストール

デフォルトのyumではruby1.8.5しか入らないのでソースからインストールする。 あとで管理ができるようにRPMでインストールしてみた。参考にさせてもらったサイト(というかほとんどそのままです。) http://moimoitei.blogspot.com/2008/08/centos-52-ruby.htm…

Gritをつかってrubyでgitを操作してみる

gritというライブラリを使うとgitをrubyで操作できるらしいからすっごい適当に使ってみた。もっとちゃんと使いたい人はgithub行ってソースなりドキュメントなりをみてくだしあ http://github.com/mojombo/grit/tree/master まずはgritをインストール $ sudo …

Rails2.3.2が出たのでアップデートした

現在のローカル環境は2.2.2なので思い切ってバージョンを上げることにしました。まずはgemにあるRailsのアップデート $ sudo gem update rails つぎに作りかけのアプリが2.2をfreezeして使っているのでunfreezeする $ cd {RAILS_ROOT}/ $ rake rails:unfreez…

RailsでSMTPへ送信したメールを実際には送信せずにローカルに保存する方法

MailTrapを使うと超簡単にSMTPサーバをローカルに構築できます。 しかも実際にはメールを送信せずにローカルに保存してくれるのでTailコマンドで流しっぱなしにしておくといちいち受信しなくて便利です。インストールはgemで一発 $ sudo gem install mailtra…

ruby1.8系でrequireしたらエラーが出たときの確認事項

昔はWindows使ってて去年の夏からMacに乗り換えたんだけどそのときrequireするとエラーがでて困ったから一応メモを残します。たぶん確認しないといけないのは以下の3点 タイプミス? requireしたいライブラリ名をタイプミスしていませんか? ターミナルで $g…

RailsでCucumberのstepがfaildを返したときのデバック方法

もし以下のようなstepでテストがfailedになった場合、 Given /^(.*)番目のアイテムの詳細ページを表示している/ do |pos| visit "items/index" within("table > tr:nth-child(#{pos.to_i + 1})") do click_link "詳細" end end save_and_open_pageを以下よう…

CucumberとWebratをRailsで使って、さらにautotestで動かしてGrowlで通知する

今流行りつつある話題のCucumberとWebratをRailsで使ってみました。 CucumberとWebratなんぞやという人はid:moroさんの「 Cucumberがアツい」が参考になります。 今回やったこと RailsにCucumberを入れてみた Featureの予約語を日本語にして動かしてみた Cuc…

MockとStubについて実際にRSpecでテスト書いてみてやっとわかったので分からなかった頃の自分でも分かるようにまとめてみた

以前、id:takihiroさんの記事( RSpec の Mock と Stub が最初分からなかったけど、理解できたら すごい! という気持ちになった)を読んだときにはMockとStubについて「ぼや〜」としか理解できなかったんですが、実際に自分でRSpec使ってテスト書いてみたら…

RailsのテストにRSpec(RSpec-Rails)&RR(rspec-rr)を使う方法まとめ

ここ数日でRailsのテスティングフレームワークにRSpecを使用して、 さらにモック、スタブのライブラリにRRを使えるようにしたのでその方法をまとめておきます。 それぞれのバージョンは以下の通り Rails 2.2.2 Rspec 1.1.12 RR 0.7.1 rspec-rr gem未収録、gi…

RSpec-RailsでスタブにRRを使ってみた

RSpecはもともとスタブやモックをサポートしているんだけど、他のライブラリのスタブを組み込むこともできる。機能的にはどのライブラリでも大差は無いんだと思うんだけど、RSpecのスタブとモックは何となく好きになれない。*1というわけでスタブにRRを使っ…

merb-authを使ってみた

Merbにはmerb-authというのが入っててそいつを使えば認証機能を簡単に実装できるみたいなので試してみた。 下準備 merb-gen app でアプリケーションを作成しておく merb-gen resouce hoge とかしてViewとControllerとModelを作っておく rake db:automigrate …

Merbでhamlを使ってみる

Merbでテンプレートエンジンにhamlを使ってみたら超簡単だったけど一応まとめ merb-genでアプリを作成し、init.rbを修正する %merb-gen app test %cd test %vi config/init.rb 修正内容は以下の通り require 'config/dependencies.rb' use_orm :datamapper u…

Merbをつかってみる〜DataMapper編〜

前回のエントリでも書いたけど、merb-gen resourceを発行しても作られるのは View Model Controler Spec だけです。 % merb-gen resource hoge:string,huga:text Loading 〜省略〜 [ADDED] spec/models/hoge:string,huga:text_spec.rb [ADDED] app/models/ho…

MerbをMacで使ってみる

前々から気になっていたMerbのバージョンが1.0になったのでちょっと使ってみる まずはインストール $ sudo gem update --system $ gem -v 1.3.0 #merb1.0はgemが1.3.0以上じゃないと入らないみたい $ sudo gem install merb $ sudo gem install mongrel #mer…

rubyのリファレンス参照方法いろいろ

rubyのリファレンスを参照する方法がいくつかあるのでそれぞれについて簡単に調べてみた。 リファレンスマニュアル たぶんもっともベーシックなリファレンス参照方法(だと思う) ruby公式ページからダウンロードできる。 長所 HTML形式で見やすい(というか見…

autotest,RSpec,Emacsで快適テスト環境をつくる(あとGrowlも)

前回RSpecを設定したので調子に乗ってautotestと連携させてみる。 autotestとRSpecを連携させると何がおいしいか? ・保存の度にテストが裏で走るので常にテストに通るコードを書ける。 ・とにかくテストが癖になる。 ・とにかくテストが好きになる。下二つ…

RSpecのインストールとEmacsへの設定

なんか前回の逆ポーランド記法のプログラムがだめだめなのでテストするためにRSpecを使ってみる。 まずはgemでRSpecをインストールする。 %sudo gem install rspec あとはEmacsへの設定 rspecはruby-mode.elとsnippet.el,mode-compile.elが必要みないなので …

Rubyで逆ポーランド記法

勉強のためにrubyで逆ポーランド記法で計算するクラスを作ってみた。 #!/usr/bin/ruby # -*- coding: utf-8 -*- class Calc attr_writer :siki def initialze @siki = "" end def rtnval val hs = Hash.new hs["("] = 5 hs["*"] = 3 hs["×"] = 3 hs["/"] = 3…