File Coverage

blib/lib/WebService/TypePad/Object/User.pm
Criterion Covered Total %
statement 16 67 23.8
branch 1 22 4.5
condition n/a
subroutine 5 15 33.3
pod 11 11 100.0
total 33 115 28.7


line stmt bran cond sub pod time code
1             package WebService::TypePad::Object::User;
2 2     2   1789 use strict;
  2         5  
  2         59  
3 2     2   10 use warnings;
  2         4  
  2         49  
4 2     2   50 use WebService::TypePad::Util::Coerce;
  2         4  
  2         50  
5 2     2   14 use base qw(WebService::TypePad::Object::Entity);
  2         3  
  2         1393  
6              
7             sub display_name {
8 1     1 1 2 my $self = shift;
9 1 50       5 if (@_) {
10 1         6 $self->{data}{displayName} = WebService::TypePad::Util::Coerce::coerce_string_in($_[0]);
11 1         5 return $_[0];
12             }
13             else {
14 0           return $self->{data}{displayName};
15             }
16             }
17              
18             sub location {
19 0     0 1   my $self = shift;
20 0 0         if (@_) {
21 0           $self->{data}{location} = WebService::TypePad::Util::Coerce::coerce_string_in($_[0]);
22 0           return $_[0];
23             }
24             else {
25 0           return $self->{data}{location};
26             }
27             }
28              
29             sub interests {
30 0     0 1   my $self = shift;
31 0 0         if (@_) {
32 0           $self->{data}{interests} = WebService::TypePad::Util::Coerce::coerce_array_in($_[0], \&WebService::TypePad::Util::Coerce::coerce_string_in);
33 0           return $_[0];
34             }
35             else {
36 0           return WebService::TypePad::Util::Coerce::coerce_array_out($self->{data}{interests});
37             }
38             }
39              
40             sub preferred_username {
41 0     0 1   my $self = shift;
42 0 0         if (@_) {
43 0           $self->{data}{preferredUsername} = WebService::TypePad::Util::Coerce::coerce_string_in($_[0]);
44 0           return $_[0];
45             }
46             else {
47 0           return $self->{data}{preferredUsername};
48             }
49             }
50              
51             sub links {
52 0     0 1   my $self = shift;
53 0 0         if (@_) {
54 0           $self->{data}{links} = WebService::TypePad::Util::Coerce::coerce_list_in($_[0], \&WebService::TypePad::Util::Coerce::coerce_LegacyHyperlink_in);
55 0           return $_[0];
56             }
57             else {
58 0           return WebService::TypePad::Util::Coerce::coerce_array_out($self->{data}{links}, \&WebService::TypePad::Util::Coerce::coerce_LegacyHyperlink_out);
59             }
60             }
61              
62             sub avatar_link {
63 0     0 1   my $self = shift;
64 0 0         if (@_) {
65 0           $self->{data}{avatarLink} = WebService::TypePad::Util::Coerce::coerce_ImageLink_in($_[0]);
66 0           return $_[0];
67             }
68             else {
69 0           return WebService::TypePad::Util::Coerce::coerce_ImageLink_out($self->{data}{avatarLink});
70             }
71             }
72              
73             sub profile_page_url {
74 0     0 1   my $self = shift;
75 0 0         if (@_) {
76 0           $self->{data}{profilePageUrl} = WebService::TypePad::Util::Coerce::coerce_string_in($_[0]);
77 0           return $_[0];
78             }
79             else {
80 0           return $self->{data}{profilePageUrl};
81             }
82             }
83              
84             sub object_types {
85 0     0 1   my $self = shift;
86 0 0         if (@_) {
87 0           $self->{data}{objectTypes} = WebService::TypePad::Util::Coerce::coerce_set_in($_[0], \&WebService::TypePad::Util::Coerce::coerce_string_in);
88 0           return $_[0];
89             }
90             else {
91 0           return WebService::TypePad::Util::Coerce::coerce_set_out($self->{data}{objectTypes});
92             }
93             }
94              
95             sub allowed_methods {
96 0     0 1   my $self = shift;
97 0 0         if (@_) {
98 0           $self->{data}{allowedMethods} = WebService::TypePad::Util::Coerce::coerce_set_in($_[0], \&WebService::TypePad::Util::Coerce::coerce_string_in);
99 0           return $_[0];
100             }
101             else {
102 0           return WebService::TypePad::Util::Coerce::coerce_set_out($self->{data}{allowedMethods});
103             }
104             }
105              
106             sub id {
107 0     0 1   my $self = shift;
108 0 0         if (@_) {
109 0           $self->{data}{id} = WebService::TypePad::Util::Coerce::coerce_string_in($_[0]);
110 0           return $_[0];
111             }
112             else {
113 0           return $self->{data}{id};
114             }
115             }
116              
117             sub url_id {
118 0     0 1   my $self = shift;
119 0 0         if (@_) {
120 0           $self->{data}{urlId} = WebService::TypePad::Util::Coerce::coerce_string_in($_[0]);
121 0           return $_[0];
122             }
123             else {
124 0           return $self->{data}{urlId};
125             }
126             }
127              
128             1;
129              
130             =head1 NAME
131              
132             WebService::TypePad::Object::User - Perl representation of TypePad's User object type
133              
134             =head1 SYNOPSIS
135              
136             use WebService::TypePad::Object::User;
137             my $user = WebService::TypePad::Object::User->new();
138              
139             =head1 DESCRIPTION
140              
141             This is a Perl representation of TypePad's User object type.
142             For more information about this type and its parameters, see L.
143              
144             This is a subtype of L.
145              
146             =head1 PROPERTIES
147              
148             Each of these properties has an accessor method which will retrieve the property's value when called with no arguments or set the property's value when called with one argument.
149              
150             =head2 $user->allowed_methods
151              
152             Set of strings containing the HTTP methods that the currently-authenticated client is allowed to apply to this user.
153              
154             Returns a set of C values.
155              
156             =head2 $user->avatar_link
157              
158             Link to this user's avatar (userpic) image.
159              
160             Returns a single L object.
161              
162             =head2 $user->display_name
163              
164             The user's chosen display name.
165              
166             Returns a single C value.
167              
168             =head2 $user->id
169              
170             A URI that serves as a globally-unique id for the object. This can be used to recognise where the same user is returned in response to different requests, and as a mapping key for an application's local data store.
171              
172             Returns a single C value.
173              
174             =head2 $user->interests
175              
176             B A list of interests provided by the user and displayed on the user's profile page. This property will go away in future, since it has moved to the L object type, which can be retrieved from N.
177              
178             Returns an array of C values.
179              
180             =head2 $user->links
181              
182             B The hyperlinks for the user object. The "alternate" hyperlink of type "text/html" points at the user's TypePad profile page. This is deprecated in favor of the individual link properties such as C and C.
183              
184             Returns an array of L objects.
185              
186             =head2 $user->location
187              
188             B The location of the user, as a free-form string provided by the user. This property will go away in future, since it has moved to the L object type, which can be retrieved from N.
189              
190             Returns a single C value.
191              
192             =head2 $user->object_types
193              
194             An array of object type identifier URIs. At the present time, only one object type is returned per asset, but this may be extended in future. Clients should scan this list and ignore any types that are not recognised. This list also includes appropriate type URIs as defined by the ActivityStrea.ms schema specification.
195              
196             Returns a set of C values.
197              
198             =head2 $user->preferred_username
199              
200             The name the user has chosen for use in his TypePad Profile URL. This can be used as the id in the URL to select this user, though it must not be used as a persistent key since it can be changed by the user at any time.
201              
202             Returns a single C value.
203              
204             =head2 $user->profile_page_url
205              
206             URL of the user's profile page.
207              
208             Returns a single C value.
209              
210             =head2 $user->url_id
211              
212             A string containing the canonical identifier that can be used as the "id" for this object in URLs. However, this should not be used as a database key to avoid collisions when an application is switched to a different backend server; use the "id" property instead.
213              
214             Returns a single C value.
215              
216             =head1 SEE ALSO
217              
218             =over 1
219              
220             =item * L
221              
222             =item * L
223              
224             =back