Alice

 view release on metacpan or  search on metacpan

lib/Alice/Config.pm  view on Meta::CPAN

package Alice::Config;

use FindBin;
use Data::Dumper;
use File::ShareDir qw/dist_dir/;
use List::MoreUtils qw/any/;
use Getopt::Long;
use Any::Moose;
use POSIX;

use AnyEvent::AIO;
use IO::AIO;

has assetdir => (
  is      => 'ro',
  isa     => 'Str',
  default => sub {
    if (-e "$FindBin::Bin/../share/templates") {
      return "$FindBin::Bin/../share";
    }
    return dist_dir('App-Alice');
  }
);

has [qw/images avatars alerts audio animate/] => (
  is      => 'rw',
  isa     => 'Str',
  default => "show",
);

has first_run => (
  is      => 'rw',
  isa     => 'Bool',
  default => 1,
);

has style => (
  is      => 'rw',
  isa     => 'Str',
  default => 'default',
);

has timeformat => (
  is      => 'rw',
  isa     => 'Str',
  default => '24',
);

has quitmsg => (
  is      => 'rw',
  isa     => 'Str',
  default => 'alice.',
);

has port => (
  is      => 'rw',
  isa     => 'Str',
  default => "8080",
);

has address => (
  is      => 'rw',
  isa     => 'Str',
  default => '127.0.0.1',
);

has auth => (
  is      => 'rw',
  isa     => 'HashRef[Str]',
  default => sub {{}},
);

has tabsets => (
  is      => 'rw',
  isa     => 'HashRef[ArrayRef]',
  default => sub {{}},
);

has [qw/highlights order monospace_nicks/]=> (
  is      => 'rw',
  isa     => 'ArrayRef[Str]',
  default => sub {[]},
);

has ignore => (
  is      => 'rw',
  isa     => 'HashRef[ArrayRef]',
  default => sub {
    +{ msg => [], 'join' => [], part => [], nick => [] }
  }
);


has servers => (
  is      => 'rw',
  isa     => 'HashRef[HashRef]',
  default => sub {{}},



( run in 1.651 second using v1.01-cache-2.11-cpan-e1769b4cff6 )