Phoenixの学習中に知った便利ライブラリを随時まとめる。
ページネーション
scrivenerとscrivener_ectoとscrivener_htmlを組み合わせると簡単にページネーションが作れる。
メーラー
アダプタを使うことでsmtpなどでも送れる。
bambooのみのインストールで使えるのはsendgrid, mailgun, mandrill。
送信設定はめっちゃ簡単。
ただテンプレートファイル作ったり、メーラー用のファイル作ったりはちょっとめんどい。
bambooとできることの大差はない。
ただ、アダプタが本ライブラリで完結している・メンテが継続していることもあり、こっちのほうが個人的に好み。
使い方も簡単。
パスワードのハッシュ化
comeoninの作者が作ったライブラリ。
Programming Phoenixに出てたから使ってる。
テスト用に時間短縮できる設定がある。
テスト関連
テストの自動実行
必須。
mix test.watchしとけば、ファイル変更を検知してテストを自動再実行してくれる。
テスト結果のデスクトップ通知
デスクトップにテスト結果の通知が出るようになる。
mix-test.watchと使う。
これがあるとREDにならない限りはconsoleを見ないで済むから楽。
HTMLパーサー
Railsのassert_selectみたいなのがPhoenixにはないが、Flokiを使うことで実現できる。
parsed_html = Floki.parse_document!(html_response(conn, 200))
assert Floki.find(parsed_html, "h1") |> Floki.text() =~ user.name
assert Floki.find(parsed_html, "h1 img.gravatar")
assert Floki.find(parsed_html, "ol.microposts li") |> Enum.count() == 20
assert Floki.find(parsed_html, "ul.pagination li.active") |> Floki.text() == "1"
テスト用データ生成
日本語データがないので作ればコントリビュートできそう(?)
インテグレーションテスト
scenicの作者が作っているインテグレーションテスト用のライブラリ。
まだ使ったことがないが、パイプラインでつないでいく感じが使いやすそう。
gitのフック生成
gitのhookで何をするかを設定ファイルに書きだせる。
書き出した設定はmix git_hooks.installするとhookのファイルを生成する。