File Coverage

blib/lib/WebService/Slack/WebApi/Users/Profile.pm
Criterion Covered Total %
statement 26 26 100.0
branch 1 2 50.0
condition n/a
subroutine 9 9 100.0
pod 0 2 0.0
total 36 39 92.3


line stmt bran cond sub pod time code
1             package WebService::Slack::WebApi::Users::Profile;
2 3     3   22 use strict;
  3         8  
  3         85  
3 3     3   16 use warnings;
  3         7  
  3         68  
4 3     3   13 use utf8;
  3         8  
  3         14  
5 3     3   86 use feature qw/state/;
  3         8  
  3         240  
6              
7 3     3   20 use parent 'WebService::Slack::WebApi::Base';
  3         21  
  3         25  
8              
9 3     3   179 use JSON;
  3         7  
  3         16  
10              
11             use WebService::Slack::WebApi::Generator (
12 3         46     get => {
13                     include_labels => { isa => 'Bool', optional => 1 },
14                     user => { isa => 'Str', optional => 1 },
15                 },
16 3     3   505 );
  3         8  
17              
18             # override
19 2     2 0 11 sub base_name { 'users.profile' }
20              
21             sub set {
22 1     1 0 29     state $rule = Data::Validator->new(
23                     name => { isa => 'Str', optional => 1 },
24                     profile => { isa => 'HashRef', optional => 1 },
25                     user => { isa => 'Str', optional => 1 },
26                     value => { isa => 'Str', optional => 1 },
27                 )->with('Method', 'AllowExtra');
28 1         1770     my ($self, $args, %extra) = $rule->validate(@_);
29              
30 1 50       133     $args->{profile} = encode_json $args->{profile} if exists $args->{profile};
31 1         9     return $self->request('set', { %$args, %extra });
32             }
33              
34             1;
35              
36