Alimentalos/Backend

View on GitHub
app/Repositories/DocumentationRepository.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php


namespace App\Repositories;


class DocumentationRepository
{
    /**
     * @param $name
     * @param $page
     * @return mixed|string
     */
    public static function next($name, $page)
    {
        $arrayed = array_values(config('documentation')[$name]);
        $currentPos = array_keys(
            array_filter($arrayed, fn($element) => $element === config('documentation')[$name][$page])
        )[0];

        if (array_key_exists(($currentPos + 1), $arrayed)) {
            return array_keys(config('documentation')[$name])[($currentPos + 1)];
        }
        return 'Nothing';
    }

    /**
     * @param $name
     * @param $page
     * @return mixed|string
     */
    public static function recommend($name, $page)
    {
        $arrayed = array_values(config('documentation'));
        $currentPos = array_keys(
            array_filter($arrayed, fn($element) => $element === config('documentation')[$name])
        )[0];

        if (array_key_exists(($currentPos + 1), $arrayed)) {
            return array_keys(config('documentation'))[($currentPos + 1)];
        }
        return 'Nothing';
    }

    /**
     * @param $name
     * @param $page
     * @return mixed|string
     */
    public static function before($name, $page)
    {
        $arrayed = array_values(config('documentation')[$name]);
        $currentPos = array_keys(
            array_filter($arrayed, fn($element) => $element === config('documentation')[$name][$page])
        )[0];

        if (array_key_exists(($currentPos - 1), $arrayed)) {
            return array_keys(config('documentation')[$name])[($currentPos - 1)];
        }
        return 'Nothing';
    }
}