Kwiki
view release on metacpan or search on metacpan
lib/Kwiki/Command.pm view on Meta::CPAN
}
sub handle_add {
$self->update_plugins('+', @_);
}
sub handle_remove {
$self->update_plugins('-', @_);
}
sub update_plugins {
die "This operation must be performed inside a Kwiki installation directory"
unless -f $self->hub->config->plugins_file;
my $mode = shift;
return $self->usage unless @_;
my $plugins_file = $self->hub->config->plugins_file;
my $plugins = io($plugins_file);
my @lines = $plugins->chomp->slurp;
for my $module (@_) {
eval "require $module;1" or die $@ or
($module = "Kwiki::$module" and eval "require $module;1") or
lib/Kwiki/Pages.pm view on Meta::CPAN
sub metadata {
return $self->{metadata} = shift if @_;
$self->{metadata} ||=
$self->meta_class->new(id => $self->id);
return $self->{metadata} if $self->{metadata}->loaded;
$self->load_metadata;
return $self->{metadata};
}
sub update {
$self->metadata->update($self);
return $self;
}
sub kwiki_link {
my ($label) = @_;
my $page_uri = $self->uri;
$label = $self->title
unless defined $label;
return $label unless $self->is_readable;
lib/Kwiki/Pages.pm view on Meta::CPAN
}
sub load {
$self->loaded(1);
my $file_path = $self->file_path;
return unless -f $file_path;
my $hash = $self->parse_yaml_file($file_path);
$self->from_hash($hash);
}
sub update {
my $page = shift;
$self->edit_by($self->hub->users->current->name);
my $unixtime = time;
$self->edit_time(scalar gmtime($unixtime));
$self->edit_unixtime($unixtime);
$self->edit_address($self->get_edit_address);
return $self;
}
sub get_edit_address {
( run in 1.062 second using v1.01-cache-2.11-cpan-49f99fa48dc )