Ruby

Ruby on Rails + Curl (1) Railsの表示にCurlを使ってRIAを構築する:CodeZine という記事を書きました。

RIA(リッチクライアント)の中で Curl は地味な存在かもしれませんが、企業向けの情報システムではかなりの実績があります。そんな Curl 用のサーバー側を Ruby on Rails でサクサクと作って行こうという記事の連載を書かせて頂きました。 第一回めは、ほぼ R…

Ruby on Railsで一通り開発できるようになったら読んでほしい「 プログラミング言語 Ruby 」

プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (123件) を見るJavaやPHPの世界から、Ruby…

production環境だと Metal内のログがログファイルに書かれない !?

Metalで書かれたコード内でログを出すには RAILS_DEFAULT_LOGGER.info("....") を使いますが、development環境では出ていたログが、 production環境だとログファイルに書かれません !?調べてみると、Ruby on Railsのログは ActiveSupport::BufferedLogger と…

メソッド検索のできるRDoc -- Hanna

最近、そこかしこでJavascriptを使ってローカルで検索できるRDocを見かけるようになってきました。Ruby on Railsのように膨大な数のメソッドがあるソフトウェアのドキュメントを調べるのに検索機能は必須ですね。 そこで、検索のある RDoc を作る Hanna を使…

Ruby on Rails の Metal を使うための情報

Ruby on Rails 2.3 で導入された Metal は、シンプル機能を高速に動作させるコントロラーのようなものですが、まとまった情報が、日本語はもちろん英語も少ないです。私が知っているのは、前の記事にも書いた Rails Metal: a micro-framework with the power…

Rack::Test と RSpec を使い Metal のテストを書く

Ruby on Rails のMetalを使ったコードのテストですが、RailsのIntegrationTestでテストできます。→ここを参照 しかし、一度RSpecを知ってしまうと従来のUnitTestには戻れません ^^); そこで Rack用のテスティングフレームワーク Rack::Test を使えば RSpec …

named_scopeは賢い! しかし・・・・

named_scope を使い少しハマリました ^^); 次のような model を作り class User < ActiveRecord::Base named_scope :male, :conditions => {:sex => 'M'} named_scope :unique_attr, :select => "distinct age,sex" end console で % ./script/console >> Us…

Rails2.3 ではURL中の ; はパラメターの区切りに解釈されるようだ

Rails2.3にポートしたアプリに思わぬバグが発生したので調べたところ、URL中の ; (セミコロン)の解釈が従来と変わったようです。 Rails2.1.2 GET http://localhost/redirects/887308412?a=3;b=2 の場合 Parameters: {"a"=>"3;b=2", "action"=>"show", "id"=>…

RSpecが2回実行される問題が解決! -- RSpecをバージョンアップしたら

以前からあった --drb(-X)オプションを付けて RSpec を実行するとRspecが2回実行される問題が解決しました! 答えは、RSpecをバージョンアップした際には % script/generate rspecを実行して無かったのが原因でした ^^); RSpecのバージョンアップでは scipt/…

Scaling Railsはお勧め!

ぎっくり腰になってしまったので、家でごろごろしながら本を読んだり動画を見たりしてましたが RailsLab .:. Scaling Rails は超お勧めです。Ruby on Railsのキャッシュには、Page Cache, Action Cache, Fragment Cacheの3つがありますが書籍の文章だけでは…

require_dependency (「Ruby on Rails 2.1アプリを2.3RC1で動くようにした」の修正)

以前書いた、Ruby on Rails 2.1アプリを2.3RC1で動くようにしたでActiveRecord::Baseを継承してないモデルクラスを require すると書きましたが、 require では 開発(development)環境では、コードを変更しても再読込されません。 m(_ _)m そこで require で…

オレオレscaffold generator を作る

Ruby on Rails の Scaffold generator はアプリの元になるコードを生成するに便利ですが実際のアプリを作る際には、XMLをレスポンスするコードは要らないとか、日本語じゃないとか、テンプレートがイマイチだとかいろいろ不満点があると思います。 標準のSca…

Ruby on Rails 2.3 がリリースされた!

Riding Rails: Rails 2.3: Templates, Engines, Rack, Metal, much more!

Passenger はどのユーザーアカウントで動くのか?

先日ちょっとしたトラブルがあり、ふと Passenger はどのユーザーアカウントで動くのかな? と思い調べてみまいした。 下の ps の表示では Passenger は アプリ(ここではRedmine)を UID=1001 のユーザーで実行しています。このUIDは私のログインアカウントで…

Ruby on Rails でカラム名 no は使えない

Ruby on Rails (試したのはバージョン2.3RC2) でカラム名 no は使えません。 なぜか fixture を load しようとすると以下のようなエラーが発生します ^^); rake db:fixtures:load (in /Users/yy/RailsWorks/boro) rake aborted! PGError: ERROR: column "fal…

Ruby on Rails 2.3 RC2 がリリースされました

