おしごとコード解読メモ

Retriable.retriable :tries => リトライしたい回数, :on_retry => リトライ時に実行したい処理 do
  繰り返し処理
end
  • delegateというRailsの機能がある。クラス定義内で以下のように記述する。
class Hoge
  delegate メソッド名, to: オブジェクト名(クラス、定数、クラス変数、インスタンス変数のいずれも可)
end

すると、指定したオブジェクトで指定したメソッドを利用できるようになる。 delegateは委任、移譲という意味で、あるメソッドを使う権限をあるオブジェクトに対して委任する、というイメージ。

https://api.rubyonrails.org/classes/Module.html#method-i-delegate

  • クラスの定義ってネストできるんだ!

クラス/メソッドの定義 (Ruby 2.6.0)

class Foo
  class Bar
  end
end

FooとBarの間には継承関係はない。Foo::Barという名前空間は構成される。 なので、「Barってクラスの定義どこだー、bar.rbないぞー」って探してても、foo.rbの中に見つかることがある。