Наследование атрибутов в чертежах машинистов - PullRequest
1 голос
/ 02 марта 2011

Используя Машинист, есть ли способ определить чертежи так, чтобы они наследовали атрибуты от других чертежей?Я просмотрел всю документацию и примеры, которые нашел, но я не видел, чтобы это происходило.

Я хочу сделать что-то вроде этого:

User.blueprint do
    name
    email
end

User.blueprint(:admin) do
    is_admin { true }
end

User.blueprint(:editor) do
    is_editor { true }
    group
end

User.blueprint(:contributor) do
    is_editor { true }
end

Где они всенаследовать имя / адрес электронной почты от первого проекта, а проект: contibutor наследует атрибут группы от проекта: editor.

Возможно ли это?

1 Ответ

1 голос
/ 03 марта 2011

Да, это частично возможно, по крайней мере, с Машинистом 1 (я не пробовал с Машинистом 2).Вы можете наследовать атрибуты только от чертежа по умолчанию для данного класса.

Ваш синтаксис правильный, см. «Именованные чертежи» в https://github.com/notahat/machinist/tree/1.0-maintenance, но ваш автор проекта напрямую наследует от проекта пользователя по умолчанию.Вам нужно будет вручную установить атрибут группы в проекте участника.

Синтаксис для создания пользователя-администратора: User.make(:admin).

...