]> git.donarmstrong.com Git - debbugs.git/blob - Debbugs/OOTypes.pm
Merge branch 'mouseify'
[debbugs.git] / Debbugs / OOTypes.pm
1 # This module is part of debbugs, and
2 # is released under the terms of the GPL version 2, or any later
3 # version (at your option). See the file README and COPYING for more
4 # information.
5 # Copyright 2018 by Don Armstrong <don@donarmstrong.com>.
6
7 package Debbugs::OOTypes;
8
9 =head1 NAME
10
11 Debbugs::OOTypes -- OO Types for Debbugs
12
13 =head1 SYNOPSIS
14
15
16 =head1 DESCRIPTION
17
18
19
20 =cut
21
22 use Mouse::Util::TypeConstraints;
23 use strictures 2;
24 use namespace::autoclean;
25
26 # Bug Subtype
27 subtype 'Bug' =>
28     as 'Debbugs::Bug';
29
30 coerce 'Bug' =>
31     from 'Int' =>
32     via {Debbugs::Bug->new($_)};
33
34 # Package Subtype
35 subtype 'Package' =>
36     as 'Debbugs::Package';
37
38 coerce 'Package' =>
39     from 'Str' =>
40     via {Debbugs::Package->new(package => $_)};
41
42
43 # Version Subtype
44 subtype 'Version' =>
45     as 'Debbugs::Version';
46
47 coerce 'Version' =>
48     from 'Str' =>
49     via {Debbugs::Version->new(string=>$_)};
50
51 no Mouse::Util::TypeConstraints;
52 1;
53
54 __END__
55 # Local Variables:
56 # indent-tabs-mode: nil
57 # cperl-indent-level: 4
58 # End: