タグ

ブックマーク / doruby.kbmj.com (9)

  • Railsプログラマが知っておくべき97のこと

    こんにちは、SHIMADAです。 最近、オライリー社の新刊「プログラマが知るべき97のこと」がTwitterで話題に上っているようですね。 ここでは、Railsプログラマが知るべきことを挙げてみました。 残念ながら97も思いつかなかったので、25個です。看板に偽りありですね。ごめんなさい! ■ コントローラ 行数よりもインデントの深さに気をつける if-then-elseをネストしたくなったらロジックが間違っている アクションでないメソッドはprotected/privateにする 行数を減らす目的でbeforeフィルタを書かない グローバル変数、インスタンス変数にアクセスするポイントを集中させる グローバル変数(paramsとか)に代入しない ダイナミックファイダを使えないfindをみつけたらモデルのメソッド/named_scopeにする ■ モデル DBのテーブルを持たないクラスはAR

  • rails の model メソッドを簡単に daemon 化する方法

    Rails で普段開発される方は、 ruby script/console や ruby script/runner は非常に重宝されていると思います。 これらのコマンドは、Web アプリを作成するために作った model  のメソッドを、簡単に batch や コマンドラインのインタラクティブアプリに変更することが出来、cron 化やデバッグに大変重宝します。 今回、その script/[hoge] に、新たなスクリプトを1つ追加しましたのでご紹介いたします。 今開発中のアプリで、あるバッチを数秒単位で実行する必要がでてきました。 バッチを定期実行するとき、例えば下記のようなシェルファイルを作成し、 #!/bin/sh RUBY="/usr/local/bin/ruby" DATE=`date +"%Y%m%d"` cd [RAILS_ROOT] $RUBY script/runner

  • RVMで複数のRubyを管理

    複数のRailsプロジェクトなんかを経験していると、ベースとなるRubyのバージョンが1.8.6だったり1.8.7だったりします。1.9.1の環境を試してみたいと思うかもしれません。 複数のバージョンのRubyを管理するのはちょっと面倒です(Windowsとかだとパス切り替えだけで良さそうだからまだしも…)。./configure時に別々のパスを指定してあげてもいいですが、GEMの管理はそれはそれで気をつかわないといけないですし。 そういった時には  Ruby Version Managerの利用をお勧めします。このツールを使うと、色んなRubyをスマートに管理できるようになります。 ■ 導入方法 ここではgitを使った導入方法を紹介します。検証は Mac OS X 10.6 で試しました。 まずは専用のディレクトリを作成して、rvm 体をダウンロード、インストールします。 % mkdi

    tyabe
    tyabe 2010/06/05
  • ruby on railsでデータをExcelファイルに出力する。 to_xls Plugin編

    こんにちは、KBMJの中平@railsエンジニアです。 今回はruby on railsでデータをExcelファイルに出力する 方法ついて書きます。  よく、Webシステムでデータをファイル出力する際にはCSV形式で出してしまう事が多いと思いますが、CSVデータをExcelで開くと、「001234」というデータの頭ゼロが消されてしまい「1234」と数値として表示されてしまう事があるため、 CSVではなくExcel形式で出力したい時はないでしょうか? また、rubyでデータをExcelに出力するプラグインはいくつか存在しますが、railsで簡単に出力できるプラグインはあまりないのではないかと思います。 そこで、今回はrailsから簡単にデータをExcelファイルとして出力することができる、to_xlsというpluginの使い方について書こうと思います。 環境 OS : Windows Vi

  • WebROaRでらくらくデプロイを試してみた

    いじられエンジニアのDaokaです。 最近、「WebROaR」というRails(Ruby)アプリケーションのデプロイサーバが出たので試してみました。 対応OSは? 公式ではUbuntu 8.1/9.04, Debian 5 (64 Bit), Mac OS X (10.5) and Cent OS 5.2で検証されているようです。 今回はUbuntu 9.10 server(32Bit)に試しましたが問題なく動作しました。 インストール導入手順 WebROaRのインストールの前に以下のパッケージが必要です。 ruby1.8またはruby1.9 ruby1.8-devまたはruby1.9-dev openssl ruby extension zlib ruby extension rubygems Cコンパイル環境 sqlite3 sqlite3-dev SSLを使用する場合はさらに以下のも

  • utility_beltでwirble以上にirbを拡張する

    はじめまして。 KBMJでプログラマとして働いているkuromatuと申します。 今回は、rubyのコーディングの際によく使われるinteractive ruby(irb)を拡張するgemプラグインのwirbleを基に、更なる拡張を加えるutility_beltというgemプラグインについて紹介します。 続きはこちら http://doruby.kbmj.com/Kuromatu_logs/20090227/utility_belt_wirble_irb_

  • Ruby On Rails コンボボックスなどの動的な動き observe_field

    どもrick No.10です。 今回は、このプルダウンを選んだらこっちのプルダウンの値が変わる!! なんてことをしたいときにobserve_fieldを使用します。 observe_fieldは、railsのRJSテンプレートという機能を使っています。 RJSテンプレートは、javascriptを書かなくても簡単にかける機能って感じですかね。 view側(プルダウンを監視してプルダウンを更新する) <%= select("keyword", "category", Test.collect{i.title, i.id}) %> //監視されるプルダウン <%= observe_field("keyword_category" //この値を見る(上のソース) :update => "keyword_small_category", //この値の場所を更新する

    tyabe
    tyabe 2009/05/15
  • Ruby On Rail 多対多のテーブルへの保存の仕方

    どもrickです。 多対多のテーブルとは、 ユーザーと特徴Tableがあるとして、ユーザーと特徴が互いに複数の値を参照するときに使います。 例えは、ユーザーが複数の特徴を登録したいときに、ユーザーn対特徴*となる。 ユーザーも1人ではないので、n対nとなる。 このようなときに使用する。 続きはこちら http://doruby.kbmj.com/rick_blog/20090513/Ruby_On_Rail__

    tyabe
    tyabe 2009/05/14
  • 外部URLを偽装するテスト用ライブラリ「FakeWeb」

    ご無沙汰しています。KBMJのプログラマのx5rです。 最近、私が携わるプロジェクトでは、外部APIを利用したい、一部の機能を外出しにしてサービス間で連携したいという要望が徐々に増えつつあります。 ただし、その外部システム(サービス、API)と連携する機能を実装はするものの、その機能をテストする場合、テストケース毎に毎回外部連携する訳にはいかないので、どうすればいいのかわかりませんでした。 仮に、毎回そのシステムにリクエストを投げてテストするとしても、その外部システムも並行している開発する場合、そのシステムが出来上がるまで待っていなければなりません。 みなさんこういった外部連携のテストをどうやって行っているのか調べていたところ、FakeWebというWebリクエストを偽装するgemライブラリがあることを知りました。 そこで、今回はこのFakeWebというgemライブラリについて紹介

    tyabe
    tyabe 2009/04/30
  • 1