Upgrade to Laravel 5.2

This commit is contained in:
An Phan 2015-12-27 20:29:03 +07:00
parent 27b38461de
commit a8d620b83d
9 changed files with 139 additions and 135 deletions

View file

@ -14,31 +14,29 @@ class SongController extends Controller
*
* @link https://github.com/phanan/koel/wiki#streaming-music
*
* @param $id
* @param Song $song
*/
public function play($id)
public function play(Song $song)
{
switch (env('STREAMING_METHOD')) {
case 'x-sendfile':
return (new XSendFileStreamer($id))->stream();
return (new XSendFileStreamer($song))->stream();
case 'x-accel-redirect':
return (new XAccelRedirectStreamer($id))->stream();
return (new XAccelRedirectStreamer($song))->stream();
default:
return (new PHPStreamer($id))->stream();
return (new PHPStreamer($song))->stream();
}
}
/**
* Get extra information about a song via Last.fm.
*
* @param string $id
* @param Song $song
*
* @return \Illuminate\Http\JsonResponse
*/
public function getInfo($id)
public function getInfo(Song $song)
{
$song = Song::with('album.artist')->findOrFail($id);
return response()->json([
'lyrics' => $song->lyrics,
'album_info' => $song->album->getInfo(),
@ -49,13 +47,13 @@ class SongController extends Controller
/**
* Scrobble a song.
*
* @param string $id The song's ID
* @param Song $song
* @param string $timestamp The UNIX timestamp when the song started playing.
*
* @return \Illuminate\Http\JsonResponse
*/
public function scrobble($id, $timestamp)
public function scrobble(Song $song, $timestamp)
{
return response()->json(Song::with('album.artist')->findOrFail($id)->scrobble($timestamp));
return response()->json($song->scrobble($timestamp));
}
}

View file

@ -19,11 +19,11 @@ class BaseStreamer
/**
* BaseStreamer constructor.
*
* @param $song Song|string A Song object, or its ID.
* @param $song Song
*/
public function __construct($song)
public function __construct(Song $song)
{
$this->song = $song instanceof Song ? $song : Song::findOrFail($song);
$this->song = $song;
if (!file_exists($this->song->path)) {
abort(404);

View file

@ -2,11 +2,13 @@
namespace App\Http\Streamers;
use App\Models\Song;
class PHPStreamer extends BaseStreamer implements StreamerInterface
{
public function __construct($id)
public function __construct(Song $song)
{
parent::__construct($id);
parent::__construct($song);
}
/**

View file

@ -3,12 +3,13 @@
namespace App\Http\Streamers;
use App\Models\Setting;
use App\Models\Song;
class XAccelRedirectStreamer extends BaseStreamer implements StreamerInterface
{
public function __construct($id)
public function __construct(Song $song)
{
parent::__construct($id);
parent::__construct($song);
}
/**

View file

@ -2,11 +2,13 @@
namespace App\Http\Streamers;
use App\Models\Song;
class XSendFileStreamer extends BaseStreamer implements StreamerInterface
{
public function __construct($id)
public function __construct(Song $song)
{
parent::__construct($id);
parent::__construct($song);
}
/**

View file

@ -1,48 +1,47 @@
<?php
get('login', 'Auth\AuthController@getLogin');
post('login', 'Auth\AuthController@postLogin');
get('logout', 'Auth\AuthController@getLogout');
Route::get('login', 'Auth\AuthController@getLogin');
Route::post('login', 'Auth\AuthController@postLogin');
Route::get('logout', 'Auth\AuthController@getLogout');
get('/', function () {
Route::get('/', function () {
return redirect('/♫');
});
get('♫', ['middleware' => 'auth', function () {
Route::get('♫', ['middleware' => 'auth', function () {
return view('index');
}]);
Route::group(['prefix' => 'api', 'middleware' => 'auth', 'namespace' => 'API'], function () {
get('/', function () {
Route::get('/', function () {
// Just acting as a ping service.
});
get('data', 'DataController@index');
Route::get('data', 'DataController@index');
post('settings', 'SettingController@save');
Route::post('settings', 'SettingController@save');
get('{id}/play', 'SongController@play')->where('id', '[a-f0-9]{32}');
get('{id}/info', 'SongController@getInfo')->where('id', '[a-f0-9]{32}');
post('{id}/scrobble/{timestamp}', 'SongController@scrobble')->where([
'id' => '[a-f0-9]{32}',
Route::get('{song}/play', 'SongController@play');
Route::get('{song}/info', 'SongController@getInfo');
Route::post('{song}/scrobble/{timestamp}', 'SongController@scrobble')->where([
'timestamp' => '\d+',
]);
post('interaction/play', 'InteractionController@play');
post('interaction/like', 'InteractionController@like');
post('interaction/batch/like', 'InteractionController@batchLike');
post('interaction/batch/unlike', 'InteractionController@batchUnlike');
Route::post('interaction/play', 'InteractionController@play');
Route::post('interaction/like', 'InteractionController@like');
Route::post('interaction/batch/like', 'InteractionController@batchLike');
Route::post('interaction/batch/unlike', 'InteractionController@batchUnlike');
resource('playlist', 'PlaylistController', ['only' => ['store', 'update', 'destroy']]);
put('playlist/{playlist}/sync', 'PlaylistController@sync')->where(['playlist' => '\d+']);
Route::resource('playlist', 'PlaylistController', ['only' => ['store', 'update', 'destroy']]);
Route::put('playlist/{playlist}/sync', 'PlaylistController@sync')->where(['playlist' => '\d+']);
resource('user', 'UserController', ['only' => ['store', 'update', 'destroy']]);
put('me', 'UserController@updateProfile');
Route::resource('user', 'UserController', ['only' => ['store', 'update', 'destroy']]);
Route::put('me', 'UserController@updateProfile');
get('lastfm/connect', 'LastfmController@connect');
get('lastfm/callback', [
Route::get('lastfm/connect', 'LastfmController@connect');
Route::get('lastfm/callback', [
'as' => 'lastfm.callback',
'uses' => 'LastfmController@callback',
]);
delete('lastfm/disconnect', 'LastfmController@disconnect');
Route::delete('lastfm/disconnect', 'LastfmController@disconnect');
});

View file

@ -25,6 +25,7 @@ class Song extends Model
* @var array
*/
protected $casts = [
'id' => 'string',
'length' => 'float',
];

View file

@ -6,8 +6,6 @@ use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Authenticatable, Authorizable, CanResetPassword;
/**
* The database table used by the model.
*

181
composer.lock generated
View file

@ -4,8 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "03069302f93e610dd34ec283f11ac6d8",
"content-hash": "a0d4e42a6578888fd1dfad01d3933e8d",
"hash": "8d7c920507469687a49621c7be0bf7e6",
"content-hash": "5df94e186a0a3f71bcd4e1229edb99b0",
"packages": [
{
"name": "barryvdh/laravel-ide-helper",
@ -484,16 +484,16 @@
},
{
"name": "james-heinrich/getid3",
"version": "v1.9.10",
"version": "v1.9.11",
"source": {
"type": "git",
"url": "https://github.com/JamesHeinrich/getID3.git",
"reference": "835a0db62993cb1d85925f9a8aefe13e4ebe2b67"
"reference": "da7c657f2bcc865ef1bef53cf90c2638f344469b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/JamesHeinrich/getID3/zipball/835a0db62993cb1d85925f9a8aefe13e4ebe2b67",
"reference": "835a0db62993cb1d85925f9a8aefe13e4ebe2b67",
"url": "https://api.github.com/repos/JamesHeinrich/getID3/zipball/da7c657f2bcc865ef1bef53cf90c2638f344469b",
"reference": "da7c657f2bcc865ef1bef53cf90c2638f344469b",
"shasum": ""
},
"require": {
@ -516,7 +516,7 @@
"php",
"tags"
],
"time": "2015-09-14 05:42:21"
"time": "2015-12-24 10:50:02"
},
{
"name": "jeremeamia/SuperClosure",
@ -578,16 +578,16 @@
},
{
"name": "laravel/framework",
"version": "v5.2.4",
"version": "v5.2.5",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "b84f4f4bf3a7c8fb001fcce92fe7f9937cccf5be"
"reference": "1d165631b90d104c517d54455a5e867584645473"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/b84f4f4bf3a7c8fb001fcce92fe7f9937cccf5be",
"reference": "b84f4f4bf3a7c8fb001fcce92fe7f9937cccf5be",
"url": "https://api.github.com/repos/laravel/framework/zipball/1d165631b90d104c517d54455a5e867584645473",
"reference": "1d165631b90d104c517d54455a5e867584645473",
"shasum": ""
},
"require": {
@ -703,7 +703,7 @@
"framework",
"laravel"
],
"time": "2015-12-24 01:44:33"
"time": "2015-12-24 15:39:57"
},
{
"name": "league/flysystem",
@ -1367,16 +1367,16 @@
},
{
"name": "symfony/class-loader",
"version": "v2.8.0",
"version": "v2.8.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/class-loader.git",
"reference": "51f83451bf0ddfc696e47e4642d6cd10fcfce160"
"reference": "ec74b0a279cf3a9bd36172b3e3061591d380ce6c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/class-loader/zipball/51f83451bf0ddfc696e47e4642d6cd10fcfce160",
"reference": "51f83451bf0ddfc696e47e4642d6cd10fcfce160",
"url": "https://api.github.com/repos/symfony/class-loader/zipball/ec74b0a279cf3a9bd36172b3e3061591d380ce6c",
"reference": "ec74b0a279cf3a9bd36172b3e3061591d380ce6c",
"shasum": ""
},
"require": {
@ -1415,20 +1415,20 @@
],
"description": "Symfony ClassLoader Component",
"homepage": "https://symfony.com",
"time": "2015-11-26 07:00:59"
"time": "2015-12-05 17:37:59"
},
{
"name": "symfony/console",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "175871ca8d1ef16ff8d8cac395a1c73afa8d0e63"
"reference": "ebcdc507829df915f4ca23067bd59ee4ef61f6c3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/175871ca8d1ef16ff8d8cac395a1c73afa8d0e63",
"reference": "175871ca8d1ef16ff8d8cac395a1c73afa8d0e63",
"url": "https://api.github.com/repos/symfony/console/zipball/ebcdc507829df915f4ca23067bd59ee4ef61f6c3",
"reference": "ebcdc507829df915f4ca23067bd59ee4ef61f6c3",
"shasum": ""
},
"require": {
@ -1475,20 +1475,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"time": "2015-11-30 12:36:17"
"time": "2015-12-22 10:39:06"
},
{
"name": "symfony/debug",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "0623b00095f0833412ee6f92f421e9adf4c7e113"
"reference": "73612266ac709769effdbfc0762e5b07cfd2ac2a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/0623b00095f0833412ee6f92f421e9adf4c7e113",
"reference": "0623b00095f0833412ee6f92f421e9adf4c7e113",
"url": "https://api.github.com/repos/symfony/debug/zipball/73612266ac709769effdbfc0762e5b07cfd2ac2a",
"reference": "73612266ac709769effdbfc0762e5b07cfd2ac2a",
"shasum": ""
},
"require": {
@ -1532,11 +1532,11 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
"time": "2015-11-27 05:46:53"
"time": "2015-12-26 13:39:53"
},
{
"name": "symfony/event-dispatcher",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
@ -1596,16 +1596,16 @@
},
{
"name": "symfony/finder",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "3577eb98dba90721d1a0a3edfc6956ab8b1aecee"
"reference": "8617895eb798b6bdb338321ce19453dc113e5675"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/3577eb98dba90721d1a0a3edfc6956ab8b1aecee",
"reference": "3577eb98dba90721d1a0a3edfc6956ab8b1aecee",
"url": "https://api.github.com/repos/symfony/finder/zipball/8617895eb798b6bdb338321ce19453dc113e5675",
"reference": "8617895eb798b6bdb338321ce19453dc113e5675",
"shasum": ""
},
"require": {
@ -1641,20 +1641,20 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
"time": "2015-10-30 23:35:59"
"time": "2015-12-05 11:13:14"
},
{
"name": "symfony/http-foundation",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "1563f784900958afdb584ca82a072c578ed8a929"
"reference": "939c8c28a5b1e4ab7317bc30c1f9aa881c4b06b5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/1563f784900958afdb584ca82a072c578ed8a929",
"reference": "1563f784900958afdb584ca82a072c578ed8a929",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/939c8c28a5b1e4ab7317bc30c1f9aa881c4b06b5",
"reference": "939c8c28a5b1e4ab7317bc30c1f9aa881c4b06b5",
"shasum": ""
},
"require": {
@ -1693,20 +1693,20 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
"time": "2015-11-27 14:30:17"
"time": "2015-12-18 15:43:53"
},
{
"name": "symfony/http-kernel",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "2f7071c25cae37b79be6d9ea1c43c1035d8c6b06"
"reference": "f7933e9f19e26e7baba7ec04735b466fedd3a6db"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/2f7071c25cae37b79be6d9ea1c43c1035d8c6b06",
"reference": "2f7071c25cae37b79be6d9ea1c43c1035d8c6b06",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/f7933e9f19e26e7baba7ec04735b466fedd3a6db",
"reference": "f7933e9f19e26e7baba7ec04735b466fedd3a6db",
"shasum": ""
},
"require": {
@ -1775,25 +1775,28 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
"time": "2015-11-30 20:59:24"
"time": "2015-12-26 16:46:13"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.0.0",
"version": "v1.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "0b6a8940385311a24e060ec1fe35680e17c74497"
"reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0b6a8940385311a24e060ec1fe35680e17c74497",
"reference": "0b6a8940385311a24e060ec1fe35680e17c74497",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/49ff736bd5d41f45240cec77b44967d76e0c3d25",
"reference": "49ff736bd5d41f45240cec77b44967d76e0c3d25",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
@ -1831,20 +1834,20 @@
"portable",
"shim"
],
"time": "2015-11-04 20:28:58"
"time": "2015-11-20 09:19:13"
},
{
"name": "symfony/polyfill-php56",
"version": "v1.0.0",
"version": "v1.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php56.git",
"reference": "a6bd4770a6967517e6610529e14afaa3111094a3"
"reference": "e2e77609a9e2328eb370fbb0e0d8b2000ebb488f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/a6bd4770a6967517e6610529e14afaa3111094a3",
"reference": "a6bd4770a6967517e6610529e14afaa3111094a3",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/e2e77609a9e2328eb370fbb0e0d8b2000ebb488f",
"reference": "e2e77609a9e2328eb370fbb0e0d8b2000ebb488f",
"shasum": ""
},
"require": {
@ -1887,11 +1890,11 @@
"portable",
"shim"
],
"time": "2015-11-04 20:28:58"
"time": "2015-12-18 15:10:25"
},
{
"name": "symfony/polyfill-util",
"version": "v1.0.0",
"version": "v1.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-util.git",
@ -1943,16 +1946,16 @@
},
{
"name": "symfony/process",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "01383ed02a1020759bc8ee5d975fcec04ba16fbf"
"reference": "f4794f1d00f0746621be3020ffbd8c5e0b217ee3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/01383ed02a1020759bc8ee5d975fcec04ba16fbf",
"reference": "01383ed02a1020759bc8ee5d975fcec04ba16fbf",
"url": "https://api.github.com/repos/symfony/process/zipball/f4794f1d00f0746621be3020ffbd8c5e0b217ee3",
"reference": "f4794f1d00f0746621be3020ffbd8c5e0b217ee3",
"shasum": ""
},
"require": {
@ -1988,20 +1991,20 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
"time": "2015-11-30 12:36:17"
"time": "2015-12-23 11:04:02"
},
{
"name": "symfony/routing",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "252014dfa4685e80f9216ae4b7d78b1a50dd55c2"
"reference": "3b1bac52f42cb0f54df1a2dbabd55a1d214e2a59"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/252014dfa4685e80f9216ae4b7d78b1a50dd55c2",
"reference": "252014dfa4685e80f9216ae4b7d78b1a50dd55c2",
"url": "https://api.github.com/repos/symfony/routing/zipball/3b1bac52f42cb0f54df1a2dbabd55a1d214e2a59",
"reference": "3b1bac52f42cb0f54df1a2dbabd55a1d214e2a59",
"shasum": ""
},
"require": {
@ -2062,20 +2065,20 @@
"uri",
"url"
],
"time": "2015-11-26 07:02:09"
"time": "2015-12-23 08:00:11"
},
{
"name": "symfony/translation",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "7f14717150a7445f8475864d1235875dd04061fb"
"reference": "dff0867826a7068d673801b7522f8e2634016ef9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/7f14717150a7445f8475864d1235875dd04061fb",
"reference": "7f14717150a7445f8475864d1235875dd04061fb",
"url": "https://api.github.com/repos/symfony/translation/zipball/dff0867826a7068d673801b7522f8e2634016ef9",
"reference": "dff0867826a7068d673801b7522f8e2634016ef9",
"shasum": ""
},
"require": {
@ -2126,20 +2129,20 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
"time": "2015-11-18 13:48:51"
"time": "2015-12-05 17:45:07"
},
{
"name": "symfony/var-dumper",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "737e07704cca83f9dd0af926d45ce27eedc25657"
"reference": "87db8700deb12ba2b65e858f656a1f885530bcb0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/737e07704cca83f9dd0af926d45ce27eedc25657",
"reference": "737e07704cca83f9dd0af926d45ce27eedc25657",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/87db8700deb12ba2b65e858f656a1f885530bcb0",
"reference": "87db8700deb12ba2b65e858f656a1f885530bcb0",
"shasum": ""
},
"require": {
@ -2189,7 +2192,7 @@
"debug",
"dump"
],
"time": "2015-11-18 13:48:51"
"time": "2015-12-05 11:13:14"
},
{
"name": "vlucas/phpdotenv",
@ -3373,16 +3376,16 @@
},
{
"name": "symfony/css-selector",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
"reference": "2563cd23b8822eac1b2a4a47d99de160b58492c1"
"reference": "4613311fd46e146f506403ce2f8a0c71d402d2a3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/2563cd23b8822eac1b2a4a47d99de160b58492c1",
"reference": "2563cd23b8822eac1b2a4a47d99de160b58492c1",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/4613311fd46e146f506403ce2f8a0c71d402d2a3",
"reference": "4613311fd46e146f506403ce2f8a0c71d402d2a3",
"shasum": ""
},
"require": {
@ -3422,20 +3425,20 @@
],
"description": "Symfony CssSelector Component",
"homepage": "https://symfony.com",
"time": "2015-10-30 23:35:59"
"time": "2015-12-05 17:45:07"
},
{
"name": "symfony/dom-crawler",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
"reference": "98f0ffc93de1149f4c18eda2075c92428df1b73c"
"reference": "7c622b0c9fb8bdb146d6dfa86c5f91dcbfdbc11d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/98f0ffc93de1149f4c18eda2075c92428df1b73c",
"reference": "98f0ffc93de1149f4c18eda2075c92428df1b73c",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/7c622b0c9fb8bdb146d6dfa86c5f91dcbfdbc11d",
"reference": "7c622b0c9fb8bdb146d6dfa86c5f91dcbfdbc11d",
"shasum": ""
},
"require": {
@ -3478,20 +3481,20 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com",
"time": "2015-11-02 20:34:04"
"time": "2015-12-26 13:42:31"
},
{
"name": "symfony/yaml",
"version": "v3.0.0",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "177a015cb0e19ff4a49e0e2e2c5fc1c1bee07002"
"reference": "3df409958a646dad2bc5046c3fb671ee24a1a691"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/177a015cb0e19ff4a49e0e2e2c5fc1c1bee07002",
"reference": "177a015cb0e19ff4a49e0e2e2c5fc1c1bee07002",
"url": "https://api.github.com/repos/symfony/yaml/zipball/3df409958a646dad2bc5046c3fb671ee24a1a691",
"reference": "3df409958a646dad2bc5046c3fb671ee24a1a691",
"shasum": ""
},
"require": {
@ -3527,7 +3530,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
"time": "2015-11-30 12:36:17"
"time": "2015-12-26 13:39:53"
}
],
"aliases": [],