DataMapper - Enum, как флаг настроек для Discriminator? - PullRequest
3 голосов
/ 14 января 2012

Я недавно начал использовать DataMapper в нескольких проектах, и в целом я считаю его просто фантастическим. Но у меня есть вопрос об использовании определенного аспекта этого.

Я знаю, что если у меня есть модель со свойством Enum (property :whatev, Enum[ :foo, :bar ]), я могу вызвать Model.whatev.options[:flag] и получить все возможные значения для конкретного Enum. Мне интересно, если кто-нибудь знает (или мог бы указать мне правильное направление), есть ли что-то подобное для типа свойства Discriminator?

т. есть ли способ вызвать это конкретное свойство и вернуть ему различные параметры

1 Ответ

0 голосов
/ 10 апреля 2013

Немного поздно, но здесь идет. Данные определения модели, такие как:

class Foo
  include DataMapper::Resource
  property :id, Serial
  property :type, Discriminator
end

class Bar < Foo; end
class Baz < Foo; end

Вы можете увидеть подклассы с:

Foo.descendants.entries

, который возвращает массив: [Bar, Baz].

...