lotusについて
lotusとはrubyの最新フレームワークであり、1ファイル構成の簡易な構成から、複数のルートを持つ大規模なアプリケーション開発まで出来る、自由度の高いフレームワークです。
日本では、少なくとも私が知る限りlotusを使った実践的なアプリケーションは無いので、lotusを使い、簡単なアプリケーションを開発したという話をしていこうと思います。
(情報が少なく、手探りな感じで作ってみた部分が多いので、議論等できればいいかなって思っています)
なお、この記事を書いた時点で、まだリファクタリングが済んでいないため、コードの可読性については一度目をつぶっていただけると嬉しいです。
概要
lotusをベースに、下記のフレームワーク・技術を使った、簡単なブログシステムを作ったので、システムの概要について書いていこうと思います。
・lotus
・sqlite3
・sass
・Vue.js
・grunt
・typescript
・Ajax
Part1(とりあえず、動かしてみる)
Part1では、まずlotusを導入し、Lotusを使った日本で初めてのアプリケーションを動かすことまでを書いていきます。
- 開発環境
- vagrant : 環境整備用chefコード
- lotus 0.3.0
- ruby 2.1.5
lotusの導入
lotusの本家ページを見ると、下記のように載っているので、その通り実行し導入
$ gem install lotusrb
コードを落としてきて準備
とりあえず、コードを落としてきて、bundle installする。
$ git clone https://github.com/yamadagenki/lotus_blog
$ cd lotus_blog
$ bundle install
dbセットアップ
あとは、dbをセットアップ(今回はsqlite3を使っている)
$ cd db
$ ruby blog_migrate.rb
これで準備完了。
あとは、hostとかportとか指定してあげれば動く。
動かしてみる
lotus_blog/の下で
$ lotus server -p 2300 --host=0.0.0.0
を打ち、http://192.168.33.10:2300/にアクセスすれば、とりあえず動くはず。
(Vagrantfileのコメントアウトを忘れずに)
記事を書く
ブログ記事の編集は
http://192.168.33.10:2300/edit/user=yamadagenki&pass=lotusblog
より行う。(Enterを押すと、apiと通信し、勝手に保存される)
ユーザ名とパスワードはconfig/environment.rbにある、
NAME = "yamadagenki"
PASS = "lotusblog"
より編集ができる。
記事を編集する
記事を作成後、編集したかったら
http://192.168.33.10:2300/edit/user=yamadagenki&pass=lotusblog&id=1
などとしてidを指定して編集する。