Force.com向けにRuby On Railsの環境を準備する

by Kaz Kawamura on 12月 13, 2010 at 04:49 午後

先週のDreamforceで、Salesforce.comがHeroku社を買収することへの合意のニュースが流れました。
米国のForce.com Blogでは、Setting up your Ruby on Rails environment for Force.com という記事が早速投稿されましたので、こちらを皆さまにもご紹介したいと思います。Wikiにも、getting started の記事が公開されていますので、こちらもご参照ください。この記事では、WindowsマシンにRuby on Railsの環境を準備し、force.comにアクセスするまでの簡単な手順を説明します。

Big Picture

6a00d8341cded353ef0148c6a40484970c  

環境を作り始める前に、force.comのツールキットがどのようにRuby環境に統合されているかを説明します。Rubyに詳しくない方のために補足すると、Rubyはプログラム言語で、RailsはWebアプリケーションのフレームワークです。Force.com toolkit for Rubyは、Web Service APIを通してForce.com データベースに接続するライブラリ(Ruby用語ではgemと呼ばれます)です。Rubyでは、パッケージマネージメントのためにgem、makeのようにプログラムをビルドするためにrakeなどいくつかのツールが提供されています。

Ruby on Railsの環境をセットアップ

まず、Rubyをインストールしましょう。こちらのサイトからWindows用の実行環境をダウンロードして、インストールすることができます。ダウンロードしたら、インストーラを実行し、RubyコマンドをPATH環境変数に追加するようにしてください。ここでは、c:\software\Ruby192にRubyをインストールしました。

次にコマンドプロンプトを開いて、以下の手順を実行してください。ここでは、いくつかのライブラリをインストールしていきます。

  • Rakeのインストール こちらは、後で必要になります。

    c:\software\Ruby192 > gem install rake
  • Railsのインストール force.comのライブラリが、2.3.8向けにビルドされているために、明示的に、バージョンを2.3.8に指定します。

    c:\software\Ruby192 > gem install -v=2.3.8 rails
  • hpricotをインストールします。エラーが出たため、プラットフォームを明示的に指定しました。

    c:\software\Ruby192 > gem install hpricot --platform=mswin32
  • Facetsをインストールします。

    c:\software\Ruby192 > gem install -v=2.8.4 facets
  • Force.com Ruby toolkitをインストールします。

    c:\software\Ruby192 > gem install asf-soap-adapter

ここまでで、Force.comツールキットを利用するRailsプロジェクトを作成するために必要な環境が準備できました。まずは、プロジェクトを作成し、正しくセットアップできたか試してみましょう。

ツールキットのテスト

Railsのプロジェクトを作成します。実行したディレクトリ以下にファイルが作られますので、プロジェクトの置き場所となるディレクトリに移動してから実行してください。

c:\software\RailsExample > rails test

これで、testディレクトリ以下にプロジェクトが作成されます。ここではrailsが生成したファイルの中で2つのファイルを編集する必要があります。

  • config\environment.rb - Force.comツールキットへの参照を追加します。このファイルを参考にしてください。
    ※マルチバイト文字の環境では、さらに、「Encoding.default_external='UTF-8'」をこのファイルの行末に加えてください。
  • config\database.yml - 接続先組織のログイン情報を設定する必要があります。salesforce-default-realmという設定エレメントを追加してください。設定が完了すると、このファイルのようになります。パスワードにセキュリティトークンを追加することを忘れないでください。

Force.comに接続する準備ができました。コマンドウィンドウを開き、プロジェクトのトップディレクトリ(先程の例ではtestの下)に移動してください。まずは、コンソールでテストを実行してみます。

c:\software\RailsExamples\test > ruby script\console

※こちらは、実行されるまでかなり時間がかかりますので、少しお待ちください。

ここからツールキットのメソッドを呼べるようになりました。以下のコマンドを入力して、簡単なクエリを実行してみましょう。

>> Salesforce::SfBase.query_by_sql("select name from Account")

セットアップがうまくいっていると、接続先組織の取引先が一覧されるはずです。

Force.comにつながるRailsアプリケーションを構築する準備がこれでできました!

次のステップ

  • Wikiの記事からサンプルをダウンロードする。こちらからソースをダウンロードすることもできますし、分散ソースコード管理ツールのgitからダウンロードすることも可能です。gitとgithubについては、こちらをご参照ください。
  • Force.comツールキットのソースコードを見てみる。どんなメソッドがあるかを理解するにはsf_base.rbとsf_utility.rbがお勧めです。ツールキットは、githubのこちらから入手できます。
  • 実際にアプリケーションを作成し、Herokuにデプロイしてみる。近いうちにこちらもBlogに書ければと思います。

Force.comの開発者にとって、Rubyはなじみが薄いかもしれませんが、この記事がForce.comやdatabase.comと連携するRubyアプリケーションを構築するきっかけになればいいですね。

トラックバック

このページのトラックバックURL: http://www.typepad.jp/t/trackback/7240/25588415

このページへのトラックバック一覧 Force.com向けにRuby On Railsの環境を準備する:

コメントを投稿

コメントは記事の投稿者が承認するまで表示されません。