Kwiki

 view release on metacpan or  search on metacpan

lib/Kwiki/Preferences.pm  view on Meta::CPAN

package Kwiki::Preferences;
use Kwiki::Base -Base;

field class_id => 'preferences';
const preference_class => 'Kwiki::Preference';
field objects_by_class => {};

sub load {
    my $values = shift;
    my $prefs = $self->hub->registry->lookup->preference;
    for (sort keys %$prefs) {
        my $array = $prefs->{$_};
        my $class_id = $array->[0];
        my $hash = {@{$array}[1..$#{$array}]}
          or next;
        next unless $hash->{object};
        my $object = $hash->{object}->clone;
        $object->value($values->{$_});
        push @{$self->objects_by_class->{$class_id}}, $object;
        field($_);
        $self->$_($object);
    }



( run in 0.677 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )