package Prophet::CLI::Command::Create;
{
$Prophet::CLI::Command::Create::VERSION = '0.751';
}
use Any::Moose;
extends 'Prophet::CLI::Command';
with 'Prophet::CLI::RecordCommand';
has '+uuid' => ( required => 0 );
has record => (
is => 'rw',
isa => 'Prophet::Record',
documentation => 'The record object of the created record.',
);
sub usage_msg {
my $self = shift;
my ( $cmd, $type_and_subcmd ) = $self->get_cmd_and_subcmd_names;
return <<"END_USAGE";
usage: ${cmd}${type_and_subcmd} -- prop1=foo prop2=bar
END_USAGE
}
sub run {
my $self = shift;
$self->print_usage if $self->has_arg('h');
my $record = $self->_get_record_object;
my ( $val, $msg ) = $record->create( props => $self->edit_props );
if ( !$val ) {
warn "Unable to create record: " . $msg . "\n";
}
if ( !$record->uuid ) {
warn "Failed to create " . $record->record_type . "\n";
return;
}
$self->record($record);
print "Created "
. $record->record_type . " "
. $record->luid . " ("
. $record->uuid . ")" . "\n";
}
__PACKAGE__->meta->make_immutable;
no Any::Moose;
1;
__END__
=pod
=head1 NAME
Prophet::CLI::Command::Create
=head1 VERSION
version 0.751
=head1 AUTHORS
=over 4
=item *
Jesse Vincent <jesse@bestpractical.com>
=item *
Chia-Liang Kao <clkao@bestpractical.com>
=item *
Christine Spang <christine@spang.cc>
=back
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2009 by Best Practical Solutions.
This is free software, licensed under:
The MIT (X11) License
=head1 BUGS AND LIMITATIONS
You can make new bug reports, and view existing ones, through the
web interface at L<https://rt.cpan.org/Public/Dist/Display.html?Name=Prophet>.
=head1 CONTRIBUTORS
=over 4
=item *
Alex Vandiver <alexmv@bestpractical.com>
=item *
Casey West <casey@geeknest.com>
=item *
Cyril Brulebois <kibi@debian.org>
=item *
Florian Ragwitz <rafl@debian.org>
=item *
Ioan Rogers <ioanr@cpan.org>
=item *
Jonas Smedegaard <dr@jones.dk>
=item *
Kevin Falcone <falcone@bestpractical.com>
=item *
Lance Wicks <lw@judocoach.com>
=item *
Nelson Elhage <nelhage@mit.edu>
=item *
Pedro Melo <melo@simplicidade.org>
=item *
Rob Hoelz <rob@hoelz.ro>
=item *
Ruslan Zakirov <ruz@bestpractical.com>
=item *
Shawn M Moore <sartak@bestpractical.com>
=item *
Simon Wistow <simon@thegestalt.org>
=item *
Stephane Alnet <stephane@shimaore.net>
=item *
Unknown user <nobody@localhost>
=item *
Yanick Champoux <yanick@babyl.dyndns.org>
=item *
franck cuny <franck@lumberjaph.net>
=item *
robertkrimen <robertkrimen@gmail.com>
=item *
sunnavy <sunnavy@bestpractical.com>
=back
=cut