File Coverage

blib/lib/OpenSearch/Parameters/Cluster/UpdateSettings.pm
Criterion Covered Total %
statement 15 16 93.7
branch n/a
condition n/a
subroutine 5 6 83.3
pod 0 1 0.0
total 20 23 86.9


line stmt bran cond sub pod time code
1             package OpenSearch::Parameters::Cluster::UpdateSettings;
2 4     4   2749 use strict;
  4         11  
  4         204  
3 4     4   57 use warnings;
  4         10  
  4         242  
4 4     4   29 use feature qw(state);
  4         11  
  4         479  
5 4     4   27 use Types::Standard qw(Str HashRef Bool);
  4         9  
  4         32  
6 4     4   8393 use Moo::Role;
  4         11  
  4         37  
7              
8             with 'OpenSearch::Parameters';
9              
10             has 'flat_settings' => (
11             is => 'rw',
12             isa => Bool,
13             );
14              
15             has 'cluster_manager_timeout' => (
16             is => 'rw',
17             isa => Str,
18             );
19              
20             has 'timeout' => (
21             is => 'rw',
22             isa => Str,
23             );
24              
25             has 'persistent' => (
26             is => 'rw',
27             isa => HashRef,
28             required => 1,
29             );
30              
31             has 'transient' => (
32             is => 'rw',
33             isa => HashRef,
34             required => 1,
35             );
36              
37             around [qw/flat_settings cluster_manager_timeout timeout persistent transient/] => sub {
38             my $orig = shift;
39             my $self = shift;
40              
41             if (@_) {
42             $self->$orig(@_);
43             return ($self);
44             }
45             return ( $self->$orig );
46             };
47              
48             sub api_spec {
49 0     0 0   state $s = +{
50             flat_settings => {
51             encode_func => 'encode_bool',
52             type => 'url',
53             },
54             cluster_manager_timeout => {
55             encode_func => 'as_is',
56             type => 'url',
57             },
58             timeout => {
59             encode_func => 'as_is',
60             type => 'url',
61             },
62             persistent => {
63             encode_func => 'as_is',
64             type => 'body',
65             forced_body => 0
66             },
67             transient => {
68             encode_func => 'as_is',
69             type => 'body',
70             forced_body => 0
71             }
72             };
73             }
74              
75             1;