for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Godbout\DashDocsetBuilder\Services;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Str;
final class DocsetNewer
{
protected $docsetName;
public function new(string $newDocset = null)
$userDocsetsDirectory = app_path() . '/../../../../app/Docsets';
/**
* Dirty shit to be able to run tests on this repo
*/
if (! Str::contains($userDocsetsDirectory, '/vendor/godbout/dash-docset-builder/')) {
$userDocsetsDirectory = Str::replaceFirst('/../../../../app', '', $userDocsetsDirectory);
}
File::makeDirectory($userDocsetsDirectory, 0755, true, true);
if (! $newDocset) {
File::copy(
app_path() . '/Services/stubs/RickAstley.stub',
$userDocsetsDirectory . '/RickAstley.php'
);
return true;
$docsetStubContent = File::get(app_path() . '/Services/stubs/NewDocset.stub');
$docsetStubContent = strtr($docsetStubContent, [
'{{ class }}' => Str::studly($newDocset),
'{{ code }}' => Str::kebab($newDocset),
'{{ name }}' => str_replace('-', ' ', Str::title($newDocset)),
'{{ url }}' => Str::lower($newDocset) . '.com',
]);
File::put(
$userDocsetsDirectory . '/' . Str::studly($newDocset) . '.php',
$docsetStubContent