Skip to content

Commit

Permalink
refactor: remove ToCsv collection macro
Browse files Browse the repository at this point in the history
BREAKING CHANGE
  • Loading branch information
Travis CI committed Oct 31, 2021
1 parent daa20dc commit 813b5b8
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 56 deletions.
2 changes: 0 additions & 2 deletions config/export-response.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?php

use audunru\ExportResponse\Macros\Collection\FlattenArrays;
use audunru\ExportResponse\Macros\Collection\ToCsv;
use audunru\ExportResponse\Macros\JsonResponse\ToCsv as JsonResponseToCsv;
use audunru\ExportResponse\Macros\JsonResponse\ToXlsx as JsonResponseToXlsx;
use audunru\ExportResponse\Macros\JsonResponse\ToXml as JsonResponseToXml;
Expand All @@ -21,7 +20,6 @@
'macros' => [
'collection' => [
'flattenArrays' => FlattenArrays::class,
'toCsv' => ToCsv::class,
],
'json-response' => [
'toCsv' => JsonResponseToCsv::class,
Expand Down
22 changes: 0 additions & 22 deletions src/Macros/Collection/ToCsv.php

This file was deleted.

9 changes: 8 additions & 1 deletion src/Macros/JsonResponse/ToCsv.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use audunru\ExportResponse\Enums\MimeType;
use Illuminate\Http\Response;
use Illuminate\Support\Arr;
use Spatie\SimpleExcel\SimpleExcelWriter;

class ToCsv
{
Expand All @@ -14,7 +15,13 @@ public function __invoke()
$data = $this->getData(true);
$data = ! is_null($key) ? Arr::get($data, $key) : $data;
$collection = Arr::isAssoc($data) ? collect([$data]) : collect($data);
$csv = $collection->flattenArrays()->toCsv();

ob_start();
SimpleExcelWriter::createWithoutBom('php://output', 'csv')
->addRows($collection->flattenArrays()->toArray())
->close();
$csv = ob_get_contents();
ob_end_clean();

return (new Response($csv, Response::HTTP_OK, [
'Content-Type' => MimeType::Csv(),
Expand Down
6 changes: 0 additions & 6 deletions tests/Unit/JsonResponseToCsvTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,14 @@
namespace audunru\ExportResponse\Tests\Unit;

use audunru\ExportResponse\Macros\Collection\FlattenArrays;
use audunru\ExportResponse\Macros\Collection\ToCsv;
use audunru\ExportResponse\Tests\TestCase;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Collection;

class JsonResponseToCsvTest extends TestCase
{
public function testItGeneratesCsvFromUnwrappedResponse()
{
Collection::macro('flattenArrays', app(FlattenArrays::class)());
Collection::macro('toCsv', app(ToCsv::class)());
JsonResponse::macro('JsonResponseToCsv', app(ToCsv::class)());

$response = $this->getUnwrappedResponse()->toCsv('filename.csv');

Expand All @@ -28,8 +24,6 @@ public function testItGeneratesCsvFromUnwrappedResponse()
public function testItGeneratesCsvFromWrappedResponse()
{
Collection::macro('flattenArrays', app(FlattenArrays::class)());
Collection::macro('toCsv', app(ToCsv::class)());
JsonResponse::macro('JsonResponseToCsv', app(ToCsv::class)());

$response = $this->getWrappedResponse()->toCsv('filename.csv', 'data');

Expand Down
25 changes: 0 additions & 25 deletions tests/Unit/ToCsvTest.php

This file was deleted.

0 comments on commit 813b5b8

Please sign in to comment.