Version 5.1 - All the GraphQL #32
@ -34,7 +34,6 @@ class Manga extends Controller {
|
||||
public function __construct(ContainerInterface $container)
|
||||
{
|
||||
parent::__construct($container);
|
||||
$config = $container->get('config');
|
||||
$this->model = new MangaModel($container);
|
||||
$this->base_data = array_merge($this->base_data, [
|
||||
'menu_name' => 'manga_list',
|
||||
|
@ -1,11 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Aviat\AnimeClient\Controller;
|
||||
|
||||
use Aviat\Ion\Di\ContainerInterface;
|
||||
use Aviat\AnimeClient\Controller;
|
||||
|
||||
class Stats extends Controller {
|
||||
|
||||
}
|
||||
// End of Stats.php
|
@ -53,16 +53,6 @@ class MenuGenerator extends UrlGenerator {
|
||||
*/
|
||||
protected function parse_config()
|
||||
{
|
||||
// Note: Children menus have urls based on the
|
||||
// current url path
|
||||
/*
|
||||
parsed = {
|
||||
menu_name: {
|
||||
title: 'full_url_path'
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
$parsed = [];
|
||||
|
||||
foreach ($this->menus as $name => $menu)
|
||||
|
@ -68,11 +68,7 @@ class Model {
|
||||
// Cache the file if it doesn't already exist
|
||||
if ( ! file_exists($cached_path))
|
||||
{
|
||||
/*if (ini_get('allow_url_fopen'))
|
||||
{
|
||||
copy($api_path, $cached_path);
|
||||
}
|
||||
else*/if (function_exists('curl_init'))
|
||||
if (function_exists('curl_init'))
|
||||
{
|
||||
$ch = curl_init($api_path);
|
||||
$fp = fopen($cached_path, 'wb');
|
||||
@ -84,6 +80,10 @@ class Model {
|
||||
curl_close($ch);
|
||||
fclose($fp);
|
||||
}
|
||||
else if (ini_get('allow_url_fopen'))
|
||||
{
|
||||
copy($api_path, $cached_path);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new DomainException("Couldn't cache images because they couldn't be downloaded.");
|
||||
|
@ -99,7 +99,7 @@ class Manga extends API {
|
||||
];
|
||||
|
||||
$response = $this->client->get('manga_library_entries', $config);
|
||||
$data = $this->_check_cache($status, $response);
|
||||
$data = $this->_check_cache($response);
|
||||
$output = $this->map_by_status($data);
|
||||
|
||||
return (array_key_exists($status, $output)) ? $output[$status] : $output;
|
||||
@ -108,11 +108,10 @@ class Manga extends API {
|
||||
/**
|
||||
* Check the status of the cache and return the appropriate response
|
||||
*
|
||||
* @param string $status
|
||||
* @param \GuzzleHttp\Message\Response $response
|
||||
* @return array
|
||||
*/
|
||||
private function _check_cache($status, $response)
|
||||
private function _check_cache($response)
|
||||
{
|
||||
// Bail out early if there isn't any manga data
|
||||
$api_data = json_decode($response->getBody(), TRUE);
|
||||
|
@ -1,30 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Anime API Model
|
||||
*/
|
||||
|
||||
namespace Aviat\AnimeClient\Model;
|
||||
|
||||
use Avait\Ion\Di\ContainerInterface;
|
||||
use Aviat\AnimeClient\Model\DB;
|
||||
|
||||
/**
|
||||
* Base Model for stats about lists and collection(s)
|
||||
*/
|
||||
class Stats extends DB {
|
||||
|
||||
use StatsChartsTrait;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param Container $container
|
||||
*/
|
||||
public function __construct(ContainerInterface $container)
|
||||
{
|
||||
parent::__construct($container);
|
||||
$this->chartSetup();
|
||||
}
|
||||
|
||||
}
|
||||
// End of Stats.php
|
@ -1,29 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Aviat\AnimeClient\Model;
|
||||
|
||||
use CpChart\Services\pChartFactory;
|
||||
|
||||
/**
|
||||
* Trait for chart generation
|
||||
*/
|
||||
trait StatsChartsTrait {
|
||||
|
||||
|
||||
/**
|
||||
* @var pChartFactory
|
||||
*/
|
||||
protected $pchart;
|
||||
|
||||
/**
|
||||
* Initial setup method
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function chartSetup()
|
||||
{
|
||||
$this->pchart = new pChartFactory();
|
||||
}
|
||||
|
||||
}
|
||||
// End of StatsChartsTrait.php
|
@ -90,7 +90,6 @@ class UrlGenerator extends RoutingBase {
|
||||
*/
|
||||
public function full_url($path = "", $type = "anime")
|
||||
{
|
||||
$config_path = trim($this->__get("{$type}_path"), "/");
|
||||
$config_default_route = $this->__get("default_{$type}_path");
|
||||
|
||||
// Remove beginning/trailing slashes
|
||||
|
@ -248,7 +248,6 @@ class DispatcherTest extends AnimeClient_TestCase {
|
||||
'anime' => 'Aviat\AnimeClient\Controller\Anime',
|
||||
'manga' => 'Aviat\AnimeClient\Controller\Manga',
|
||||
'collection' => 'Aviat\AnimeClient\Controller\Collection',
|
||||
'stats' => 'Aviat\AnimeClient\Controller\Stats'
|
||||
]
|
||||
],
|
||||
'empty_controller_list' => [
|
||||
|
@ -23,13 +23,29 @@ class ArrayTypeTest extends AnimeClient_TestCase {
|
||||
'keys' => 'array_keys',
|
||||
'merge' => 'array_merge',
|
||||
'pad' => 'array_pad',
|
||||
'product' => 'array_product',
|
||||
'random' => 'array_rand',
|
||||
'reduce' => 'array_reduce',
|
||||
'reverse' => 'array_reverse',
|
||||
];
|
||||
|
||||
return [
|
||||
'array_merge' => [
|
||||
'method' => 'merge',
|
||||
'array' => [1, 3, 5, 7],
|
||||
'args' => [[2, 4, 6, 8]],
|
||||
'expected' => [1, 3, 5, 7, 2, 4, 6, 8]
|
||||
],
|
||||
'array_product' => [
|
||||
'method' => 'product',
|
||||
'array' => [1, 2, 3],
|
||||
'args' => [],
|
||||
'expected' => 6
|
||||
],
|
||||
'array_reverse' => [
|
||||
'method' => 'reverse',
|
||||
'array' => [1, 2, 3, 4, 5],
|
||||
'args' => [],
|
||||
'expected' => [5, 4, 3, 2, 1]
|
||||
],
|
||||
'array_sum' => [
|
||||
'method' => 'sum',
|
||||
'array' => [1, 2, 3, 4, 5, 6],
|
||||
@ -40,7 +56,7 @@ class ArrayTypeTest extends AnimeClient_TestCase {
|
||||
'method' => 'unique',
|
||||
'array' => [1, 1, 3, 2, 2, 2, 3, 3, 5],
|
||||
'args' => [SORT_REGULAR],
|
||||
'expected' => [0=>1, 2=>3, 3=>2, 8=>5]
|
||||
'expected' => [0 => 1, 2 => 3, 3 => 2, 8 => 5]
|
||||
],
|
||||
'array_values' => [
|
||||
'method' => 'values',
|
||||
@ -63,6 +79,16 @@ class ArrayTypeTest extends AnimeClient_TestCase {
|
||||
$this->assertEquals($expected, $actual);
|
||||
}
|
||||
|
||||
public function testMap()
|
||||
{
|
||||
$obj = $this->arr([1, 2, 3]);
|
||||
$actual = $obj->map(function($item) {
|
||||
return $item * 2;
|
||||
});
|
||||
|
||||
$this->assertEquals([2, 4, 6], $actual);
|
||||
}
|
||||
|
||||
public function testBadCall()
|
||||
{
|
||||
$obj = $this->arr([]);
|
||||
@ -71,16 +97,6 @@ class ArrayTypeTest extends AnimeClient_TestCase {
|
||||
$obj->foo();
|
||||
}
|
||||
|
||||
public function testMerge()
|
||||
{
|
||||
$obj = $this->arr([1, 3, 5, 7]);
|
||||
$even_array = [2, 4, 6, 8];
|
||||
$expected = [1, 3, 5, 7, 2, 4, 6, 8];
|
||||
|
||||
$actual = $obj->merge($even_array);
|
||||
$this->assertEquals($expected, $actual);
|
||||
}
|
||||
|
||||
public function testShuffle()
|
||||
{
|
||||
$original = [1, 2, 3, 4];
|
||||
|
Loading…
Reference in New Issue
Block a user