Rails

Rails Tutorialをminitestでやってみた

はじめに Rails4が出たことだし、Rails Tutorialでもひと通りやってみようとチャレンジ。ただ、Rails3のときにひと通りやったこともあり、普通にやったらあまり面白みもないので、RSpecで書かれているテストをminitestのspec形式で書いてみることにしました…

QA@ITから個人的に興味深い質問を洗い出してみました。

QA@ITに挙げられている質問のうち、個人的に興味深い質問を洗い出してみました。全部は追い切れないので、ざっと見た感じで。 「Rubyで!!という二重否定を単項演算子として使う理由は?」 確実にtrueとfalseを返すためのテクニックなのですね。 「RailsでBoo…

第24回 Yokohama.rbに行ってきました

毎月恒例ですね。第24回 Yokohama.rbに行って来ました。今回は男ばっかり約30名。いつもの常連さんはもちろん、初参加の方も3名いらして大いに盛り上がりました。自己紹介では、@hokkai7goさんが最近転職されたことが発表。ほんとYokohama.rbに参加すると人…

Rails-Dev-Boxでらくらく開発環境自動構築

例によってRuby5経由で知ったのですが、Railsの開発環境を自動で作れるRails-Dev-Boxが便利です。Vagrantという仮想マシンをコマンドラインで作れるソフトを利用して、Ubuntuの仮想マシン上にRubyやGit、MySQLやPostgreSQLらをインストールしてくれます。Vir…

thoughbot LearnでのVim Webcastsが面白そう

例によって、Ruby5から仕入れた情報ですが、factory girlなど著名なGemをリリースしているthoughtbotさんがRubyやRailsなどの学習教材を販売しています。ぱらぱら〜と見てみたところ、興味を惹かれたのが「Vim for Rails Developers」というWebcasts。画面と…

Railsユーザ必見のメソッド集

前回、「Rubyistなら知っておくべき地味だけど便利なメソッド」というエントリを書かれたジョジョエバンジェリストである @joker1007 さんが、今度は「Railserなら知っておくべき地味だけど便利なメソッド」というエントリを書かれています。またまた知らな…

時刻って奥が深い

Railsで作成しているWebアプリにて、たまたまcreated_atなんかの時刻がUTCであることに気が付きました。どうせ日本国内でしか使わないイントラWebアプリなので、日本時間にしたいなぁと思っていたところ、 id:a666666 さんが書かれた「Railsと時刻」というエ…

Passenger Enterprise版の登場です

Ruby5経由で知りました。PassengerにEnterprise版が登場しています。もちろん、これまでどおりOpenSource版もgemで配布されています。そのOpenSource版と違うのは、 Rolling restarts Deployment error resistance Mass deployment Live IRB console Resourc…

present?を今更ながらに知った

Railsでblank?を書くことは多々あるのですが、 if @user.blank? # なんか else # なんか2 end はともかく、 unless @user.blank? # なんか2 else # なんか end はちょっとやり過ぎだなと思ってました。そんななか、blank?の逆を示すpresent?の存在を知りまし…

Railsでモデル間での共通関数を作る

