summaryrefslogtreecommitdiff
path: root/lib/Enigmatic/ReflectorBox.pm
blob: e0558cf1d2c313a758a9b0fefd877ad657e5f1cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package Enigmatic::ReflectorBox; 
use DAKKAR::p 'class';
use Enigmatic::Reflector;
use Enigmatic::Types 'ReflectorT';
use MooseX::Types::Structured qw(Map);
use MooseX::Types::Moose qw(Str);
use Moose::Util::TypeConstraints;
 
has reflectorset => (
    is => 'ro',
    isa => Map[Str,ReflectorT],
    lazy_build => 1,
    traits => ['Hash'],
    handles => {
        get => 'get',
    },
);
 
sub _build_reflectorset {
    my %reflectors = (
        => 'YRUHQSLDPXNGOKMIEBFZCWVJAT',
        => 'FVPJIAOYEDRZXWGCTKUQSBNMHL',
        'B_thin' => 'ENKQAUYWJICOPBLMDXZVFTHRGS',
        'C_thin' => 'RDOBJNTKVEHMLFCWZAXGYIPSUQ',
    );
 
    $_ = Enigmatic::Reflector->new($_for values %reflectors;
    return \%reflectors;
}