Completed
Push — master ( f77348...ad6f80 )
by Sergey
03:41
created

FollowTrait::follow()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace seregazhuk\PinterestBot\Helpers\Providers\Traits;
4
5
trait FollowTrait
6
{
7
    use ProviderTrait;
8
9
    /**
10
     * Follow user by user_id
11
     *
12
     * @param $entityId
13
     * @return bool
14
     */
15
    public function follow($entityId)
16
    {
17
        return $this->followCall($entityId, $this->getFollowUrl());
18
    }
19
20
    /**
21
     * UnFollow user by user_id
22
     *
23
     * @param $entityId
24
     * @return bool
25
     */
26
    public function unFollow($entityId)
27
    {
28
        return $this->followCall($entityId, $this->getUnfFollowUrl());
29
    }
30
31
    /**
32
     * Make api call for follow/unfollow a entity (user/board)
33
     * @param int    $entityId
34
     * @param string $resourceUrl
35
     * @return bool
36
     */
37
    protected function followCall($entityId, $resourceUrl)
38
    {
39
        $response = $this->getRequest()->followMethodCall($entityId, $this->getEntityIdName(), $resourceUrl);
40
41
        return $this->getResponse()->checkErrorInResponse($response);
42
    }
43
44
    abstract protected function getEntityIdName();
45
46
    abstract protected function getFollowUrl();
47
48
    abstract protected function getUnfFollowUrl();
49
}