Code Duplication    Length = 10-10 lines in 4 locations

src/Auditable.php 4 locations

@@ 275-284 (lines=10) @@
272
     *
273
     * @return mixed|null
274
     */
275
    protected function resolveUser()
276
    {
277
        $userResolver = Config::get('audit.resolver.user');
278
279
        if (is_subclass_of($userResolver, UserResolver::class)) {
280
            return call_user_func([$userResolver, 'resolve']);
281
        }
282
283
        throw new AuditingException('Invalid UserResolver implementation');
284
    }
285
286
    /**
287
     * Resolve the URL.
@@ 293-302 (lines=10) @@
290
     *
291
     * @return string
292
     */
293
    protected function resolveUrl(): string
294
    {
295
        $urlResolver = Config::get('audit.resolver.url');
296
297
        if (is_subclass_of($urlResolver, UrlResolver::class)) {
298
            return call_user_func([$urlResolver, 'resolve']);
299
        }
300
301
        throw new AuditingException('Invalid UrlResolver implementation');
302
    }
303
304
    /**
305
     * Resolve the IP Address.
@@ 311-320 (lines=10) @@
308
     *
309
     * @return string
310
     */
311
    protected function resolveIpAddress(): string
312
    {
313
        $ipAddressResolver = Config::get('audit.resolver.ip_address');
314
315
        if (is_subclass_of($ipAddressResolver, IpAddressResolver::class)) {
316
            return call_user_func([$ipAddressResolver, 'resolve']);
317
        }
318
319
        throw new AuditingException('Invalid IpAddressResolver implementation');
320
    }
321
322
    /**
323
     * Resolve the User Agent.
@@ 329-338 (lines=10) @@
326
     *
327
     * @return string|null
328
     */
329
    protected function resolveUserAgent()
330
    {
331
        $userAgentResolver = Config::get('audit.resolver.user_agent');
332
333
        if (is_subclass_of($userAgentResolver, UserAgentResolver::class)) {
334
            return call_user_func([$userAgentResolver, 'resolve']);
335
        }
336
337
        throw new AuditingException('Invalid UserAgentResolver implementation');
338
    }
339
340
    /**
341
     * Determine if an attribute is eligible for auditing.