Ruboty は環境変数の必須チェックを行う仕組みが用意されています
Env::Validatable
Ruboty は内部で Env::Validatable というモジュールを用意しており、
これが読み込まれているクラスでは
env(key, description, options = {})
を設定することで環境変数の必須チェックを設定することができます。
Ruboty::Handers::Base は Env::Validatable を include しているので
require "ruboty/hoge/actions/hoge"
require "ruboty/hoge/actions/hige"
module Ruboty
module Handlers
# An Ruboty Handler + Actions to hoge-hige
class Hoge < Base
on /hoge\z/, name: 'hoge', description: 'output hige'
on /hige\z/, name: 'hige', description: 'output hige'
env :DEFAULT_HOGE_TEXT1, "DEFAULT_HOGE_TEXT1 desc"
env :DEFAULT_HOGE_TEXT2, "DEFAULT_HOGE_TEXT2 desc"
def hoge(message)
Ruboty::Hoge::Actions::Hoge.new(message).call
end
def hige(message)
Ruboty::Hoge::Actions::Hige.new(message).call
end
end
end
end
のようにしておけば、 DEFAULT_HOGE_TEXT1
, DEFAULT_HOGE_TEXT2
に対して必須チェックが行われます。
未設定の場合は ruboty 実行時に以下の様なメッセージが表示されます。
Error: ENV["DEFAULT_HOGE_TEXT1"] is required but missing
DEFAULT_HOGE_TEXT1 - DEFAULT_HOGE_TEXT1 desc