File Coverage

lib/Smartcat/Client/Object/MyTeamSearchRequestModel.pm
Criterion Covered Total %
statement 37 66 56.0
branch 0 10 0.0
condition n/a
subroutine 11 15 73.3
pod 1 4 25.0
total 49 95 51.5


line stmt bran cond sub pod time code
1              
2             =begin comment
3              
4             Smartcat Integration API
5              
6             No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
7              
8             OpenAPI spec version: v1
9              
10             Generated by: https://github.com/swagger-api/swagger-codegen.git
11              
12             =end comment
13              
14             =cut
15              
16             #
17             # NOTE: This class is auto generated by the swagger code generator program.
18             # Do not edit the class manually.
19             # Ref: https://github.com/swagger-api/swagger-codegen
20             #
21             package Smartcat::Client::Object::MyTeamSearchRequestModel;
22              
23             require 5.6.0;
24 1     1   688 use strict;
  1         1  
  1         26  
25 1     1   5 use warnings;
  1         2  
  1         22  
26 1     1   492 use utf8;
  1         12  
  1         4  
27 1     1   538 use JSON qw(decode_json);
  1         6856  
  1         7  
28 1     1   626 use Data::Dumper;
  1         5259  
  1         52  
29 1     1   438 use Module::Runtime qw(use_module);
  1         1459  
  1         5  
30 1     1   503 use Log::Any qw($log);
  1         7011  
  1         3  
31 1     1   2288 use Date::Parse;
  1         6567  
  1         132  
32 1     1   760 use DateTime;
  1         421765  
  1         52  
33              
34 1     1   8 use base ( "Class::Accessor", "Class::Data::Inheritable" );
  1         2  
  1         628  
