DBに依存しないRailsアプリケーションを作成した
現在こちらのPRで作成している
当初RailsではDBが必須だと考えていたのだが、調べたところによると必須ではないらしい。
恩恵はなくなるらしいが。
以上のことからRailsからDBの依存や、デフォルトで入っていたメーラーやジョブ関係も削除している
また悩んだのがビジネスロジックの配置場所だがappの直接配下におく事にした
実際のディレクトリ構成はこんな感じだ。
contolloer # リクエストを受けて適切なusecaseを選択する - usecase # domainの処理を取りまとめて流すだけ - domain # usecaseの処理内容を適切な責務に取り分けて格納している - infrastructure # 外部との通信だけ行う
railsというかrubyは解決方法が曖昧でこれと言った解にたどり着くまでが長い...まるで魔術だ
テストは標準の機能ではなくRspecを採用する事にした。 UseCaseを使って書く以上、BDD形式のテストフレームワークがきっちりハマるのでこれ以上ない選択だと思っている。
Loggerについては以下のサイトがベストプラクティスだと思っているので、参考にしながらルール化していきたい。
Rails Logger and Rails Logging Best Practices
NextAction
infrastructureのユニットテストを書く