diff options
author | dakkar <dakkar@thenautilus.net> | 2011-08-29 13:54:58 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2011-08-29 13:54:58 +0100 |
commit | 1776bd778db4f6ed72eed47602877ab7a8fb904f (patch) | |
tree | e04b0500dbe53aed33be95d311f46e8e40775017 /lib/Enigmatic/Reflector.pm | |
parent | rotor boxes (diff) | |
download | Enigmatic-1776bd778db4f6ed72eed47602877ab7a8fb904f.tar.gz Enigmatic-1776bd778db4f6ed72eed47602877ab7a8fb904f.tar.bz2 Enigmatic-1776bd778db4f6ed72eed47602877ab7a8fb904f.zip |
reflectors, in box, and some refactor
Diffstat (limited to 'lib/Enigmatic/Reflector.pm')
-rw-r--r-- | lib/Enigmatic/Reflector.pm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/Enigmatic/Reflector.pm b/lib/Enigmatic/Reflector.pm new file mode 100644 index 0000000..b9371dd --- /dev/null +++ b/lib/Enigmatic/Reflector.pm @@ -0,0 +1,21 @@ +package Enigmatic::Reflector; +use DAKKAR::p 'class'; +use Enigmatic::Types qw(ReflWiringMap Letter); + +has wiring => ( + is => 'ro', + isa => ReflWiringMap, + coerce => 1, +); + +with 'Enigmatic::Role::WithWiring'; + +sub map { + my $self = shift; + my ($letter) = pos_validated_list( + \@_, + { isa => Letter }, + ); + + return $self->wiring->at($letter); +} |