[Dbix-class] Pseudo columns
Lee Standen
nom at standen.id.au
Thu Oct 26 05:06:48 GMT 2006
You're not responding in IRC, so I'll just correct myself here :)
if ($_[0]) {
# Set the field
$self->story_text_used( $self->story_text_used | 4 );
} else {
# Clear the field
$self->story_text_used( $self->story_text_used ^ 4 );
}
Replace that in the below code example, and you should be laughing :)
Lee Standen wrote:
> Looked at working on bitwise fields?
>
> I assume it's using 1, 2 & 4 as values, much like Linux uses for rwx
> permissions.
> This should do the trick, although you could probably condense it a
> bit :) Check out
> http://www.perl.com/doc/manual/html/pod/perlop.html#Bitwise_Or_and_Exclusive_Or
> for info on the bitwise operators.
>
>
> sub show_headline {
> my $self = shift;
> if (@_>0) {
> if ($_[0]) {
> $self->story_text_used( $self->story_text_used ^ 4 );
> } else {
> $self->story_text_used( $self->story_text_used | 4 );
> }
> }
> return $self->story_text_used & 4;
> }
>
> sub show_synopsis {
> my $self = shift;
> if (@_>0) {
> if ($_[0]) {
> $self->story_text_used( $self->story_text_used ^ 2 );
> } else {
> $self->story_text_used( $self->story_text_used | 2 );
> }
> }
> return $self->story_text_used & 2;
> }
>
> sub show_comment {
> my $self = shift;
> if (@_>0) {
> if ($_[0]) {
> $self->story_text_used( $self->story_text_used ^ 1 );
> } else {
> $self->story_text_used( $self->story_text_used | 1 );
> }
> }
> return $self->story_text_used & 1;
> }
>
>
>
> Paul Makepeace wrote:
>> I have a legacy database that encodes three booleans into an integer,
>> 0-7. I've like to present three accessors alongside the other columns
>> that map to that integer. If I can automagically update it all the
>> better.
>>
>> So I have,
>>
>> $chart->story_text_used() # 0-7, real database column
>>
>> and would prefer
>>
>> $chart->show_headline() # 0,1; not in the db
>> $chart->show_synopsis() # ditto
>> $chart->show_comment() # ditto
>>
>> One thought was: I see there's an example of overriding store_column
>> in the cookbook, presumably I'd need to override override get_column
>> as well?
>>
>> Or is there another way?
>>
>> In particular, I'd like to be able to say "these are non-DB-backed
>> columns" and instantiate them on the fly rather than necessarily
>> putting them in the schema class. So e.g. in a Cat controller I could
>> make a couple of columns on the fly that the template could use just
>> as another column. Is this possible? I know it sounds kind of horrible
>> but it would at the very least help debugging.
>>
>> Thanks,
>> Paul
>>
>> _______________________________________________
>> List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
>> Wiki: http://dbix-class.shadowcatsystems.co.uk/
>> IRC: irc.perl.org#dbix-class
>> SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
>> Searchable Archive:
>> http://www.mail-archive.com/[email protected]/
>>
>
>
> _______________________________________________
> List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
> Wiki: http://dbix-class.shadowcatsystems.co.uk/
> IRC: irc.perl.org#dbix-class
> SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
> Searchable Archive:
> http://www.mail-archive.com/[email protected]/
>
More information about the Dbix-class
mailing list