<?php namespace Eae\Transformation\Transformer;

use League\Fractal;
use QuizzQuestion;
use Eae\Support\WaveGenerator;

class QuizzQuestionTransformer extends Fractal\TransformerAbstract
{
    public function __construct()
    {
    }

    public function transform(QuizzQuestion $question)
    {
        $out = [
            'id'      => (int)$question->id,
            'title'   => $question->title,
            'audio'   => $question->question_audio,
            'peaks'   => $this->_getPeaks($question->question_audio),
            'answers' => [
                $question->answer_1,
                $question->answer_2,
                $question->answer_3
            ],
            'correct' => $question->correct_answer
        ];

        return $out;
    }

    private function _getPeaks($audioFile)
    {
        $waveGenerator = new WaveGenerator($audioFile);
        $peaks = $waveGenerator->getPeaksData();

        return $peaks;
    }
}
