Passed
Push — master ( 50a671...528684 )
by y
02:25
created

FieldSettingsTrait::getCustomFields()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 4
rs 10
c 1
b 0
f 0
1
<?php
2
3
namespace Helix\Asana\CustomField;
4
5
use Helix\Asana\CustomField;
6
7
/**
8
 * Adds custom field settings to an entity.
9
 *
10
 * @method FieldSetting[] getCustomFieldSettings    ()
11
 * @method FieldSetting[] selectCustomFieldSettings (callable $filter) `fn( FieldSetting $setting ): bool`
12
 */
13
trait FieldSettingsTrait {
14
15
    /**
16
     * @return CustomField[]
17
     */
18
    public function getCustomFields () {
19
        return array_map(function(FieldSetting $setting) {
20
            return $setting->getCustomField();
21
        }, $this->getCustomFieldSettings());
22
    }
23
24
    /**
25
     * @param callable $filter `fn( CustomField $field ): bool`
26
     * @return CustomField[]
27
     */
28
    public function selectCustomFields (callable $filter) {
29
        return $this->{'_select'}($this->getCustomFields(), $filter);
30
    }
31
}