summaryrefslogtreecommitdiffstats
path: root/lib/Bot/Games/Trait/Attribute/Command.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Bot/Games/Trait/Attribute/Command.pm')
-rw-r--r--lib/Bot/Games/Trait/Attribute/Command.pm62
1 files changed, 0 insertions, 62 deletions
diff --git a/lib/Bot/Games/Trait/Attribute/Command.pm b/lib/Bot/Games/Trait/Attribute/Command.pm
deleted file mode 100644
index acc306e..0000000
--- a/lib/Bot/Games/Trait/Attribute/Command.pm
+++ /dev/null
@@ -1,62 +0,0 @@
-package Bot::Games::Trait::Attribute::Command;
-use Bot::Games::OO::Role;
-
-has command => (
- is => 'rw',
- isa => 'Bool',
- default => 0,
-);
-
-has needs_init => (
- is => 'rw',
- isa => 'Bool',
- default => 1,
-);
-
-has _use_accessor_metatrait => (
- is => 'rw',
- isa => 'Bool',
- default => 0,
-);
-
-before _process_options => sub {
- my $self = shift;
- my ($name, $options) = @_;
- warn "needs_init is useless for attributes without command"
- if exists($options->{needs_init}) && !$options->{command};
-};
-
-around accessor_metaclass => sub {
- my $orig = shift;
- my $self = shift;
- my $metaclass = $self->$orig(@_);
- return $metaclass unless $self->command && $self->_use_accessor_metatrait;
- return Moose::Meta::Class->create_anon_class(
- superclasses => [$metaclass],
- roles => ['Bot::Games::Trait::Method::Command'],
- cache => 1,
- )->name;
-};
-
-after install_accessors => sub {
- my $self = shift;
- return unless $self->command;
- my $method_meta = $self->get_read_method_ref;
- $method_meta->pass_args(0);
- $method_meta->needs_init($self->needs_init);
-};
-
-around _process_accessors => sub {
- my $orig = shift;
- my $self = shift;
- my ($type) = @_;
- $self->_use_accessor_metatrait(1) if $type eq 'accessor'
- || $type eq 'reader';
- my @ret = $self->$orig(@_);
- $self->_use_accessor_metatrait(0);
- return @ret;
-};
-
-no Bot::Games::OO::Role;
-
-1;