File Coverage

blib/lib/Acme/Mitey/Cards/MOP.pm
Criterion Covered Total %
statement 60 60 100.0
branch n/a
condition n/a
subroutine 20 20 100.0
pod n/a
total 80 80 100.0


line stmt bran cond sub pod time code
1             package Acme::Mitey::Cards::MOP;
2              
3 1     1   550 use Moose ();
  1         3  
  1         23  
4 1     1   6 use Moose::Util ();
  1         2  
  1         15  
5 1     1   6 use Moose::Util::MetaRole ();
  1         2  
  1         14  
6 1     1   4 use Moose::Util::TypeConstraints ();
  1         4  
  1         25  
7 1     1   4 use constant { true => !!1, false => !!0 };
  1         2  
  1         105  
8              
9             my $META_CLASS = do {
10             package Acme::Mitey::Cards::MOP::Meta::Class;
11 1     1   6 use Moose;
  1         3  
  1         8  
12             extends 'Moose::Meta::Class';
13             around _immutable_options => sub {
14             my ( $next, $self, @args ) = ( shift, shift, @_ );
15             return $self->$next( replace_constructor => 1, @args );
16             };
17             __PACKAGE__->meta->make_immutable;
18              
19             __PACKAGE__;
20             };
21              
22             my $META_ROLE = do {
23             package Acme::Mitey::Cards::MOP::Meta::Role;
24 1     1   7473 use Moose;
  1         3  
  1         4  
25             extends 'Moose::Meta::Role';
26             my $built_ins = qr/\A( DOES | does | __META__ | __FINALIZE_APPLICATION__ |
27             CREATE_CLASS | APPLY_TO )\z/x;
28             around get_method => sub {
29             my ( $next, $self, $method_name ) = ( shift, shift, @_ );
30             return if $method_name =~ $built_ins;
31             return $self->$next( @_ );
32             };
33             around get_method_list => sub {
34             my ( $next, $self ) = ( shift, shift );
35             return grep !/$built_ins/, $self->$next( @_ );
36             };
37             around _get_local_methods => sub {
38             my ( $next, $self ) = ( shift, shift );
39             my %map = %{ $self->_full_method_map };
40             return map $map{$_}, $self->get_method_list;
41             };
42             __PACKAGE__->meta->make_immutable;
43              
44             __PACKAGE__;
45             };
46              
47             require "Acme/Mitey/Cards/Card.pm";
48              
49             {
50             my $PACKAGE = $META_CLASS->initialize( "Acme::Mitey::Cards::Card", package => "Acme::Mitey::Cards::Card" );
51             my %ATTR;
52             $ATTR{"deck"} = Moose::Meta::Attribute->new( "deck",
53             __hack_no_process_options => true,
54             associated_class => $PACKAGE,
55             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Card.pm", line => "9", package => "Acme::Mitey::Cards::Card", toolkit => "Mite", type => "class" },
56             is => "ro",
57             weak_ref => true,
58             init_arg => "deck",
59             required => false,
60             type_constraint => do { require Acme::Mitey::Cards::Types::Source; Acme::Mitey::Cards::Types::Source::Deck() },
61             reader => "deck",
62             );
63             {
64             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
65             accessor_type => 'reader',
66             attribute => $ATTR{"deck"},
67             name => "deck",
68             body => \&Acme::Mitey::Cards::Card::deck,
69             package_name => "Acme::Mitey::Cards::Card",
70             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Card::deck", file => "lib/Acme/Mitey/Cards/Card.pm", line => "9", package => "Acme::Mitey::Cards::Card", toolkit => "Mite", type => "class" },
71             );
72             $ATTR{"deck"}->associate_method( $ACCESSOR );
73             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
74             }
75             do {
76 1     1   6870 no warnings 'redefine';
  1         2  
  1         202  
77             local *Moose::Meta::Attribute::install_accessors = sub {};
78             $PACKAGE->add_attribute( $ATTR{"deck"} );
79             };
80             $ATTR{"reverse"} = Moose::Meta::Attribute->new( "reverse",
81             __hack_no_process_options => true,
82             associated_class => $PACKAGE,
83             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Card.pm", line => "19", package => "Acme::Mitey::Cards::Card", toolkit => "Mite", type => "class" },
84             is => "ro",
85             weak_ref => false,
86             init_arg => "reverse",
87             required => false,
88             type_constraint => do { require Types::Standard; Types::Standard::Str() },
89             reader => "reverse",
90             builder => "_build_reverse",
91             lazy => true,
92             );
93             {
94             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
95             accessor_type => 'reader',
96             attribute => $ATTR{"reverse"},
97             name => "reverse",
98             body => \&Acme::Mitey::Cards::Card::reverse,
99             package_name => "Acme::Mitey::Cards::Card",
100             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Card::reverse", file => "lib/Acme/Mitey/Cards/Card.pm", line => "19", package => "Acme::Mitey::Cards::Card", toolkit => "Mite", type => "class" },
101             );
102             $ATTR{"reverse"}->associate_method( $ACCESSOR );
103             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
104             }
105             do {
106 1     1   10 no warnings 'redefine';
  1         2  
  1         271  
107             local *Moose::Meta::Attribute::install_accessors = sub {};
108             $PACKAGE->add_attribute( $ATTR{"reverse"} );
109             };
110             $PACKAGE->add_method(
111             "meta" => Moose::Meta::Method::Meta->_new(
112             name => "meta",
113             body => \&Acme::Mitey::Cards::Card::meta,
114             package_name => "Acme::Mitey::Cards::Card",
115             ),
116             );
117             Moose::Util::TypeConstraints::find_or_create_isa_type_constraint( "Acme::Mitey::Cards::Card" );
118             }
119              
120             require "Acme/Mitey/Cards/Card/Face.pm";
121              
122             {
123             my $PACKAGE = $META_CLASS->initialize( "Acme::Mitey::Cards::Card::Face", package => "Acme::Mitey::Cards::Card::Face" );
124             my %ATTR;
125             $ATTR{"suit"} = Moose::Meta::Attribute->new( "suit",
126             __hack_no_process_options => true,
127             associated_class => $PACKAGE,
128             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Card/Face.pm", line => "13", package => "Acme::Mitey::Cards::Card::Face", toolkit => "Mite", type => "class" },
129             is => "ro",
130             weak_ref => false,
131             init_arg => "suit",
132             required => true,
133             type_constraint => do { require Acme::Mitey::Cards::Types::Source; Acme::Mitey::Cards::Types::Source::Suit() },
134             coerce => true,
135             reader => "suit",
136             );
137             {
138             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
139             accessor_type => 'reader',
140             attribute => $ATTR{"suit"},
141             name => "suit",
142             body => \&Acme::Mitey::Cards::Card::Face::suit,
143             package_name => "Acme::Mitey::Cards::Card::Face",
144             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Card::Face::suit", file => "lib/Acme/Mitey/Cards/Card/Face.pm", line => "13", package => "Acme::Mitey::Cards::Card::Face", toolkit => "Mite", type => "class" },
145             );
146             $ATTR{"suit"}->associate_method( $ACCESSOR );
147             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
148             }
149             do {
150 1     1   7 no warnings 'redefine';
  1         2  
  1         171  
151             local *Moose::Meta::Attribute::install_accessors = sub {};
152             $PACKAGE->add_attribute( $ATTR{"suit"} );
153             };
154             $ATTR{"face"} = Moose::Meta::Attribute->new( "face",
155             __hack_no_process_options => true,
156             associated_class => $PACKAGE,
157             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Card/Face.pm", line => "20", package => "Acme::Mitey::Cards::Card::Face", toolkit => "Mite", type => "class" },
158             is => "ro",
159             weak_ref => false,
160             init_arg => "face",
161             required => true,
162             type_constraint => do { require Acme::Mitey::Cards::Types::Source; Acme::Mitey::Cards::Types::Source::Character() },
163             reader => "face",
164             );
165             {
166             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
167             accessor_type => 'reader',
168             attribute => $ATTR{"face"},
169             name => "face",
170             body => \&Acme::Mitey::Cards::Card::Face::face,
171             package_name => "Acme::Mitey::Cards::Card::Face",
172             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Card::Face::face", file => "lib/Acme/Mitey/Cards/Card/Face.pm", line => "20", package => "Acme::Mitey::Cards::Card::Face", toolkit => "Mite", type => "class" },
173             );
174             $ATTR{"face"}->associate_method( $ACCESSOR );
175             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
176             }
177             do {
178 1     1   7 no warnings 'redefine';
  1         3  
  1         366  
179             local *Moose::Meta::Attribute::install_accessors = sub {};
180             $PACKAGE->add_attribute( $ATTR{"face"} );
181             };
182             $PACKAGE->add_method(
183             "meta" => Moose::Meta::Method::Meta->_new(
184             name => "meta",
185             body => \&Acme::Mitey::Cards::Card::Face::meta,
186             package_name => "Acme::Mitey::Cards::Card::Face",
187             ),
188             );
189             Moose::Util::TypeConstraints::find_or_create_isa_type_constraint( "Acme::Mitey::Cards::Card::Face" );
190             }
191              
192             require "Acme/Mitey/Cards/Card/Joker.pm";
193              
194             {
195             my $PACKAGE = $META_CLASS->initialize( "Acme::Mitey::Cards::Card::Joker", package => "Acme::Mitey::Cards::Card::Joker" );
196             $PACKAGE->add_method(
197             "meta" => Moose::Meta::Method::Meta->_new(
198             name => "meta",
199             body => \&Acme::Mitey::Cards::Card::Joker::meta,
200             package_name => "Acme::Mitey::Cards::Card::Joker",
201             ),
202             );
203             Moose::Util::TypeConstraints::find_or_create_isa_type_constraint( "Acme::Mitey::Cards::Card::Joker" );
204             }
205              
206             require "Acme/Mitey/Cards/Card/Numeric.pm";
207              
208             {
209             my $PACKAGE = $META_CLASS->initialize( "Acme::Mitey::Cards::Card::Numeric", package => "Acme::Mitey::Cards::Card::Numeric" );
210             my %ATTR;
211             $ATTR{"suit"} = Moose::Meta::Attribute->new( "suit",
212             __hack_no_process_options => true,
213             associated_class => $PACKAGE,
214             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Card/Numeric.pm", line => "13", package => "Acme::Mitey::Cards::Card::Numeric", toolkit => "Mite", type => "class" },
215             is => "ro",
216             weak_ref => false,
217             init_arg => "suit",
218             required => true,
219             type_constraint => do { require Acme::Mitey::Cards::Types::Source; Acme::Mitey::Cards::Types::Source::Suit() },
220             coerce => true,
221             reader => "suit",
222             );
223             {
224             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
225             accessor_type => 'reader',
226             attribute => $ATTR{"suit"},
227             name => "suit",
228             body => \&Acme::Mitey::Cards::Card::Numeric::suit,
229             package_name => "Acme::Mitey::Cards::Card::Numeric",
230             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Card::Numeric::suit", file => "lib/Acme/Mitey/Cards/Card/Numeric.pm", line => "13", package => "Acme::Mitey::Cards::Card::Numeric", toolkit => "Mite", type => "class" },
231             );
232             $ATTR{"suit"}->associate_method( $ACCESSOR );
233             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
234             }
235             do {
236 1     1   8 no warnings 'redefine';
  1         2  
  1         199  
237             local *Moose::Meta::Attribute::install_accessors = sub {};
238             $PACKAGE->add_attribute( $ATTR{"suit"} );
239             };
240             $ATTR{"number"} = Moose::Meta::Attribute->new( "number",
241             __hack_no_process_options => true,
242             associated_class => $PACKAGE,
243             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Card/Numeric.pm", line => "20", package => "Acme::Mitey::Cards::Card::Numeric", toolkit => "Mite", type => "class" },
244             is => "ro",
245             weak_ref => false,
246             init_arg => "number",
247             required => true,
248             type_constraint => do { require Acme::Mitey::Cards::Types::Source; Acme::Mitey::Cards::Types::Source::CardNumber() },
249             coerce => true,
250             reader => "number",
251             );
252             {
253             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
254             accessor_type => 'reader',
255             attribute => $ATTR{"number"},
256             name => "number",
257             body => \&Acme::Mitey::Cards::Card::Numeric::number,
258             package_name => "Acme::Mitey::Cards::Card::Numeric",
259             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Card::Numeric::number", file => "lib/Acme/Mitey/Cards/Card/Numeric.pm", line => "20", package => "Acme::Mitey::Cards::Card::Numeric", toolkit => "Mite", type => "class" },
260             );
261             $ATTR{"number"}->associate_method( $ACCESSOR );
262             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
263             }
264             do {
265 1     1   7 no warnings 'redefine';
  1         3  
  1         277  
266             local *Moose::Meta::Attribute::install_accessors = sub {};
267             $PACKAGE->add_attribute( $ATTR{"number"} );
268             };
269             $PACKAGE->add_method(
270             "meta" => Moose::Meta::Method::Meta->_new(
271             name => "meta",
272             body => \&Acme::Mitey::Cards::Card::Numeric::meta,
273             package_name => "Acme::Mitey::Cards::Card::Numeric",
274             ),
275             );
276             Moose::Util::TypeConstraints::find_or_create_isa_type_constraint( "Acme::Mitey::Cards::Card::Numeric" );
277             }
278              
279             require "Acme/Mitey/Cards/Deck.pm";
280              
281             {
282             my $PACKAGE = $META_CLASS->initialize( "Acme::Mitey::Cards::Deck", package => "Acme::Mitey::Cards::Deck" );
283             my %ATTR;
284             $ATTR{"reverse"} = Moose::Meta::Attribute->new( "reverse",
285             __hack_no_process_options => true,
286             associated_class => $PACKAGE,
287             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Deck.pm", line => "17", package => "Acme::Mitey::Cards::Deck", toolkit => "Mite", type => "class" },
288             is => "ro",
289             weak_ref => false,
290             init_arg => "reverse",
291             required => false,
292             type_constraint => do { require Types::Common::String; Types::Common::String::NonEmptyStr() },
293             reader => "reverse",
294             default => "plain",
295             lazy => false,
296             );
297             {
298             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
299             accessor_type => 'reader',
300             attribute => $ATTR{"reverse"},
301             name => "reverse",
302             body => \&Acme::Mitey::Cards::Deck::reverse,
303             package_name => "Acme::Mitey::Cards::Deck",
304             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Deck::reverse", file => "lib/Acme/Mitey/Cards/Deck.pm", line => "17", package => "Acme::Mitey::Cards::Deck", toolkit => "Mite", type => "class" },
305             );
306             $ATTR{"reverse"}->associate_method( $ACCESSOR );
307             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
308             }
309             do {
310 1     1   7 no warnings 'redefine';
  1         3  
  1         193  
311             local *Moose::Meta::Attribute::install_accessors = sub {};
312             $PACKAGE->add_attribute( $ATTR{"reverse"} );
313             };
314             $ATTR{"original_cards"} = Moose::Meta::Attribute->new( "original_cards",
315             __hack_no_process_options => true,
316             associated_class => $PACKAGE,
317             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Deck.pm", line => "23", package => "Acme::Mitey::Cards::Deck", toolkit => "Mite", type => "class" },
318             is => "ro",
319             weak_ref => false,
320             init_arg => "original_cards",
321             required => false,
322             type_constraint => do { require Acme::Mitey::Cards::Types::Source; Acme::Mitey::Cards::Types::Source::CardArray() },
323             reader => "original_cards",
324             builder => "_build_original_cards",
325             lazy => true,
326             );
327             {
328             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
329             accessor_type => 'reader',
330             attribute => $ATTR{"original_cards"},
331             name => "original_cards",
332             body => \&Acme::Mitey::Cards::Deck::original_cards,
333             package_name => "Acme::Mitey::Cards::Deck",
334             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Deck::original_cards", file => "lib/Acme/Mitey/Cards/Deck.pm", line => "23", package => "Acme::Mitey::Cards::Deck", toolkit => "Mite", type => "class" },
335             );
336             $ATTR{"original_cards"}->associate_method( $ACCESSOR );
337             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
338             }
339             do {
340 1     1   7 no warnings 'redefine';
  1         3  
  1         270  
341             local *Moose::Meta::Attribute::install_accessors = sub {};
342             $PACKAGE->add_attribute( $ATTR{"original_cards"} );
343             };
344             $PACKAGE->add_method(
345             "meta" => Moose::Meta::Method::Meta->_new(
346             name => "meta",
347             body => \&Acme::Mitey::Cards::Deck::meta,
348             package_name => "Acme::Mitey::Cards::Deck",
349             ),
350             );
351             Moose::Util::TypeConstraints::find_or_create_isa_type_constraint( "Acme::Mitey::Cards::Deck" );
352             }
353              
354             require "Acme/Mitey/Cards/Hand.pm";
355              
356             {
357             my $PACKAGE = $META_CLASS->initialize( "Acme::Mitey::Cards::Hand", package => "Acme::Mitey::Cards::Hand" );
358             my %ATTR;
359             $ATTR{"owner"} = Moose::Meta::Attribute->new( "owner",
360             __hack_no_process_options => true,
361             associated_class => $PACKAGE,
362             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Hand.pm", line => "11", package => "Acme::Mitey::Cards::Hand", toolkit => "Mite", type => "class" },
363             is => "rw",
364             weak_ref => false,
365             init_arg => "owner",
366             required => false,
367             type_constraint => do { require Types::Standard; Types::Standard::Str() | Types::Standard::Object() },
368             accessor => "owner",
369             );
370             {
371             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
372             accessor_type => 'accessor',
373             attribute => $ATTR{"owner"},
374             name => "owner",
375             body => \&Acme::Mitey::Cards::Hand::owner,
376             package_name => "Acme::Mitey::Cards::Hand",
377             definition_context => { context => "has declaration", description => "accessor Acme::Mitey::Cards::Hand::owner", file => "lib/Acme/Mitey/Cards/Hand.pm", line => "11", package => "Acme::Mitey::Cards::Hand", toolkit => "Mite", type => "class" },
378             );
379             $ATTR{"owner"}->associate_method( $ACCESSOR );
380             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
381             }
382             do {
383 1     1   8 no warnings 'redefine';
  1         1  
  1         288  
384             local *Moose::Meta::Attribute::install_accessors = sub {};
385             $PACKAGE->add_attribute( $ATTR{"owner"} );
386             };
387             $PACKAGE->add_method(
388             "meta" => Moose::Meta::Method::Meta->_new(
389             name => "meta",
390             body => \&Acme::Mitey::Cards::Hand::meta,
391             package_name => "Acme::Mitey::Cards::Hand",
392             ),
393             );
394             Moose::Util::TypeConstraints::find_or_create_isa_type_constraint( "Acme::Mitey::Cards::Hand" );
395             }
396              
397             require "Acme/Mitey/Cards/Set.pm";
398              
399             {
400             my $PACKAGE = $META_CLASS->initialize( "Acme::Mitey::Cards::Set", package => "Acme::Mitey::Cards::Set" );
401             my %ATTR;
402             $ATTR{"cards"} = Moose::Meta::Attribute->new( "cards",
403             __hack_no_process_options => true,
404             associated_class => $PACKAGE,
405             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Set.pm", line => "11", package => "Acme::Mitey::Cards::Set", toolkit => "Mite", type => "class" },
406             is => "ro",
407             weak_ref => false,
408             init_arg => "cards",
409             required => false,
410             type_constraint => do { require Acme::Mitey::Cards::Types::Source; Acme::Mitey::Cards::Types::Source::CardArray() },
411             reader => "cards",
412             builder => "_build_cards",
413             lazy => true,
414             );
415             {
416             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
417             accessor_type => 'reader',
418             attribute => $ATTR{"cards"},
419             name => "cards",
420             body => \&Acme::Mitey::Cards::Set::cards,
421             package_name => "Acme::Mitey::Cards::Set",
422             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Set::cards", file => "lib/Acme/Mitey/Cards/Set.pm", line => "11", package => "Acme::Mitey::Cards::Set", toolkit => "Mite", type => "class" },
423             );
424             $ATTR{"cards"}->associate_method( $ACCESSOR );
425             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
426             }
427             do {
428 1     1   8 no warnings 'redefine';
  1         2  
  1         256  
429             local *Moose::Meta::Attribute::install_accessors = sub {};
430             $PACKAGE->add_attribute( $ATTR{"cards"} );
431             };
432             $PACKAGE->add_method(
433             "meta" => Moose::Meta::Method::Meta->_new(
434             name => "meta",
435             body => \&Acme::Mitey::Cards::Set::meta,
436             package_name => "Acme::Mitey::Cards::Set",
437             ),
438             );
439             Moose::Util::TypeConstraints::find_or_create_isa_type_constraint( "Acme::Mitey::Cards::Set" );
440             }
441              
442             require "Acme/Mitey/Cards/Suit.pm";
443              
444             {
445             my $PACKAGE = $META_CLASS->initialize( "Acme::Mitey::Cards::Suit", package => "Acme::Mitey::Cards::Suit" );
446             my %ATTR;
447             $ATTR{"name"} = Moose::Meta::Attribute->new( "name",
448             __hack_no_process_options => true,
449             associated_class => $PACKAGE,
450             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Suit.pm", line => "9", package => "Acme::Mitey::Cards::Suit", toolkit => "Mite", type => "class" },
451             is => "ro",
452             weak_ref => false,
453             init_arg => "name",
454             required => true,
455             type_constraint => do { require Types::Common::String; Types::Common::String::NonEmptyStr() },
456             reader => "name",
457             );
458             {
459             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
460             accessor_type => 'reader',
461             attribute => $ATTR{"name"},
462             name => "name",
463             body => \&Acme::Mitey::Cards::Suit::name,
464             package_name => "Acme::Mitey::Cards::Suit",
465             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Suit::name", file => "lib/Acme/Mitey/Cards/Suit.pm", line => "9", package => "Acme::Mitey::Cards::Suit", toolkit => "Mite", type => "class" },
466             );
467             $ATTR{"name"}->associate_method( $ACCESSOR );
468             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
469             }
470             do {
471 1     1   8 no warnings 'redefine';
  1         2  
  1         184  
472             local *Moose::Meta::Attribute::install_accessors = sub {};
473             $PACKAGE->add_attribute( $ATTR{"name"} );
474             };
475             $ATTR{"abbreviation"} = Moose::Meta::Attribute->new( "abbreviation",
476             __hack_no_process_options => true,
477             associated_class => $PACKAGE,
478             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Suit.pm", line => "19", package => "Acme::Mitey::Cards::Suit", toolkit => "Mite", type => "class" },
479             is => "ro",
480             weak_ref => false,
481             init_arg => "abbreviation",
482             required => false,
483             type_constraint => do { require Types::Standard; Types::Standard::Str() },
484             reader => "abbreviation",
485             builder => "_build_abbreviation",
486             lazy => true,
487             );
488             {
489             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
490             accessor_type => 'reader',
491             attribute => $ATTR{"abbreviation"},
492             name => "abbreviation",
493             body => \&Acme::Mitey::Cards::Suit::abbreviation,
494             package_name => "Acme::Mitey::Cards::Suit",
495             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Suit::abbreviation", file => "lib/Acme/Mitey/Cards/Suit.pm", line => "19", package => "Acme::Mitey::Cards::Suit", toolkit => "Mite", type => "class" },
496             );
497             $ATTR{"abbreviation"}->associate_method( $ACCESSOR );
498             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
499             }
500             do {
501 1     1   8 no warnings 'redefine';
  1         4  
  1         201  
502             local *Moose::Meta::Attribute::install_accessors = sub {};
503             $PACKAGE->add_attribute( $ATTR{"abbreviation"} );
504             };
505             $ATTR{"colour"} = Moose::Meta::Attribute->new( "colour",
506             __hack_no_process_options => true,
507             associated_class => $PACKAGE,
508             definition_context => { context => "has declaration", file => "lib/Acme/Mitey/Cards/Suit.pm", line => "21", package => "Acme::Mitey::Cards::Suit", toolkit => "Mite", type => "class" },
509             is => "ro",
510             weak_ref => false,
511             init_arg => "colour",
512             required => true,
513             type_constraint => do { require Types::Standard; Types::Standard::Str() },
514             reader => "colour",
515             );
516             {
517             my $ACCESSOR = Moose::Meta::Method::Accessor->new(
518             accessor_type => 'reader',
519             attribute => $ATTR{"colour"},
520             name => "colour",
521             body => \&Acme::Mitey::Cards::Suit::colour,
522             package_name => "Acme::Mitey::Cards::Suit",
523             definition_context => { context => "has declaration", description => "reader Acme::Mitey::Cards::Suit::colour", file => "lib/Acme/Mitey/Cards/Suit.pm", line => "21", package => "Acme::Mitey::Cards::Suit", toolkit => "Mite", type => "class" },
524             );
525             $ATTR{"colour"}->associate_method( $ACCESSOR );
526             $PACKAGE->add_method( $ACCESSOR->name, $ACCESSOR );
527             }
528             do {
529 1     1   27 no warnings 'redefine';
  1         2  
  1         328  
530             local *Moose::Meta::Attribute::install_accessors = sub {};
531             $PACKAGE->add_attribute( $ATTR{"colour"} );
532             };
533             $PACKAGE->add_method(
534             "meta" => Moose::Meta::Method::Meta->_new(
535             name => "meta",
536             body => \&Acme::Mitey::Cards::Suit::meta,
537             package_name => "Acme::Mitey::Cards::Suit",
538             ),
539             );
540             Moose::Util::TypeConstraints::find_or_create_isa_type_constraint( "Acme::Mitey::Cards::Suit" );
541             }
542              
543             Moose::Util::find_meta( "Acme::Mitey::Cards::Card::Face" )->superclasses( "Acme::Mitey::Cards::Card" );
544             Moose::Util::find_meta( "Acme::Mitey::Cards::Card::Joker" )->superclasses( "Acme::Mitey::Cards::Card" );
545             Moose::Util::find_meta( "Acme::Mitey::Cards::Card::Numeric" )->superclasses( "Acme::Mitey::Cards::Card" );
546             Moose::Util::find_meta( "Acme::Mitey::Cards::Deck" )->superclasses( "Acme::Mitey::Cards::Set" );
547             Moose::Util::find_meta( "Acme::Mitey::Cards::Hand" )->superclasses( "Acme::Mitey::Cards::Set" );
548              
549             true;
550