Rails tips: Service Objectパターンでリファクタリング(翻訳)

概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Use service object pattern to make refactoring of your Ruby on Rails app 原文公開日: 2018/02/03 著者: Paweł Dąbrowsk Rails tips: Service Objectパターンでリファクタリング(翻訳) このリファクタリングパターンは非常にシンプルですが、私が作業しているどのアプリでも非常に有効であることがわかってきました。Service Object(訳注: 単にServiceと書かれることもありますが、本記事では略さない方に統一しています)パターンは、クラスやメソッドのコード量が増えてしまったときにいつでも使えます。私はServiceを作るときは以下のルールを守るようにしています。 Service Objectのクラス名の末尾には必ずServiceを付ける 単一責任の原則を守る(この原則はService Objectに限らない一般的なルールです) Service Objectのアイデアをわかりやすく示すために、サンプルのService Objectクラスを作ってみましょう。 module Users class EmailDomainService def initialize(user) @user = user end def email_domain user.email.split(“@”).last if user.email.present? end private attr_reader :user end … Continue reading Rails tips: Service Objectパターンでリファクタリング(翻訳)