Skip to content

Instantly share code, notes, and snippets.

<?php
class DemoTest extends DatabaseTestCase
{
use TestsMoney;
use TestsStripeWebhooks;
use MocksAuthorizeNet;
protected User $owner;
<?php
\Illuminate\Support\Str::macro('extremeSnake', function($value, $delimiter = '_') {
$pattern = <<<'REGEXP'
/
(?<!^) # don't match the beginning of a string
(
(?<=[^\p{Lu}])[\p{Lu}\p{M}]+(?=\p{M}?[^\p{Ll}]\p{M}?\p{L}) # string of upper-case (like an abbreviation)
| (?<=\p{Lu}{2})[\p{Lu}\p{M}](?=\p{M}?\p{Ll}) # the final upper-case in a sequence
| (?<=[^\p{Lu}])[\p{Lu}\p{M}](?=\p{M}?\p{Ll}) # first upper-case in a capitalized sequence
type Team implements Node {
"The unique identifier of the entity."
id: ID!
"The time at which the entity was created."
createdAt: DateTime!
"""
The last time at which the entity was meaningfully updated, i.e. for all changes of syncable properties except those
for which updates should not produce an update to updatedAt (see skipUpdatedAtKeys). This is the same as the creation time if the entity hasn't
nah() {
# Configuration
local cutoff_in_seconds=86400 # 1 day
# Stash our current changes, including untracked files
git stash save -u "<<nah - $(date +%s)>>"
# Get a list of all stashes that match our message format
IFS=$'\n' existing_stashes=($(git stash list | grep "<<nah - [0-9]*>>"))
@inxilpro
inxilpro / --usage.php
Created February 13, 2024 17:22
Simple wrapper for OpenSpout
<?php
// Reading
CsvReader::read($path)->each(function(array $row) {
// Do something with $row
});
// Writing
return CsvWriter::for($data)->writeToHttpFile();
@inxilpro
inxilpro / Promotions.php
Last active January 22, 2024 16:24
View hooks demo
<?php
class Promotions
{
public static function for(User $user)
{
return new static($user);
}
public function __construct(protected User $user)
<x-chart wire:model="chartData" />
<!-- I can be explicit if I want… -->
<div x-modelable="values" x-data="{
values: [],
init() {
const chart = new Chart(this.$refs.canvas, {
data: this.values
});
<?php
use Stripe\ApiRequestor;
use Stripe\HttpClient\ClientInterface;
use Stripe\HttpClient\CurlClient;
use Stripe\Stripe;
use Symfony\Component\Process\ExecutableFinder;
use Symfony\Component\Process\Process;
trait TestsWithStripeMock
<?php
namespace Tests\Project;
use RecursiveCallbackFilterIterator;
use RecursiveDirectoryIterator;
use RecursiveIteratorIterator;
use SplFileInfo;
use Tests\Constraints;
use Tests\TestCase;
<?php
use Illuminate\Contracts\Debug\ExceptionHandler;
trait InteractsWithExceptionReports
{
protected function expectsExceptionReport(
string|Closure $expected,
?string $message = null
) {