Совместное использование методов делегирования между двумя моделями - PullRequest
0 голосов
/ 15 марта 2011

Модель A и Модель B используют следующие методы делегирования:

  delegate :league, :to => :event, :prefix => true, :allow_nil => false # event_league

  def event_league_sport
    self.event_league.sport
  end

  def event_league_sport_name
    event_league_sport.name
  end

Чтобы мне не приходилось повторять одни и те же методы в каждом классе, как лучше всего разделить их между двумя приятным и сухим способом?

1 Ответ

0 голосов
/ 15 марта 2011

Добавьте методы в модуль и включите его в свои классы:

module EventDelegator
  def event_league_sport
    self.event_league.sport
  end

  def event_league_sport_name
    event_league_sport.name
  end
end

class A
  include EventDelegator
end
...