Rails5 の delegate を使ってみる
Ruby Ruby on Rails
Published: 2019-05-17

やったこと

Rails5 で delegate を使ってみます。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

$ rails --version
Rails 5.2.3

調査

Active Support で用意されている delegate を使ってみます。

以下は動作を確認するためだけのコードです。

app/models/task.rb

class A
  def hoge
    'name A'
  end
end

class Task < ApplicationRecord
  @@b = A.new
  delegate :hoge, to: :@@b
end

app/controllers/tasks_controller.rb

class TasksController < ApplicationController
  def index
    @task = Task.new
    logger.debug(@task.hoge)
  end
end

参考