ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

Rubyのスクリプトをローカルでテスト実行する際の環境作り

f:id:mbaasdevrel:20180418153723p:plain

mBaaSのスクリプト機能がRubyに対応しました。JavaScriptの非同期な仕組みは苦手で、Rubyが好きという方にとってはぴったりな機能です。

公式ドキュメントにもローカルでテスト実行する方法について書かれていますが、ファイル名などが固定化されてしまっていたりするので、もう少し簡単に使える方法を紹介します。

必要なファイル

必要なファイルは次の3つです。

$ tree .
.
├── Gemfile
├── config.ru
└── register.rb // <- 作成しているスクリプト

0 directories, 3 files

Gemfileについて

Gemfileは公式ドキュメントと同じです。

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

記述後 bundle コマンドを実行してください。bundlerがインストールされていない場合は gem install bundler を実行してください。

config.ruについて

config.ruの内容は次の通りです。

class Script
  code = $stdin.readlines
  # デバッグするスクリプトを読み込む
  eval(code.join("\n"))
end

# 読み込んだスクリプトをハンドラーとして定義
map("/") do
  run Script.new
end

実行について

実行は次のようにします。

$ rackup . < register.rb 

つまり、作成しているスクリプトをrackupコマンドに標準入力として渡しています。その内容をそのままevalして実行します。

この場合、スクリプトのファイル名が変わっても使えますし、複数のスクリプトを切り替えるのも簡単です。

呼び出し

GET http://localhost:9292/ であったり POST http://localhost:9292/ でアクセスできます。 GETであればWebブラウザからアクセスすれば良いですし、POSTの場合はcurlコマンドで良いでしょう。

curl 'http://localhost:9292/' \
    --data 'name=sample' \
    -XPOST

まとめ

スクリプトはクラウド上で実行されるのでエラー時のデバッグが非常にやりづらいです。しかも実行回数や時間に制限があります。そのため、ローカルで十分にテストしてからアップロードするのが良いでしょう。複数ファイルを効率的に切り替えて、繰り返しテストできるようにしましょう。

スクリプト : Rubyスクリプトの作成 | ニフクラ mobile backend

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。