サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >スクリプト:Rubyスクリプトの作成

スクリプト

Rubyスクリプトの作成

スクリプトの作成

Ruby スクリプトでは Rack 互換の call メソッドを宣言し、処理を記述します。

サンプルコード

例)リクエストとして渡されたパラメータに応じて文字列をレスポンスボディとして返却するスクリプト

require "rack"

def call(env)
  req = Rack::Request.new(env)
  name = req.params["name"]
  if name
    body = "Hello, #{name}"
  else
    body = "Hello"
  end
  [200, {"Content-Type" => "text/plain"}, [body]]
end

リクエスト・レスポンス
リクエスト

call メソッドは、引数として env (リクエスト情報が格納されたHash) のみを受け取ります。
env ハッシュの内容についてはFile: SPEC — Documentation for rack/rackに記載されている通りです。

レスポンス

call メソッドからは「HTTPステータスコード(Integer)」「HTTPヘッダ(Hash)」「HTTPレスポンスボディ(Array of String)」からなる配列を返却するようにします。

注意 :実行スクリプトには必ず上記の配列を返却する処理を記載する必要があります。

対応ライブラリ

スクリプトのコード中では、標準ライブラリに加えて以下のライブラリを使用することができます。

ライブラリ名 version require 説明
pg 0.21.0 pg PostgreSQL のクライアントライブラリ。
mysql2 0.4.10 mysql2 MySQL のクライアントライブラリ。
httparty 0.15.6 httparty HTTP クライアント用のライブラリ。
websocket-client-simple 0.3.0 websocket-client-simple Websocket などを利用するためのライブラリ。
mqtt 0.5.0 mqtt MQTT を利用するためのライブラリ。
aws-sdk 3.0.1 aws-sdk AWS 互換のシグネチャ計算を行うことができるライブラリ。
fluent-logger 0.7.1 fluent-logger Fluentd のライブラリ。
nokogiri 1.8.1 nokogiri XML/HTML の DOM を手軽に扱うためのライブラリ。
ncmb-ruby-client 0.1.3 ncmb ニフクラ mobile backend のクライアントライブラリ。
twilio-ruby 5.10.3 twilio-ruby Twilio のライブラリ

※ 対応ライブラリは随時追加予定です。

スクリプトをローカルでデバッグする方法

Ruby がインストールされている環境で、スクリプトをデバッグする方法について解説します。
Ruby の Rack ライブラリを使って簡単なWebサーバーを作成し、そこにデバッグするスクリプトを組み込みます。

まず、新しく Ruby プロジェクト用のディレクトリを用意し、以下の Gemfile を作成します。

Gemfile:

source "https://rubygems.org"
gem "rack"

rack は必須ですが、それ以外のgemに関しては、こちらで使用できるものを確認しつつ、必要なものを記載してください。

Gemfileが作成できたら、bundle install で依存ライブラリのインストールを行います。

$ bundle install

次に、 config.ru を作成します。

config.ru:

class TestScript
  PATH = "test_script.rb"
  CODE = File.read(PATH)
  # デバッグするスクリプトを読み込む
  eval(CODE, binding, fname=PATH)
end

# 読み込んだスクリプトをハンドラーとして定義
map("/2015-09-01/script/test_script.rb") do
  run TestScript.new
end

また、 config.ru と同じ場所にデバッグするスクリプトを用意します。
(ここでは冒頭に掲載したサンプルコードを書き込んでみます。)

$ vim test_script.rb

準備ができたら rackup コマンドでサーバーを起動してください。

$ rackup
[2018-03-27 18:05:48] INFO  WEBrick 1.3.1
[2018-03-27 18:05:48] INFO  ruby 2.3.1 (2016-04-26) [x86_64-linux-gnu]
[2018-03-27 18:05:48] INFO  WEBrick::HTTPServer#start: pid=19383 port=9292

curl コマンドを利用してスクリプトを呼び出すことで、作成中のスクリプトが返す結果を受け取ることができます。

$ curl http://localhost:9292/2015-09-01/script/test_script.rb
Hello

お探しの内容が見つからなかった場合はユーザーコミュニティ もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。

推奨画面サイズ1024×768px以上

ページの先頭へ