Skip to content

Instantly share code, notes, and snippets.

@devrkd
devrkd / laravel-tinker-example.sh
Last active June 1, 2021 08:04
Laravel tinker example to set password
Psy Shell v0.9.9 (PHP 7.2.16 — cli) by Justin Hileman
>>> $u = new App\User;
=> App\User {#2930}
>>> $u->all()
=> Illuminate\Database\Eloquent\Collection {#2938
all: [
App\User {#2939
id: 1,
name: "ramesh",
email: "example@info.com",
@devrkd
devrkd / docker-compose.yml
Last active August 1, 2019 15:03
Dockerise kafka and elasticsearch
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
@devrkd
devrkd / wherehas-example.php
Last active July 24, 2019 05:30
Laravel example code with wherehas
<?php
/*
* example code gist,
*/
Model_A::whereHas('Model_B',
function (\Illuminate\Database\Eloquent\Builder $builder) {
$builder->upcoming()->where('cancel_reason', Model_B::REASON_NOT_AVAILABLE);
})->active();
@devrkd
devrkd / addressSplitter.php
Created June 1, 2021 08:05
Split house number and extra info from street name using Laravel Str macro
<?php
Str::macro('addressSplitter', function (string $address) {
$leadingHouseNumber = '/^([\d-]+[a-z]{0,1}[\d-]?[\d,]?)\ ([a-z\ ]+)$/mi';
$endingWithHouseNumber = '/^([a-z\ ]+)([\d?]+)([\D+?]+[\d+?]?.+)?|([\D+?]+[\d+?]?+)$/mi';
if (preg_match_all($leadingHouseNumber, $address, $matches, PREG_SET_ORDER, 0)
&& isset($matches[0][1], $matches[0][2])
) {
$result['house_number'] = (int) $matches[0][1];
@devrkd
devrkd / Observable.ts
Created June 12, 2021 08:54
Subject Interface
interface Observable {
subscribe(observer: Observer): void;
unsubscribe(observer: Observer): void;
notify(): void;
}
@devrkd
devrkd / Observer.ts
Created June 12, 2021 08:59
Observer in typescript
interface Observer {
update(subject: Subject);
}
@devrkd
devrkd / Subject.ts
Created June 12, 2021 09:21
Subject in Typescript
class Subject implements Observable {
private observers: Observer[] = [];
subscribe(observer: Observer) {
this.observers.push(observer);
}
unsubscribe(observer: Observer) {
this.observers = this.observers.filter((o) => {
return o !== observer
})
console.log('observer detached...' + observer.constructor.name);
@devrkd
devrkd / Score.ts
Created June 12, 2021 09:23
Example Observable class in typescript
class Score extends Subject {
private score: number;
public updateScore(score: number)
{
this.score = score;
console.log('got new score.....');
this.notify();
}
@devrkd
devrkd / SampleObsevers.ts
Created June 12, 2021 09:27
Sample Observer in typescript
class DisplayScore implements Observer {
update(subject: Score) {
console.log('Display score: ' + subject.getScore());
}
}
class CliScore implements Observer {
update(subject: Score) {
console.log('CLI score: ' + subject.getScore());
@devrkd
devrkd / sample.ts
Created June 12, 2021 09:33
Sample subs and unsubs code
const score = new Score();
const display = new DisplayScore();
const cli = new CliScore();
score.subscribe(display);
score.subscribe(cli);
score.updateScore(4);