Ruby徹底攻略

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

ダウンロード

■ご注意
  • 本コーナーは,本書記事参考用資料としてのご提供を目的としております。
  • 本書記載の内容およびサポートサイトで公開しているサンプルコードに基づく運用の結果について,記事の筆者,プログラムの作者/提供元,(株)技術評論社は一切の責任を負いかねます。ご自身の責任のもと,ご使用ください。
  • 各サンプルファイル/ソースコードには,個別に,ライセンスやREADMEファイルなどで注意事項/制限事項が添付されている場合がございます。その場合,該当のライセンス,注意事項/制限事項を優先して適用とさせていただきますので,ダウンロード後,内容をご確認ください。

巻頭企画「はじめてのRuby」

特集2「詳解Rails 4」

特集3「Rails 4テスト最前線」

特集4「速習RubyGems」

一般記事「Rubyのための自動化」

一般記事「Sinatraによる簡単アプリケーション開発」

一般記事「Rack入門」

一般記事「Webエンジニアのためのmruby入門」

一般記事「RubyMotion入門」

補足情報

特集3「Rails 4テスト最前線」の補足情報

(2014年6月26日更新)

特集3「Rails 4テスト最前線」は誌面とサンプルコードで対応バージョンが以下のように異なります。

  • 誌面の動作確認に使用したバージョン:RSpec 3.0.0 rc1
  • サンプルコードが対応するバージョン:RSpec 3.0.0

本特集はRSpec3を対象とした記事ですが,執筆時の最新バージョンRSpec 3.0.0 rc1により動作確認を行っています。RSpec 3.0.0 rc1以降に発生した変更によってコードが動作しない場合があり,サンプルコードはRSpec 3.0.0対応のものとしています。

お手数ではございますが,RSpec 3.0.0 rc1対応のサンプルコードtoku3_Test.zipをダウンロードされた方は,RSpec 3.0.0対応のサンプルコードtoku3_Test_new.zipを再度ダウンロードしていただくようお願いいたします。

また,誌面を読み進める際やサンプルコードを実行する際は,以下の点についてご留意いただくようお願いいたします。

Gemfileでのバージョン指定方法の変更

Gemfile内でバージョンを'3.0.0.rc1'と指定している個所を'3.0.0'と変更します。

テストコード全般の変更

誌面に登場する以下の記述(RSpec 3.0.0.rc1)は

require 'spec_helper'

RSpec 3.0.0では以下のように変更しないと動作いたしません。

require 'rails_helper'

テスト実行時の警告の抑制

「rake spec」などのコマンドを実行する際,大量の警告メッセージが出力される場合があります(警告は出力されますが動作はします)。その場合は以下のような対応を行ってください。

P.99左段「$ rails generate rspec:install」コマンドで生成される「.rspec」というファイルに「---warnings」という記述がある場合はその行を削除してください。

詳しくはhttps://github.com/rspec/rspec-core/issues/1571をご参照ください。

お詫びと訂正(正誤表)

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2014年6月26日更新)

目次 巻頭企画の特集タイトル

Rubyはじめの一歩
はじめてのRuby

目次 巻頭企画の第1章タイトル

はじめてのRuby
Rubyはじめの一歩

特集1「はじめてのRuby」
P.1 特集トビラのリード文

第1章第3章ではRubyで用意されている便利な機能について取り上げます。
削除

特集1「はじめてのRuby」
第2章 「Rubyの便利な機能」
P.19 下から3行目の見出し

nstance_eval
instance_eval

特集3「Rails 4テスト最前線」
第2章 「RSpecによるユニットテスト[基本編]」
P.103 「記事の一覧表示画面のテスト」内リストの1行目

replace:
削除

P.104 「投稿日を表示するヘルパーのテスト」内リストの11~15行目

    it {
      expect(rendered).to eq(
        "Hello"
      )
    }
    it { 
      expect(helper.posted_on(@article)).to eq 
        "#{@now.year}/#{@now.month}/#{@now.day}"
    }

第4章 「Feature Specsによるエンドツーエンドテスト」
P.113 「Feature Specsを書き始める前の準備」内のリスト下から2行目

gem 'rspec-rails'
gem 'rspec-rails', '3.0.0.rc1'

P.113 「Feature Specsを書き始める前の準備」左段下から2行目

bundle update, '3.0.0.beta2'
bundle update

P.116 「ブログアプリケーションのFeatures Specs」内リスト7~8行目

:with: "テスト用のタイトル"
:with: "テスト用のエントリ"
with: "テスト用のタイトル"
with: "テスト用のエントリ"

P.116 「プロダクトコードの実装」内のリスト

  def new
    @article = Article.new
  end

  def create
    @article = Article.new(params[:article])

    if @article.save
      redirect_to articles_path
    else
      render :action => "new"
    end
  end
  def new
    @article = Article.new
  end

  def create
    @article = Article.new(
      params[:article].permit(:title, :body)
    )

    if @article.save
      redirect_to :articles
    else
      render action: 'new'
    end
  end