NCMBのスクリプト機能はNode.jsとRubyに対応しています。スクリプトはファイルをクラウド上にアップロードして使うのですが、手元の環境とクラウドでの環境が異なるために、手元では動いたのにクラウド向けに編集したり、うまく動かなくなったりします。これは相当ストレスです。
個人的にRubyで開発している時にクラウド上にファイルをアップロードしてテスト実行する度にトラブったので、開発用にNCMBMania/ruby-script-baseを作りました。皆さんのスクリプト開発に役立ててください。
使い方
NCMBMania/ruby-script-baseをZipダウンロード、解凍します。
解凍した中にscript.rbというファイルがあります。ここにスクリプトのコードを記述します。初期内容は次のようになっています。
require "rack" require 'json' def call(env) req = Rack::Request.new(env) name = req.params['name'] || 'Default' [200, {"Content-Type" => "application/json"}, [{ name: name }.to_json] ] end
req.paramsでGET/POSTで送られてくるパラメータの内容が取得できます。また、Rubyオブジェクトをto_jsonで出力することでレスポンスをJSONにできます。
この内容は自由に変更してもらって大丈夫です。
テスト
開発が終わったらテストしてみます。まず必要なライブラリをインストールします。
$ bundle install
終わったらサーバを立ち上げます。
$ bundle exec rackup
サーバが立ち上がったら http://localhost:9292
でスクリプトのコードがテストできます。GETであればそのままWebブラウザからアクセスすれば良いでしょう。POST/PUT/DELETEメソッドの場合はcurlを使うのがお勧めです。
まとめ
後からRackアプリケーション化したり、その必要なコードを準備するのは意外と面倒です。NCMBMania/ruby-script-baseを使って手軽に開発をはじめてください。スクリプトは無料プランでも月50,000回まで利用できます。
スクリプトの使い方についてはスクリプト (iOS) : 基本的な使い方 | ニフクラ mobile backendを参考にしてください。