35              
36             #
37             #
38             #
39             # NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually.
40             # REF: https://github.com/swagger-api/swagger-codegen
41             #
42              
43             =begin comment
44              
45             Smartcat Integration API
46              
47             No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
48              
49             OpenAPI spec version: v1
50              
51             Generated by: https://github.com/swagger-api/swagger-codegen.git
52              
53             =end comment
54              
55             =cut
56              
57             #
58             # NOTE: This class is auto generated by the swagger code generator program.
59             # Do not edit the class manually.
60             # Ref: https://github.com/swagger-api/swagger-codegen
61             #
62             __PACKAGE__->mk_classdata( 'attribute_map' => {} );
63             __PACKAGE__->mk_classdata( 'swagger_types' => {} );
64             __PACKAGE__->mk_classdata( 'method_documentation' => {} );
65             __PACKAGE__->mk_classdata( 'class_documentation' => {} );
66              
67             # new object
68             sub new {
69 1     1 1 599 my ( $class, %args ) = @_;
70              
71 1         2 my $self = bless {}, $class;
72              
73 1         2 foreach my $attribute ( keys %{ $class->attribute_map } ) {
  1         2  
74 14         131 my $args_key = $class->attribute_map->{$attribute};
75 14         89 $self->$attribute( $args{$args_key} );
76             }
77              
78 1         11 return $self;
79             }
80              
81             # return perl hash
82             sub to_hash {
83 0     0 0   return decode_json( JSON->new->convert_blessed->encode(shift) );
84             }
85              
86             # used by JSON for serialization
87             sub TO_JSON {
88 0     0 0   my $self = shift;
89 0           my $_data = {};
90 0           foreach my $_key ( keys %{ $self->attribute_map } ) {
  0            
91 0 0         if ( defined $self->{$_key} ) {
92 0           $_data->{ $self->attribute_map->{$_key} } = $self->{$_key};
93             }
94             }
95 0           return $_data;
96             }
97              
98             # from Perl hashref
99             sub from_hash {
100 0     0 0   my ( $self, $hash ) = @_;
101              
102             # loop through attributes and use swagger_types to deserialize the data
103 0           while ( my ( $_key, $_type ) = each %{ $self->swagger_types } ) {
  0            
104 0           my $_json_attribute = $self->attribute_map->{$_key};
105 0 0         if ( $_type =~ /^array\[/i ) { # array
    0          
106 0           my $_subclass = substr( $_type, 6, -1 );
107 0           my @_array = ();
108 0           foreach my $_element ( @{ $hash->{$_json_attribute} } ) {
  0            
109 0           push @_array, $self->_deserialize( $_subclass, $_element );
110             }
111 0           $self->{$_key} = \@_array;
112             }
113             elsif ( exists $hash->{$_json_attribute} )
114             { #hash(model), primitive, datetime
115             $self->{$_key} =
116 0           $self->_deserialize( $_type, $hash->{$_json_attribute} );
117             }
118             else {
119 0           $log->debugf( "Warning: %s (%s) does not exist in input hash\n",
120             $_key, $_json_attribute );
121             }
122             }
123              
124 0           return $self;
125             }
126              
127             # deserialize non-array data
128             sub _deserialize {
129 0     0     my ( $self, $type, $data ) = @_;
130 0           $log->debugf( "deserializing %s with %s", Dumper($data), $type );
131              
132 0 0         if ( $type eq 'DateTime' ) {
    0          
133 0           return DateTime->from_epoch( epoch => str2time($data) );
134             }
135             elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
136 0           return $data;
137             }
138             else { # hash(model)
139 0           my $_instance = eval "Smartcat::Client::Object::$type->new()";
140 0           return $_instance->from_hash($data);
141             }
142             }
143              
144             __PACKAGE__->class_documentation(
145             {
146             description => '',
147             class => 'MyTeamSearchRequestModel',
148             required => [], # TODO
149             }
150             );
151              
152             __PACKAGE__->method_documentation(
153             {
154             'skip' => {
155             datatype => 'int',
156             base_name => 'skip',
157             description => '',
158             format => '',
159             read_only => '',
160             },
161             'limit' => {
162             datatype => 'int',
163             base_name => 'limit',
164             description => '',
165             format => '',
166             read_only => '',
167             },
168             'service_type' => {
169             datatype => 'string',
170             base_name => 'serviceType',
171             description => '',
172             format => '',
173             read_only => '',
174             },
175             'source_language' => {
176             datatype => 'string',
177             base_name => 'sourceLanguage',
178             description => '',
179             format => '',
180             read_only => '',
181             },
182             'target_language' => {
183             datatype => 'string',
184             base_name => 'targetLanguage',
185             description => '',
186             format => '',
187             read_only => '',
188             },
189             'only_native_speakers' => {
190             datatype => 'boolean',
191             base_name => 'onlyNativeSpeakers',
192             description => '',
193             format => '',
194             read_only => '',
195             },
196             'all_dialects' => {
197             datatype => 'boolean',
198             base_name => 'allDialects',
199             description => '',
200             format => '',
201             read_only => '',
202             },
203             'min_rate' => {
204             datatype => 'double',
205             base_name => 'minRate',
206             description => '',
207             format => '',
208             read_only => '',
209             },
210             'max_rate' => {
211             datatype => 'double',
212             base_name => 'maxRate',
213             description => '',
214             format => '',
215             read_only => '',
216             },
217             'rate_range_currency' => {
218             datatype => 'string',
219             base_name => 'rateRangeCurrency',
220             description => '',
221             format => '',
222             read_only => '',
223             },
224             'specializations' => {
225             datatype => 'ARRAY[string]',
226             base_name => 'specializations',
227             description => '',
228             format => '',
229             read_only => '',
230             },
231             'specialization_knowledge_level' => {
232             datatype => 'ARRAY[string]',
233             base_name => 'specializationKnowledgeLevel',
234             description => '',
235             format => '',
236             read_only => '',
237             },
238             'search_string' => {
239             datatype => 'string',
240             base_name => 'searchString',
241             description => '',
242             format => '',
243             read_only => '',
244             },
245             'daytime' => {
246             datatype => 'boolean',
247             base_name => 'daytime',
248             description => '',
249             format => '',
250             read_only => '',
251             },
252             }
253             );
254              
255             __PACKAGE__->swagger_types(
256             {
257             'skip' => 'int',
258             'limit' => 'int',
259             'service_type' => 'string',
260             'source_language' => 'string',
261             'target_language' => 'string',
262             'only_native_speakers' => 'boolean',
263             'all_dialects' => 'boolean',
264             'min_rate' => 'double',
265             'max_rate' => 'double',
266             'rate_range_currency' => 'string',
267             'specializations' => 'ARRAY[string]',
268             'specialization_knowledge_level' => 'ARRAY[string]',
269             'search_string' => 'string',
270             'daytime' => 'boolean'
271             }
272             );
273              
274             __PACKAGE__->attribute_map(
275             {
276             'skip' => 'skip',
277             'limit' => 'limit',
278             'service_type' => 'serviceType',
279             'source_language' => 'sourceLanguage',
280             'target_language' => 'targetLanguage',
281             'only_native_speakers' => 'onlyNativeSpeakers',
282             'all_dialects' => 'allDialects',
283             'min_rate' => 'minRate',
284             'max_rate' => 'maxRate',
285             'rate_range_currency' => 'rateRangeCurrency',
286             'specializations' => 'specializations',
287             'specialization_knowledge_level' => 'specializationKnowledgeLevel',
288             'search_string' => 'searchString',
289             'daytime' => 'daytime'
290             }
291             );
292              
293             __PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
294              
295             1;