RequestedResources::urlBase()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Scriptotek\Alma\TaskLists;
4
5
use Scriptotek\Alma\Client;
6
use Scriptotek\Alma\Conf\Library;
7
use Scriptotek\Alma\Model\SimplePaginatedList;
8
9
class RequestedResources extends SimplePaginatedList implements \Countable, \Iterator
10
{
11
    protected $client;
12
    protected $library;
13
14
    /**
15
     * RequestedResources constructor.
16
     *
17
     * @param Client  $client
18
     * @param Library $library
19
     * @param string  $circ_desk
20
     * @param array   $params
21
     */
22
    public function __construct(Client $client, Library $library, $circ_desk = 'DEFAULT_CIRC_DESK', $params = [])
23
    {
24
        parent::__construct($client, 'requested_resource');
25
        $this->library = $library;
26
        $params['library'] = $library->code;
27
        $params['circ_desk'] = $circ_desk;
28
        $this->params = $params;
29
    }
30
31
    /**
32
     * Generate the base URL for this resource.
33
     *
34
     * @return string
35
     */
36
    protected function urlBase()
37
    {
38
        return '/task-lists/requested-resources';
39
    }
40
41
    /**
42
     * Convert a data element to a resource object.
43
     *
44
     * @param $data
45
     *
46
     * @return mixed
47
     */
48
    protected function convertToResource($data)
49
    {
50
        $bib = $this->client->bibs->get($data->resource_metadata->mms_id->value);
51
52
        return RequestedResource::make($this->client, $this->library, $this->params['circ_desk'], $bib)
53
            ->init($data);
54
    }
55
}
56