Railsでモデル間で似た処理を書こうという思って、はてさてどうしようかなと小一時間ほど悩んだ結果。まず、config/application.rbを編集して、config.autoload_pathsにパスを追加します。 config.autoload_paths += %W(#{config.root}/extras) config/appli…

cancanキラーとなるか?the_role

Railsでの権限管理といえばcancanが有名です。ですが、cancanは定義を書くのが結構大変。管理画面も自分で実装する必要があります。そんな中、Ruby5でcancanキラー?な権限管理gemであるthe_roleが紹介されてました。単にgithubのページを見ただけですが、ロ…

Excelファイルを生成することができるaxlsx

以前、「RailsでExcelファイルを出力する」という記事を書いたのですが、Ruby5でRubyでExcelファイルを生成することができるaxlsxというgemが紹介されていました。これ、Excelの2007以降で使われている、xlsxファイルを生成するgem。先日記した記事ではXMLタ…

Deploying with JRuby

最近、JRubyでシステムを書いてみようかと思っているのですが、はて、Webサーバーってどうすりゃええんやろと気がついてしまいました。CRubyならApache + Passengerで決まりってところなのですが、JRubyってその手が使えるのかなぁ?と思っていたところ、The…

Ruby/Rails開発でよく使われているエディタはなんだ(2012年版集計中の巻)

毎度、定期的に上がるようなネタのような気がしますが、Ruby/Rails開発でよく使われるエディタの投票が行われています。What is your primary text editor for Ruby/Rails?私はVimを奨められるままに使っているのですが、あんまりVimらしさを実感出来ていな…

RailsでExcelファイルを出力する

一般向けWebサービスではなく、社内業務向けにWeb(イントラネット)業務アプリを作るとき、良く話題となることが「データをExcelで出力したい」ということです。ほんと、お前らExcelって言いたいだけちゃうんかと思いながら、CSVでお茶をにごすことが多いの…

Railsのよい書き方を紹介するRails Best Practicesとその検査gem

今日は、Railsのよい書き方を紹介しているサイト「Rails Best Practices」を紹介します。Railsでアプリを書く際、ササッとできちゃうことをいいことに、あまり深く考えないでコードを書いてしまうことが良くあります(私だけ?)。例えば、コントローラーに…

ビデオでの解説と実習でプログラミング関連技術を学べるcode schoolにRSpecが来た

ビデオでの解説と実習でプログラミング関連技術を学べるcode schoolというサイトがあります。一部無料なところもありますが、原則は月25ドルの有料サービス。やるにはかなりの気合が必要ですが、その分高品質。そのcode schoolにはRubyやRailsのコースがある…

RubyアソシエーションのサイトにRSpecの解説記事が載っています

ビジネス向けのRuby関連団体の一つにRubyアソシエーションという団体があります。Rubyアソシエーションは、その活動の一環として技術者情報を出しているのですが、先日RSpecの記事が公開されました。ざっと見た感じですが、分量も多く、表面だけをさらっと触…

ActiveRecord::Relationの便利メソッド Top10

些か紹介が遅れた気がしますが、 @suginoy さんが Mitch Crowe 氏の「The 10 Most Underused ActiveRecord::Relation Methods」という記事の翻訳版を公開されています。「コードが読めれば問題ないもん」って強がっていてもダメで、やっぱり本文に書かれてい…

Rails3対応のログ解析ツール request-log-analyzer

これまで手でRailsのログファイルを解析するツールを作っていたのですが、先日request-log-analyzerというツールを知りました。単なるコマンドラインツールなので、 gem install request-log-analyzer と打って、 request-log-analyzer log/production.log …

モデルにテーブルのカラム情報をコメントで追加してくれるannotator(カラムの追加と削除編)

前回の続きです。 カラムの追加 開発を続けていくとカラムの追加、削除は当たり前のように発生します。今回はカラムの追加と削除をやってみましょう。 rails g migration add_field1_to_line_item field1:string migrationファイルは次のようになります。 cl…

モデルにテーブルのカラム情報をコメントで追加してくれるannotator(基礎編)

Railsアプリを開発している時、テーブルのカラム情報を確認したい時があります。db/migrate以下のファイルを追うのは結構面倒くさいし、rails dbconsoleなんかでみるのもなんとなく面倒くさいです。そこで役立つのがannotatorというgem。早速試してみましょ…

Pivotal Tracker似のプロジェクト管理ツール「Fulcrum」

先日、友人と役に立つRailsアプリについていろいろ情報交換をしていたら、「Fulcrum」というものを教えていただきました。タイトルにも書きましたが、Pivotal Trackerによく似ています。が、Fulcrumはソースが公開されているRailsアプリ。データも自分のロー…

RailsInstaller for Mac

Ruby5 #278で知ったのですが、Rails環境をまとめてインストールしてくれるRailsInstallerのMac版がリリースされているようです。数ギガのサイズがあるXCodeを落とさずとも、Rails環境が作れる(gccを同梱してくれる)れ、gitも一括でいれてくれるのは助かり…

API Document Browser Dash が素晴らしい

先日のYokohamarbで教えていただいたMacアプリ。RubyやRailsは勿論、CSSやJavaScriptなど、多くのプログラミング言語のAPIをまとめて読めるMac用アプリDashというのが素晴らしいです。上のリンクは開発元に対して張っていますが、アプリ自身はMac App Store…

第21回 Yokohama.rbに行ってきた

第21回 Yokohama.rb に行ってきました。 いつもは東神奈川地区センターってところでやるのですが、今回はタネマキさんで。タネマキさんは電源・無線LANつきでコスパもいいのでおすすめですよ。さて、今回のYokohama.rbでは @suginoy さんが当たったRailsの不…

Rails 3.2の新機能にEXPLAINってものがあって、それではまった話

先日、JRubyでRailsアプリを書いていて、ちょっと重いSQLを発行したら次のようなエラーメッセージが出てきました。 undefined method `explain' for (以下省略) へ?なにそれ?ってな感じでググる事30分。ようやく辿りつけました。v1.2.2 does not support …

Rubyのリファレンスマニュアルをローカルで見る

先日行われたみなとRuby会議では、会場のネットワークが不安定なことが想定されていたので、事前に環境の準備をお願いしたのですが、リファレンスってローカルで見れるようにするためにはどうすればいいんだろう・・・と思っていたところ、id:satococoa さん…

railsコマンドをrakeコマンドにするrake-rails

Ruby5 Episode #275から。railsって、最初に「rails」ってつくもの(rails consoleとか)と「rake」ってつくもの(rake db:migrateとか)の二通りがあります。railsコマンドが処理するものと、rakeタスクの違いと頭では分かっているのですが、たまに打ち間違…

db:fixtures:loadをspec/fixtures以下のファイルを見るようにする

RSpecを適用したとき、fixturesファイルもspec/fixturesディレクトリに置いてました。だって、RSpecが生成するspec_helper.rbにもそのディレクトリに置くように書いてくれるじゃないですか。 config.fixture_path = "#{::Rails.root}/spec/fixtures" ・・・…