delegate がある。 しかし、ここでの委譲は一般的なプログ ラミングテクニックとしてのもの。 特定の public メソッドと、そこから参照 される一連の private メソッドをグルー プ化し、PORO としてまとめる。 # app/models/user.rb class User < ApplicationRecord def subscribe(plan) SubscriptionCreator.new(self, plan).run end end # app/models/user/subscription_creator.rb class User::SubscriptionCreator def initialize(user, plan) @user = user @plan = plan end def run # private メソッド呼び出し end end 37signals Dev — Vanilla Rails is plenty 8