Skip to content

Instantly share code, notes, and snippets.

View omarkdev's full-sized avatar

Marcos Felipe omarkdev

View GitHub Profile
rm routes/botman.php && wget https://raw.githubusercontent.com/botman/studio/master/routes/botman.php -P routes/ && rm app/Http/Controllers/BotManController.php && wget https://raw.githubusercontent.com/botman/studio/master/app/Http/Controllers/BotManController.php -P app/Http/Controllers/; rm app/Conversations/ExampleConversation.php; wget https://raw.githubusercontent.com/botman/studio/master/app/Conversations/ExampleConversation.php -P app/Conversations/
<scheme name="_@user_Atom One Dark" version="142" parent_scheme="Darcula">
<option name="FONT_SCALE" value="1.0" />
<metaInfo>
<property name="created">2018-03-23T15:28:07</property>
<property name="ide">PhpStorm</property>
<property name="ideVersion">2017.3.6.0.0</property>
<property name="modified">2018-03-23T15:34:31</property>
<property name="originalScheme">Atom One Dark</property>
</metaInfo>
<option name="LINE_SPACING" value="1.4" />
@omarkdev
omarkdev / object-calisthenics-rule1-example.php
Last active March 5, 2019 01:00
Object Calisthenics - Primeira Regra - Exemplo
<?php
function premiumUsers($users)
{
$premiumUsers = [];
foreach ($users as $user) {
if ($user->type === USER_TYPE_PREMIUM) {
$premiumUsers[] = $user;
}
}
@omarkdev
omarkdev / object-calisthenics-rule1-example2.php
Last active March 5, 2019 01:01
Object Calisthenics - Primeira Regra - Exemplo 2
<?php
function premiumUsers($users)
{
return array_filter($users, "userTypeIsPremium");
}
function userTypeIsPremium($user) {
return $user->type = USER_TYPE_PREMIUM;
}
@omarkdev
omarkdev / object-calisthenics-rule1-example3.php
Created March 5, 2019 01:21
Object Calisthenics - Primeira Regra - Exemplo 3
<?php
function premiumUsers($users)
{
return array_filter($users, function ($user) {
return $user->type === USER_TYPE_PREMIUM;
});
}
@omarkdev
omarkdev / design-pattern-null-object-article-example-after.ts
Last active January 9, 2020 18:20
Exemplo DEPOIS da refatoração do artigo Design Patterns: Null Object.
class NullLogger implements Logger {
warn(message: string): void {
}
}
class LoggerFactory {
factory(env: string): Logger {
if (env === 'development') {
return new ConsoleLogger();
}
@omarkdev
omarkdev / design-pattern-null-object-article-example-before.ts
Created January 9, 2020 18:10
Exemplo ANTES da refatoração do artigo Design Patterns: Null Object.
interface Logger {
warn(message: string): void;
}
class ConsoleLogger implements Logger {
warn(message: string): void {
console.warn(message);
}
}
function log(target) {
console.log(target);
}
@log
class Foo {}
// [Function: Foo]
function log(prefix) {
return target => {
console.log(`${prefix} - ${target}`);
}
}
@log('Awesome')
class Foo {}
// Awesome - function Foo() {
function setApiVersion(constructor) {
constructor.api = '0.0.1';
}
@setApiVersion
class Wizard {}
console.log(Wizard); // { [Function: Wizard] api: '0.0.1' }