使えるシステムから使いたいシステムへ、有限会社アテージ

前回紹介したLuaのウェブフレームワークLapisが0.0.3にバージョンアップしました。

Tup

MoonScriptの自動コンパイルにmoonc -w .を使っていたのですが、MoonScriptだけでなく、CoffeeScriptやSASSなどの自動コンパイルもできるようにTupというツールを使うようになりました。

Tup本体はLapisに同梱されていないので、別途インストールする必要があります。

–tupオプションを付けてプロジェクトを作ります。

生成されるファイルは以下の通りです。

Tupを使用するための準備をします。といっても以下のコマンドを実行するだけです。このコマンドは一度だけ実行。

Tupをモニターモードで実行します。このコマンドは作業開始ごとに実行。

サーバーを起動。

web.moonなどを自動でluaのコードにコンパイルされます。コンパイルの様子は以下のようにコンソールに表示され、コンパイルの成否も確認できます。

CoffeeScriptとSASSもコンパイルしたければ、Tuprules.tupを以下のように書きます。

Tuprules.tup

build、migrate

buildとmigrateというコマンドが追加されました。

buildはnginx.confをコンパイルしてnginxにHUPシグナルを送って設定の変更を反映させるためのコマンドです。

migrateはウェブフレームワークにはつきものの機能でデータベースのテーブル変更の際に利用するコマンドです。

おまけ

lapisのhelpを見ると[environment]というオプション引数を使えるものがあります。これは開発環境、リリース環境などでポートやDBの接続情報を切り替えることができる機能なのですが、[enviroment]を指定しても反映されないという現象で遭遇しました。

調べたところ、luarocksのconfigモジュールと競合していて、luarocksのconfigモジュールを読み込んでいたのが原因でした。(lapis.confの124行目あたり)