File Coverage

blib/lib/Net/StackExchange2/V2/Users.pm
Criterion Covered Total %
statement 15 51 29.4
branch n/a
condition n/a
subroutine 5 6 83.3
pod 0 1 0.0
total 20 58 34.4


line stmt bran cond sub pod time code
1             package Net::StackExchange2::V2::Users;
2              
3 1     1   31 use 5.006;
  1         4  
  1         109  
4 1     1   7 use strict;
  1         2  
  1         43  
5 1     1   6 use warnings FATAL => 'all';
  1         2  
  1         46  
6 1     1   8 use Sub::Name qw(subname);
  1         3  
  1         162  
7 1     1   6 use Net::StackExchange2::V2::Common qw(query no_params one_param two_params);
  1         2  
  1         1543  
8              
9             our $VERSION = "0.05";
10              
11             sub new {
12 0     0 0   my ($class, $params) = @_;
13 0           my $self = $params;
14 0           bless $self, $class;
15              
16 0           *users_all = subname(
17             "Net::StackExchange2::V2::Users::users_all",
18             no_params("users"),
19             );
20 0           *users = subname(
21             "Net::StackExchange2::V2::Users::users",
22             one_param("users"),
23             );
24 0           *users_badges = subname(
25             "Net::StackExchange2::V2::Users::users_badges",
26             one_param("users", "badges"),
27             );
28 0           *users_comments = subname(
29             "Net::StackExchange2::V2::Users::users_comments",
30             one_param("users", "comments"),
31             );
32 0           *users_comments_toid = subname(
33             "Net::StackExchange2::V2::Users::users_comments_toid",
34             two_params("users", "comments"),
35             );
36 0           *users_favorites = subname(
37             "Net::StackExchange2::V2::Users::users_favorites",
38             one_param("users", "favorites"),
39             );
40 0           *users_mentioned = subname(
41             "Net::StackExchange2::V2::Users::users_mentioned",
42             one_param("users", "mentioned"),
43             );
44 0           *users_merges = subname(
45             "Net::StackExchange2::V2::Users::users_merges",
46             one_param("users", "merges", { no_site => 1}),
47             );
48 0           *users_notifications = subname(
49             "Net::StackExchange2::V2::Users::users_notifications",
50             one_param("users", "notifications"),
51             );
52 0           *users_notifications_unread = subname(
53             "Net::StackExchange2::V2::Users::users_notifications_unread",
54             one_param("users", "notifications/unread"),
55             );
56 0           *users_privileges = subname(
57             "Net::StackExchange2::V2::Users::users_privileges",
58             one_param("users", "privileges"),
59             );
60 0           *users_questions = subname(
61             "Net::StackExchange2::V2::Users::users_questions",
62             one_param("users", "questions"),
63             );
64 0           *users_questions_featured = subname(
65             "Net::StackExchange2::V2::Users::users_questions_featured",
66             one_param("users", "questions/featured"),
67             );
68 0           *users_questions_no_answers = subname(
69             "Net::StackExchange2::V2::Users::users_questions_no_answers",
70             one_param("users", "questions/no-answers"),
71             );
72 0           *users_questions_unaccepted = subname(
73             "Net::StackExchange2::V2::Users::users_questions_unaccepted",
74             one_param("users", "questions/unaccepted"),
75             );
76 0           *users_questions_unanswered = subname(
77             "Net::StackExchange2::V2::Users::users_questions_unanswered",
78             one_param("users", "questions/unanswered"),
79             );
80 0           *users_reputation = subname(
81             "Net::StackExchange2::V2::Users::users_reputation",
82             one_param("users", "reputation"),
83             );
84 0           *users_reputation_history = subname(
85             "Net::StackExchange2::V2::Users::users_reputation_history",
86             one_param("users", "reputation-history"),
87             );
88 0           *users_reputation_history_full = subname(
89             "Net::StackExchange2::V2::Users::users_reputation_history_full",
90             one_param("users", "reputation-history/full"),
91             );
92 0           *users_suggested_edits = subname(
93             "Net::StackExchange2::V2::Users::users_suggested_edits",
94             one_param("users", "suggested-edits"),
95             );
96 0           *users_tags = subname(
97             "Net::StackExchange2::V2::Users::users_tags",
98             one_param("users", "tags"),
99             );
100              
101 0           *users_tags_top_answers = subname(
102             "Net::StackExchange2::V2::Users::users_tags_top_answers",
103             #refined quite nicely. two params in this case takes three parts
104             #to the url
105             two_params("users", "tags", "top-answers"),
106             );
107 0           *users_tags_top_questions = subname(
108             "Net::StackExchange2::V2::Users::users_tags_top_answers",
109             two_params("users", "tags","top-questions"),
110             );
111             #-------------------
112 0           *users_timeline = subname(
113             "Net::StackExchange2::V2::Users::users_timeline",
114             one_param("users", "timeline"),
115             );
116 0           *users_top_answers_tags = subname(
117             "Net::StackExchange2::V2::Users::users_top_answers_tags",
118             one_param("users", "top-answer-tags"),
119             );
120 0           *users_top_question_tags = subname(
121             "Net::StackExchange2::V2::Users::users_top_question_tags",
122             one_param("users", "top-question-tags"),
123             );
124 0           *users_write_permissions = subname(
125             "Net::StackExchange2::V2::Users::users_write_permissions",
126             one_param("users", "write-permissions"),
127             );
128 0           *users_moderators = subname(
129             "Net::StackExchange2::V2::Users::users_write_permissions",
130             no_params("users/moderators"),
131             );
132 0           *users_moderators_elected = subname(
133             "Net::StackExchange2::V2::Users::users_moderators_elected",
134             no_params("users/moderators/elected"),
135             );
136 0           *users_associated = subname(
137             "Net::StackExchange2::V2::Users::users_associated",
138             one_param("users","associated", {no_site => 1}),
139             );
140 0           *users_inbox = subname(
141             "Net::StackExchange2::V2::Users::users_inbox",
142             one_param("users", "inbox"),
143             );
144 0           *users_inbox_unread = subname(
145             "Net::StackExchange2::V2::Users::users_inbox_unread",
146             one_param("users", "inbox/unread"),
147             );
148 0           return $self;
149             }
150             1;#end of Net::StackExchange2::V2::Users
151             __END__