Skip to content

Instantly share code, notes, and snippets.

View zemd's full-sized avatar
🇺🇦

Dmytro Zelenetskyi zemd

🇺🇦
  • Ikea IT AB
  • Malmö, Sweden
View GitHub Profile
@zemd
zemd / gist:8322a670f3c2a8da0ec6
Created July 12, 2014 21:54
string patching to make slug from current value
require 'iconv'
require 'active_support/core_ext/string'
String.class_eval do
def slugify
Iconv.conv('ASCII//TRANSLIT//IGNORE', 'UTF8', self.mb_chars.downcase).parameterize
end
end
@zemd
zemd / gist:0c0dfb5a5733a6ba279b
Created February 19, 2015 15:20
working with \DateTime
<?php
date_default_timezone_set('UTC');
$micro = explode(" ", microtime());
$micros = substr($micro[0], 1, 7);
$date = date('Y-m-d H:m:i');
$dtString = $date . $micros;
$datetime = DateTime::createFromFormat('Y-m-d H:m:i.u', $dtString, new DateTimeZone('UTC'));
$datetime2 = new DateTime($dtString, new DateTimeZone('UTC'));
$datetime3 = new DateTime("now", new DateTimeZone('UTC'));
@zemd
zemd / DateType.php
Last active August 29, 2015 14:18
Fixing storing dates' milliseconds in mongodb with DoctrineODM
<?php
namespace Opesho\CommonBundle\Doctrine\ODM\MongoDB\Types;
use Doctrine\ODM\MongoDB\Types\Type;
use Opesho\CommonBundle\Utils\DateUtils;
class DateType extends Type
{
public function convertToDatabaseValue($value)
@zemd
zemd / ParseGeonamesCommand.php
Created April 8, 2015 19:51
Parsing data from geonames.org to mongodb
<?php
namespace Opesho\CommonBundle\Command;
use MongoClient;
use MongoDate;
use MongoDB;
use SplStack;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
@zemd
zemd / AddCommandHandlersPass.php
Created April 22, 2015 12:30
API DDD prototype
<?php
class AddCommandHandlersPass implements CompilerPassInterface
{
/**
* You can modify the container here before it is dumped to PHP code.
*
* @param ContainerBuilder $container
@zemd
zemd / DeferredEvent.php
Created April 22, 2015 12:51
Deferred events via rabbitmq
<?php
/**
* Event that handles asynchronously via rabbitmq queue
*
* Usage:
* <code>
* $event = new DeferredEvent(new EmailEvent("from@gmail.com", "to@gmail.com", "message"));
* $dispatcher->dispatch("email.event", $event);
@zemd
zemd / AppBundle.php
Last active December 11, 2015 17:40
Due to standard symfony's mime guessers doesn't detect proper svg files' mime, there should be some simple way to detect it
<?php
namespace AppBundle;
use AppBundle\File\MimeType\SVGMimeTypeGuesser;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AppBundle extends Bundle
@zemd
zemd / DataUriExtension.php
Last active November 14, 2017 16:18
Simple twig extension function that returns datauri string for given file
<?php
namespace AppBundle\Twig\Extension;
use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\HttpKernel\KernelInterface;
/**
* Usage example,
* <img src="{{ data_uri('@AcmeBundle/Resources/public/images/logo.svg') }}">
@zemd
zemd / RouteChecker.php
Created December 11, 2015 19:00
Twig function extension for router checker
<?php
namespace AppBundle\Twig\Extension;
use Symfony\Component\HttpFoundation\RequestStack;
use Twig_SimpleFunction;
class RouteChecker extends \Twig_Extension
{
/** @var RequestStack */
RemoteException {
errorCode: 39,
className: 'java.lang.NullPointerException',
message: null,
stackTrace:
[ StackTraceElement {
declaringClass: 'com.hazelcast.replicatedmap.impl.operation.ContainsKeyOperation',
methodName: 'run',
fileName: 'ContainsKeyOperation.java',
lineNumber: 46 },