Как всегда добавлять метод класса в цепочку вызова метода - PullRequest
1 голос
/ 06 июля 2019

Скажем, у вас есть класс Class с N методами методов класса, которые можно объединить в цепочку (вещь из DB Model):

class Class
  def self.foo(a)
    @a = a
    self
  end

  ...
end

Так его можно назвать как Class.foo(a).bar(b) и т. Д.

Теперь у вас есть дочерний класс ChildClass, и вы не хотите, чтобы в конце всегда добавлялся еще один цепочечный метод:

class ChildClass < Class
  def self.buzz(r)
    @r = r
    self
  end
end

Так что

ChildClass.foo(a).bar(b)

всегда будет

ChildClass.foo(a).bar(b).buzz(r)

...