タグ

ブックマーク / www.oiax.jp (7)

  • RubyGems 1.5 が出たけど

    先日(2011/1/31)に、RubyGems 1.5がリリースされました。 RubyGems 1.4.x で生じていた「Ruby 1.9 で動かない」という困った問題が解消され大変よろこばしいことなのですが、早速、同僚から別の問題が報告されました。 Rails 2.3.4 で動かないよ。 というのです。 あるブログ記事に寄せられたコメントによると「Rails 2.3.5 でも動かない」そうです。同僚の報告によれば、最新の2.3.10では大丈夫らしい。 可能であればこの機会に該当するRailsアプリケーションを最新の2.3.10にアップグレードすべきところですが、現実にはなかなかそういうわけにも行きません。 というわけで、RubyGems 1.3.7にダウングレードする手順をメモしておきます。 まず、インストールされている rubygems-update のバージョンを調べます。 $ ge

  • Resqueを利用したRailsでの非同期処理/バッチ処理

    Railsアプリケーションの中で非同期処理(バッチ処理)を実現したいことがあります。例えば、こんな場合です。 ユーザーが「送信」ボタンを押したら数千通のメールを送る。 数千通のメールを送るにはかなり時間がかかるので、その処理は後回しにして、ユーザーにはすぐにレスポンスを返したいところです。 非同期処理を行うためのRubyライブラリとしてはBackgrounDRbやdelayed_jobなどが有名ですが、もう一つ有望な選択肢としてResqueというのがあることを最近知りました。 と言っても、私が知らなかっただけで、RubyGems.orgによれば11万回以上もダウンロードされている有名なライブラリです。昨年(2010年)1月に書かれた、あるブログ記事には詳しい評価が載っています。 以下、私の試用報告を書きます。なお、OSはUbuntu 10.04(LTS)、Railsのバージョンは3.0.5

  • Rails 3.x 時代のテストフレームワーク

    Rails 1.x の頃、テストと言えば Test::Unit であり、Fixtures でした。 この2つがあったからこそ、私は Rails を好きになったんだと言えます。 Test::UnitRuby 標準ライブラリの1つですが、Rails はそれを巧妙に拡張して、自らと一体化させていました。 Rails は Web アプリケーションを開発するためのフレームワークであり、同時にその Web アプリケーションをテストするためのフレームワークでもあったわけです。 Fixtures は、テストの対象となるサンプルデータをデータベースに投入するためのツールです。 テストを開始する時点でのデータベースの状態を YAML 形式あるいは CSV 形式で記述しておくと、Fixtures はテストを行う直前にデータベースをその状態に戻してくれます。つまり、Fixtures によって再現性のあるやり

  • 第7回 config/initializers ディレクトリ

    Rails 2.0 以前は config/environments.rb にアプリケーション特有の初期化コードを書いたものですが、2.0 以後は config/initializers ディレクトリに置いたファイルが自動的に読み込まれるようになりました。 この仕組みはどんな風に作られているのでしょうか。 rails-2.0.2 ディレクトリで、文字列 'initializers' を含むファイルを検索すると、該当するソースコードはすぐに見つかります。initializer.rb です。Rails::Initializer#load_application_initializers が、問題のメソッドです。 def load_application_initializers Dir["#{configuration.root_path}/config/initializers/**/*.rb

    第7回 config/initializers ディレクトリ
  • Ruby on Rails 3.0 日記 - Ruby on Rails with OIAX

    2010年4月13日、Ruby on Rails 3.0 Beta 3 がリリースされました。 プログラミング言語 Ruby で記述されたもう一つの Web アプリケーション開発フレームワーク Merb との「統合」が発表されたのは、2008年12月23日のことでした。それから1年4ヶ月か経過し、ようやく Rails 3 が生まれ出ようとしています。 Rails 2.3 から何が変わって、何が変わらないのでしょうか。 また、バージョン 3.0 の登場をきっかけに Ruby on Rails の学習に挑戦(あるいは再挑戦)する方は何に気をつければよいでしょうか。 この届いたばかりの「道具箱」を使って、いったい何が作れるのか楽しみですね。 サンプルアプリケーションを少しずつ組み立てながら、一緒に学んでいきましょう。 この連載は、Ruby on Rails 3.0 Beta 3 がリリースされた

  • Ruby on Rails with OIAX

    【最新刊】 Elixir実践ガイド[機能拡張編] impress top gearシリーズ 2020年5月22日発売! 『Ruby on Rails 6実践ガイド』の続編です。 ▶ 読者サポートページ 【最新刊】 Elixir実践ガイド impress top gearシリーズ 2021年2月5日発売!Elixir 1.11対応! 書の主要なテーマは、モジュール、関数、データ型、パターンマッチングなどです。 ▶ 読者サポートページ Elixir/Phoenix 初級④: バリデーション (OIAX BOOKS) Kindle書は、『Elixir/Phoenix初級』シリーズの第4巻です。Phoenix 1.4に対応しています。webpackの設定、whereマクロの使い方、真偽値と日付のあ使い方、Gettextモジュールによる国際化、バリデーション、エラーメッセージの日語化、など

  • Test::Unit と RSpec と Shoulda

    昨日の記事 続・Rails 3.x 時代のテストフレームワーク では、Rails で使用できるテストフレームワークの基礎知識と相互関係についてまとめました。 今日は、Test::Unit と RSpec と Shoulda を具体的に比較してみたいと思います(Cucumber については、別の機会に…)。 例として「変数 @total に文字列 '100' をセットすると、式 @total.to_i は 100 を返す」というテストケースを考えましょう。 純粋な Test::Unit ではこのように書きます。 require 'test/unit' class SimpleTest < Test::Unit::TestCase def test_should_return_100 @total = '100' assert_equal(100, @total.to_i) end end R

  • 1