Riding Rails: Rails 2.3 RC2: Final stop before release早速、先日Ruby on Rails 2.3 RC1にポートしたアプリをRC2のアップデートしてみましたが、そのまま動いているようです。あと1、2週間で2.3の正式リリースのようですね (^o^)

Ruby on Rails2.3 の Metal 用にコードを書き換えてみた

Ruby on Rails2.3.0RC1用にポートしたアプリの一部を Metalに書き換えてみました。今回ポートしたアプリには1つだけ高速化したい部分がありました、その部分の処理はアクセスをDBに記録しリダイレクトするだけです。まず、Metal の情報ですが、まとまった物…

Ruby on Rails 2.1アプリを2.3RC1で動くようにした

試しに、Ruby on Rails 2.1.2で開発された アプリ(画面数 70程度)を Ruby on Rails 2.3.0RC1 で動くように修正してみました。 変更したのは以下の点のみでした 1. ActiveRecord::Baseを継承してないモデルクラス 私は、app/modelにActiveRecord::Baseを継承…

Gettextの .poファイルから I18N用ローカライズ用ファイルを作るコマンド

現在、既存のRails2.1 で書かれたRailsアプリのRails2.3対応を行っています、Rails2.2で入ったI18n機能を使うのですがActiveRecordのバリデーションエラー表示等で必要なテーブル名、カラム名のローカライズ用ファイルが必要になります。そこで、従来のGette…

Gitarella を入れてみたが・・・・

少しずつ Git に移行しているのでサーバー上のGitリポジトリーを表示できるソフトが欲しくなり、Ruby で書かれているということで Gitarella を苦労してインストールしてみましたが、使えない事が判りました (>_ 依存ライブラリーのバージョンがかなり古くて…

Happy Birthday, Ruby

Happy Birthday, Ruby Ruby 16歳のお誕生日 おめでとうございます!

Rails2.2以降でPassenger を使うとRailsBaseURIが効かない ^^);

新しい仕事の開発サーバーを構築しようとしていたのですが、簡単なテストアプリが ActionController::RoutingError (No route matches ... というエラーで動きません !!検索していたら、解りました m(_ _)m Passegner 2.0.5 リリース - hiro-uedaの日記 - Ru…

Ruby on Rails 2.3 で I18N を使ってみた

バージョン2.2はスキップしてしまったので、正式なI18Nを使うのは バージョン2.3 が初めてです。Rails2.2の新機能i18nを使ってみる - func09 が大変参考になりました。ただし、この記事はバージョン2.2正式版の前を使ったものなので現在はもっと簡単です。 …

Ruby on Rails 2.3 をインストールしてみた

次のお仕事の納入時期は5,6月なので、 バージョン 2.2 は飛ばしてバージョン 2.3 を使う事に決めました。 現在の仕事では、2.1を使っていますので、2.3RC1をインストールして確認してみました。 インストール インストールは Riding Rails: Rails 2.3.0 RC1…

一つのサーバーにproduction環境が2つある場合の Capistrano

一つのサーバーに本番用のproduction環境環境と、次期開発用のproduction環境を置いているケースがありますよね。 間違って本番用の環境を変更してしまったりすると大変な事になるので、極力避けたいですが大人の事情でそうなってしまう場合があります。Rail…

Ruby on Rails で SEQUENCE を使うには

PostgreSQLの SEQUENCE を使う必要が出てきたので、調べてみましたが ActiveRecordには直接 SEQUENCE を使うAPI等はありませんでしたが比較的簡単に使えました。 Migration Migration機能には create_sequence のようなAPI はありませんが以下のようにexecut…

Hash#values_at メソッド と RSpec

前も書いたように、RSpecを書くときには出来るだけコンパクトに書きたくなります。しかし、Railsのモデルで操作を行った結果のうち数個の属性(カラム)の内容のみを記述したい場合は it "...." do .... #操作 @model.name.should == "山田太郎" @model.age.sh…

今回書いたRSpecのパターン

まだRSpec初心者なので恥ずかしいですが、今回のプロジェクトで書いたモデルのRSpecのパータンをさらしておきます。具体的にどんなRSpecが書かれているのかという情報はネット上に少ないと思いますので・・・識者の方の意見を待ってます ^^) describe XXXX, …

RSpec を実案件で使ってみた

昨年末から、ある小規模(60画面程度)のRuby on Railsを使ったシステムを開発する際に、RSpecを使ってみましたので、その感想などを どこまで書くか 今回は、Model, Library, Helper に対してのRSpecのみ書きました、従来のRailsのUnitTestに相当する部分のみ…

高生産性開発ツール Sapphire(サファイア)

昨日、録画したカンゴロンゴ を見ました。今回悩みを持つ人が登場するドラマの舞台はブラックなソフトハウス! 毎日泊まり込みで開発している中で新人プログラマーだけが定時に帰ります。もちろん仕事は泊まり込んでる開発者と同じ成果は上げています。彼が…