Шаблон кодирования для пространства имен и унаследованного объекта формы - PullRequest
0 голосов
/ 27 февраля 2019

Текущие объекты формы

app / form_models / registration / step1.rb

module Registration
  class Step1
    include ActiveModel::Model
    #Common code
    #Unique code

    private
    #Common code
    #Unique code
  end
end

app / form_models / registration / step2.rb

module Registration
  class Step2
    include ActiveModel::Model
    #Common code
    #Unique code

    private
    #Common code
    #Unique code
  end
end

Что такоепредпочтительный способ рефакторинга это, чтобы избежать повторения #Common Code?
Должен ли я создать другой класс и наследовать от него?Если да, то правильный ли это шаблон?

## Возможный новый шаблон объектов формы

app / form_models / registration / base.rb

module Registration
  class Base
    include ActiveModel::Model
    #Common code

    private
    #Common code
  end
end

app / form_models / registration/step1.rb

Это правильный способ наследования именованного объекта разнесенной формы?

module Registration
  class Step1<Registration::Base
    #Unique code
    private
    #Unique code
  end
end

1 Ответ

0 голосов
/ 27 февраля 2019

Я считаю, что правильный путь:

module Registration
  class Step1 < Base
    #Unique code
    private
    #Unique code
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...