| File: | lib/WWW/Google/Contacts/Type/PostalAddress.pm |
| Coverage: | 100.0% |
| line | stmt | bran | cond | sub | pod | time | code |
|---|---|---|---|---|---|---|---|
| 1 | package WWW::Google::Contacts::Type::PostalAddress; | ||||||
| 2 | |||||||
| 3 | 12 12 12 | 109 40 102 | use Moose; | ||||
| 4 | 12 12 12 | 138 39 109 | use MooseX::Types::Moose qw( Str ); | ||||
| 5 | 12 12 12 | 129 39 98 | use WWW::Google::Contacts::InternalTypes qw( Rel XmlBool ); | ||||
| 6 | 12 12 12 | 125 36 97 | use WWW::Google::Contacts::Meta::Attribute::Trait::XmlField; | ||||
| 7 | |||||||
| 8 | extends 'WWW::Google::Contacts::Type::Base'; | ||||||
| 9 | |||||||
| 10 | with 'WWW::Google::Contacts::Roles::HasTypeAndLabel' => { | ||||||
| 11 | valid_types => [ qw( home work ) ], | ||||||
| 12 | }; | ||||||
| 13 | |||||||
| 14 | has mail_class => ( | ||||||
| 15 | isa => Rel, | ||||||
| 16 | is => 'rw', | ||||||
| 17 | traits => [ 'XmlField' ], | ||||||
| 18 | xml_key => 'mailClass', | ||||||
| 19 | predicate => 'has_mail_class', | ||||||
| 20 | coerce => 1, | ||||||
| 21 | ); | ||||||
| 22 | |||||||
| 23 | has usage => ( | ||||||
| 24 | isa => Rel, | ||||||
| 25 | is => 'rw', | ||||||
| 26 | traits => [ 'XmlField' ], | ||||||
| 27 | xml_key => 'usage', | ||||||
| 28 | predicate => 'has_usage', | ||||||
| 29 | coerce => 1, | ||||||
| 30 | ); | ||||||
| 31 | |||||||
| 32 | has primary => ( | ||||||
| 33 | isa => XmlBool, | ||||||
| 34 | is => 'rw', | ||||||
| 35 | traits => [ 'XmlField' ], | ||||||
| 36 | predicate => 'has_primary', | ||||||
| 37 | xml_key => 'primary', | ||||||
| 38 | to_xml => sub { my $val = shift; return "true" if $val == 1; return "false" }, | ||||||
| 39 | default => sub { 0 }, | ||||||
| 40 | coerce => 1, | ||||||
| 41 | ); | ||||||
| 42 | |||||||
| 43 | has agent => ( | ||||||
| 44 | isa => Str, | ||||||
| 45 | is => 'rw', | ||||||
| 46 | traits => [ 'XmlField' ], | ||||||
| 47 | xml_key => 'gd:agent', | ||||||
| 48 | predicate => 'has_agent', | ||||||
| 49 | is_element => 1, | ||||||
| 50 | ); | ||||||
| 51 | |||||||
| 52 | has house_name => ( | ||||||
| 53 | isa => Str, | ||||||
| 54 | is => 'rw', | ||||||
| 55 | traits => [ 'XmlField' ], | ||||||
| 56 | xml_key => 'gd:housename', | ||||||
| 57 | predicate => 'has_house_name', | ||||||
| 58 | is_element => 1, | ||||||
| 59 | ); | ||||||
| 60 | |||||||
| 61 | has street => ( | ||||||
| 62 | isa => Str, | ||||||
| 63 | is => 'rw', | ||||||
| 64 | traits => [ 'XmlField' ], | ||||||
| 65 | xml_key => 'gd:street', | ||||||
| 66 | predicate => 'has_street', | ||||||
| 67 | is_element => 1, | ||||||
| 68 | ); | ||||||
| 69 | |||||||
| 70 | has pobox => ( | ||||||
| 71 | isa => Str, | ||||||
| 72 | is => 'rw', | ||||||
| 73 | traits => [ 'XmlField' ], | ||||||
| 74 | xml_key => 'gd:pobox', | ||||||
| 75 | predicate => 'has_pobox', | ||||||
| 76 | is_element => 1, | ||||||
| 77 | ); | ||||||
| 78 | |||||||
| 79 | has neighborhood => ( | ||||||
| 80 | isa => Str, | ||||||
| 81 | is => 'rw', | ||||||
| 82 | traits => [ 'XmlField' ], | ||||||
| 83 | xml_key => 'gd:neighborhood', | ||||||
| 84 | predicate => 'has_neighborhood', | ||||||
| 85 | is_element => 1, | ||||||
| 86 | ); | ||||||
| 87 | |||||||
| 88 | has city => ( | ||||||
| 89 | isa => Str, | ||||||
| 90 | is => 'rw', | ||||||
| 91 | traits => [ 'XmlField' ], | ||||||
| 92 | xml_key => 'gd:city', | ||||||
| 93 | predicate => 'has_city', | ||||||
| 94 | is_element => 1, | ||||||
| 95 | ); | ||||||
| 96 | |||||||
| 97 | has subregion => ( | ||||||
| 98 | isa => Str, | ||||||
| 99 | is => 'rw', | ||||||
| 100 | traits => [ 'XmlField' ], | ||||||
| 101 | xml_key => 'gd:subregion', | ||||||
| 102 | predicate => 'has_subregion', | ||||||
| 103 | is_element => 1, | ||||||
| 104 | ); | ||||||
| 105 | |||||||
| 106 | has region => ( | ||||||
| 107 | isa => Str, | ||||||
| 108 | is => 'rw', | ||||||
| 109 | traits => [ 'XmlField' ], | ||||||
| 110 | xml_key => 'gd:region', | ||||||
| 111 | predicate => 'has_region', | ||||||
| 112 | is_element => 1, | ||||||
| 113 | ); | ||||||
| 114 | |||||||
| 115 | has postcode => ( | ||||||
| 116 | isa => Str, | ||||||
| 117 | is => 'rw', | ||||||
| 118 | traits => [ 'XmlField' ], | ||||||
| 119 | xml_key => 'gd:postcode', | ||||||
| 120 | predicate => 'has_postcode', | ||||||
| 121 | is_element => 1, | ||||||
| 122 | ); | ||||||
| 123 | |||||||
| 124 | has country => ( | ||||||
| 125 | isa => Str, | ||||||
| 126 | is => 'rw', | ||||||
| 127 | traits => [ 'XmlField' ], | ||||||
| 128 | xml_key => 'gd:country', | ||||||
| 129 | predicate => 'has_country', | ||||||
| 130 | is_element => 1, | ||||||
| 131 | ); | ||||||
| 132 | |||||||
| 133 | has formatted => ( | ||||||
| 134 | isa => Str, | ||||||
| 135 | is => 'rw', | ||||||
| 136 | traits => [ 'XmlField' ], | ||||||
| 137 | xml_key => 'gd:formattedAddress', | ||||||
| 138 | predicate => 'has_formatted', | ||||||
| 139 | is_element => 1, | ||||||
| 140 | ); | ||||||
| 141 | |||||||
| 142 | 12 12 12 | 117 39 95 | no Moose; | ||||
| 143 | __PACKAGE__->meta->make_immutable; | ||||||
| 144 | 1; | ||||||