summaryrefslogtreecommitdiff
path: root/lib/App/smsg/Command/Group.pm
blob: b1c448119b971fc4f05a786e3e40bd6df0752f6f (plain)
  1. package App::smsg::Command::Group;
  2. use 5.010;
  3. use strict;
  4. use warnings;
  5. use utf8;
  6. BEGIN {
  7. $App::smsg::Command::Group::AUTHORITY = 'https://dr.jones.dk/me#me';
  8. $App::smsg::Command::Group::VERSION = '0.001';
  9. }
  10. use App::smsg -command;
  11. use namespace::clean;
  12. use constant abstract => q (Handle groups of recipients.);
  13. use constant usage_desc => '%c group %o <action> [<group>...]';
  14. use constant description => <<'DESCRIPTION';
  15. Compose, monitor or interact with groups of message recipients.
  16. Composition action is one of create, join, drop, content or list.
  17. Monitoring actions: follow.
  18. Keep connection open and emit change of state, i.e. each use, number of
  19. pending recipients, and when done.
  20. Interactive action is one of cancel or status.
  21. When group or an option is needed but not provided, it is attempted
  22. resolved from previous related communication, then from defaults, and
  23. then interactively prompted for.
  24. DESCRIPTION
  25. use constant opt_spec => (
  26. # [ 'verbose|v', "print extra stuff"],
  27. [ 'debug', "print debug stuff"],
  28. );
  29. sub validate_args {
  30. my ($self, $opt, $args) = @_;
  31. $self->usage_error("too few arguments") unless @$args >= 1;
  32. }
  33. sub execute {
  34. my ($self, $opt, $args) = @_;
  35. die 'FIXME: unimplemented!';
  36. }
  37. 1;