Completed
Push — master ( 392bd3...60208d )
by ARCANEDEV
04:52
created

PostStatus::keys()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 7
ccs 0
cts 7
cp 0
rs 9.4285
cc 1
eloc 4
nc 1
nop 0
crap 2
1
<?php namespace Arcanesoft\Blog\Entities;
2
3
/**
4
 * Class     PostStatus
5
 *
6
 * @package  Arcanesoft\Blog\Entities
7
 * @author   ARCANEDEV <[email protected]>
8
 */
9
class PostStatus
10
{
11
    /* ------------------------------------------------------------------------------------------------
12
     |  Constants
13
     | ------------------------------------------------------------------------------------------------
14
     */
15
    const STATUS_DRAFT     = 'draft';
16
    const STATUS_PUBLISHED = 'published';
17
18
    /* ------------------------------------------------------------------------------------------------
19
     |  Main Functions
20
     | ------------------------------------------------------------------------------------------------
21
     */
22
    /**
23
     * Get all posts status keys.
24
     *
25
     * @return array
26
     */
27
    public static function keys()
28
    {
29
        return [
30
            self::STATUS_DRAFT,
31
            self::STATUS_PUBLISHED,
32
        ];
33
    }
34
35
    /**
36
     * Get all posts status
37
     *
38
     * @return array
39
     */
40
    public static function all()
41
    {
42
        return array_map(function ($status) {
43
            return trans("blog::posts.statuses.$status");
44
        }, array_combine(self::keys(), self::keys()));
45
    }
46
47
    /**
48
     * Get a post status.
49
     *
50
     * @param  string  $key
51
     *
52
     * @return null|string
53
     */
54
    public static function get($key)
55
    {
56
        return array_get(self::all(), $key);
57
    }
58
}
59