メニュー

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

RubyおよびSinatra開発環境のセットアップ方法

このガイドでは、Sinatraプロジェクト向けのRuby開発環境のセットアップ方法について扱います。 また、Twilioを使用するすべてのRubyアプリケーションにお勧めできるいくつかの便利なツール: ngrokおよびTwilio Ruby SDK についても触れていきます。

Let’s get started!

# Check your Ruby version
$ ruby --version
ruby 2.3.1p112 (2016-04-26 revision 54768)

Rubyがすでにお使いのシステムにインストールされている場合、ruby --versionを実行することでそのバージョンを確認できます。

Rubyをインストールする

ご使用のオペレーティングシステムによって、Rubyのインストール方法は異なります。

OperatingSystem Instructions
OS X OS X上でRubyをインストールするもっとも簡単な方法は、ruby-lang.orgの公式インストーラーを使用する方法です。 もしお望みの場合は、Homebrewも使用できます。
Windows Windows上でRubyをインストールする最も簡単な方法は、RubyInstallerの公式インストーラーを使用する方法です。もしお望みの場合は、Chocolateyも使用できます。
Linux Rubyをインストールする正確な手順については、ディストリビューションによって異なります。お使いのディストリビューションでの手順をこちらでご確認ください

RMVを使用してインストールする

Ruby Version Manager、またはRVMは同一デバイスにおける複数のRubyインストールを管理するためにデザインされたUNIXライクなソフトウェアプラットフォームです。

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
$ curl -sSL https://get.rvm.io | bash -s stable --ruby

Bundlerをインストールする

Bundlerは必要なgemとそのバージョンを追跡、インストールすることでRubyプロジェクトに一貫性のある環境を提供する依存関係マネージャーです。

プロジェクトの依存関係を管理するには、Bundlerのインストールが必要です。

$ gem install bundler

Install a text editor or IDE

Before we can start our Ruby project we’ll need something to write it with.

If you already have a code writing tool of choice, you can stick with it for developing your Ruby application. If you're looking for something new, we recommend trying out a few options:

  • AtomはHTML、JavaScript、CSS、およびNode.jsインテグレーションで構築されたIDEです。 Webテクノロジーを使用したクロスプラットフォームアプリケーションの構築用フレームワークであるElectron上で動作します。
  • Sublime Text is a text editor popular for its ease of use and extensibility. Start here if you’re eager to get coding and don’t think you’ll want a lot of frills in your development environment.
  • RubyMineはRuby用の完全な統合開発環境 (IDE = Integrated Development Environment) です。セットアップに多少時間はかかりますが、すでにインストール済みの便利なツールが比較的多く含まれています。
  • Vim is a perernnial favorite text editor among advanced users

プログラミングが初めての場合は、皆さんのお気に入りが見つかるまではAtomおよびSublimeをそれぞれ試してみることをお勧めします。

SinatraとTwilio Ruby SDKをインストールする

We’re almost ready to start writing our Sinatra web application, but first we need to install the Sinatra library.

まず、下記の内容を含むGemfileが必要になります。

# Gemfile
source 'https://rubygems.org'

gem 'sinatra'
gem 'twilio-ruby'

Ruby projects uses Bundler to manage dependencies, so the command to pull Sinatra and the Twilio SDK into our development environment is bundle install.

$ bundle install
Using builder 3.2.2
Using jwt 1.5.6
Using multi_json 1.12.1
Using rack 1.6.5
Using tilt 2.0.5
Using bundler 1.13.3
Using twilio-ruby 4.13.0
Using rack-protection 1.5.3
Using sinatra 1.4.7
Bundle complete! 2 Gemfile dependencies, 9 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

簡単なSinatraアプリケーションを作成する

We can test that our development environment is configured correctly by creating a simple Sinatra application. We’ll grab the example from Sinatra's documentation and drop it in a new file called `index.rb`.

# index.rb
require 'sinatra'
require 'twilio-ruby'

get '/' do
  content_type 'text/xml'

  Twilio::TwiML::VoiceResponse.new do | response |
    response.say(message: 'Hello World')
  end.to_s
end

続いてruby index.rb -p 3000コマンドで、新規Sinatra Webアプリケーションの実行を試します。 そしてブラウザーから http://localhost:3000 にアクセスすれば、<?xml version="1.0" encoding="UTF-8"?><Response><Say>Hello World</Say></Response>レスポンスが確認できるはずです。

Install ngrok

Once you see your sample Sinatra application’s “<?xml version="1.0" encoding="UTF-8"?><Response><Say>Hello World</Say></Response>” message, your development environment is ready to go. But for most Twilio projects you’ll want to install one more helpful tool: ngrok.

Most Twilio services use webhooks to communicate with your application. When Twilio receives an incoming phone call, for example, it reaches out to a URL in your application for instructions on how to handle the call.

When you’re working on your Sinatra application in your development environment, your app is only reachable by other programs on the same computer, so Twilio won’t be able to talk to it.

Ngrok is our favorite tool for solving this problem. Once started, it provides a unique URL on the ngrok.io domain which will forward incoming requests to your local development environment.

まずは、ngrokのダウンロード・ページにアクセスして、お使いのオペレーティング・システム向けのバイナリーをダウンロードしましょう。 https://ngrok.com/download

Once downloaded, make sure your Sinatra application is running and then start ngrok using this command: "./ngrok http 3000". You should see output similar to this:

ngrokの画面

Look at the “Forwarding” line to see your unique Ngrok domain name (ours is "aaf29606.ngrok.io") and then point your browser at that domain name.

If everything’s working correctly, you should see your Sinatra application’s “<?xml version="1.0" encoding="UTF-8"?><Response><Say>Hello World</Say></Response>” message displayed at your new Ngrok URL.

Twilioアプリケーション上で作業していて、WebhookのURLが必要になったときはいつでも、ngrokを使用してこのようなパブリックにアクセスできるURLを取得してください。

関連トピック

これで、Sinatra Webアプリケーションを構築する準備が整いました。 他にもいくつか有用なリソースがありますのでご紹介しましょう:

Twilio

Sinatra

Agustin Camino Kat King Kevin Whinnery David Prothero Samuel Mendes Hector Ortega Andrew Baker
Rate this page:

ヘルプが必要ですか?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.