I wrote jifty plugin "Tag". Now, I try to use it in an app, however I
need a way to add column "disabled" to the Tag model and may be other
columns.

Mixins are cool for some sort of tasks, but for above problem mixins
don't help. What I want is proper inheritance: App::Model::Tag isa
Plugin::Tag::Model::Tag isa App::Model::Record isa Plugin::Tag::Record
(if it exists) isa Jifty::Record. So I can extend plugin in an app.

I think about Jifty::Class that will replace 'use base'. We have
pretty straight naming of class and can generate plenty of them, then
we can generate inheritance. Variants of usage I can think of:

package App::Model::Tag;
use Jifty::Class;
use Jifty::Record schema {
};
1;

Jifty::Class on import setups inheritance for the class.

I see that in some case you can reshuffle order, for example:

package App::Model::Tag;
use Jifty::Class qw(Something Jifty::Plugin::TagTranslated Jifty::Plugin::Tag);
use Jifty::Record schema {
};
1;

What do you think? Ideas?

-- 
Best regards, Ruslan.
_______________________________________________
jifty-devel mailing list
jifty-devel@lists.jifty.org
http://lists.jifty.org/cgi-bin/mailman/listinfo/jifty-devel

Reply via email to