From 1776bd778db4f6ed72eed47602877ab7a8fb904f Mon Sep 17 00:00:00 2001 From: dakkar Date: Mon, 29 Aug 2011 13:54:58 +0100 Subject: reflectors, in box, and some refactor --- lib/Enigmatic/ReflectorBox.pm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 lib/Enigmatic/ReflectorBox.pm (limited to 'lib/Enigmatic/ReflectorBox.pm') diff --git a/lib/Enigmatic/ReflectorBox.pm b/lib/Enigmatic/ReflectorBox.pm new file mode 100644 index 0000000..eafa667 --- /dev/null +++ b/lib/Enigmatic/ReflectorBox.pm @@ -0,0 +1,28 @@ +package Enigmatic::ReflectorBox; +use DAKKAR::p 'class'; +use Enigmatic::Reflector; +use MooseX::Types::Structured qw(Map); +use MooseX::Types::Moose qw(Str); +use Moose::Util::TypeConstraints; + +has reflectorset => ( + is => 'ro', + isa => Map[Str,class_type('Enigmatic::Reflector')], + lazy_build => 1, + traits => ['Hash'], + handles => { + get => 'get', + }, +); + +sub _build_reflectorset { + my %reflectors = ( + B => 'YRUHQSLDPXNGOKMIEBFZCWVJAT', + C => 'FVPJIAOYEDRZXWGCTKUQSBNMHL', + 'B_thin' => 'ENKQAUYWJICOPBLMDXZVFTHRGS', + 'C_thin' => 'RDOBJNTKVEHMLFCWZAXGYIPSUQ', + ); + + $_ = Enigmatic::Reflector->new($_) for values %reflectors; + return \%reflectors; +} -- cgit v1.2.3