KiokuDB
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/KiokuDB.pm view on Meta::CPAN
# return IDs only for unknown objects
if ( defined wantarray ) {
return $self->live_objects->objects_to_ids(@objects);
}
}
sub insert { shift->_insert( 1, @_ ) }
sub insert_nonroot { shift->_insert( 0, @_ ) }
sub update {
my ( $self, @args ) = @_;
my @objects = $self->_register(@args);
my $l = $self->live_objects;
croak "Object not in storage"
if grep { not $l->object_in_storage($_) } @objects;
$self->store_objects( shallow => 1, only_known => 1, objects => \@objects );
lib/KiokuDB/Collapser/Buffer.pm view on Meta::CPAN
$self->insert_to_backend($backend);
$self->update_entries( in_storage => 1 );
}
sub insert_to_backend {
my ( $self, $backend ) = @_;
$backend->insert($self->entries);
}
sub update_entries {
my ( $self, @shared_args ) = @_;
my ( $e, $o ) = ( $self->_entries, $self->_ids );
my $l = $self->live_objects;
my $args = $self->_entry_args;
foreach my $id ( keys %$e ) {
my ( $object, $entry ) = ( $o->{$id}, $e->{$id} );
lib/KiokuDB/LiveObjects.pm view on Meta::CPAN
return undef;
}
sub object_in_storage {
my ( $self, $object ) = @_;
$self->id_in_storage( $self->object_to_id($object) || return );
}
sub update_object_entry {
my ( $self, $object, $entry, %args ) = @_;
my $s = $self->current_scope or croak "no open live object scope";
my $info = $self->_objects->{$object} or croak "Object not yet registered";
$self->_entries->{$entry} = $info;
@{$info}{keys %args} = values %args;
weaken($info->{entry} = $entry);
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.409 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )