Skip to content

Instantly share code, notes, and snippets.

View KamilLelonek's full-sized avatar
🏋️‍♂️
Do you even lift?

Kamil Lelonek KamilLelonek

🏋️‍♂️
Do you even lift?
View GitHub Profile
@KamilLelonek
KamilLelonek / Dockerfile
Created July 22, 2017 19:40
Elixir Dockerfile
# Latest version of Erlang-based Elixir installation: https://hub.docker.com/_/elixir/
FROM elixir:latest
# Create and set home directory
WORKDIR /opt/your_application_name
# Configure required environment
ENV MIX_ENV prod
# Install hex (Elixir package manager)
import request from 'request-promise';
exports.run = async() => {
const bloggers = await global.db.models.Blogger.findAll({
where: {
instagramDemographics: {
$ne: null,
},
},
});
@KamilLelonek
KamilLelonek / keybase.md
Created May 10, 2017 09:56
Keybase proof

Keybase proof

I hereby claim:

  • I am kamillelonek on github.
  • I am squixy (https://keybase.io/squixy) on keybase.
  • I have a public key ASB_XXberRTFg-l0C9iujwtDCYAjhfSMCQ5RjVkHVP6zmAo

To claim this, I am signing this object:

@KamilLelonek
KamilLelonek / config.rb
Created April 29, 2016 04:41
Use Angular Html5Mode with Middleman
# Html5Mode
middleman_sitemap = sitemap
use Rack::Rewrite do
rewrite %r{^[^.]*$}, -> (_, rack_env) do
base_url = rack_env['PATH_INFO']
middleman_sitemap.find_resource_by_path(base_url) ? base_url : '/'
end
end
class CommandHandler::CreateProduct
def call(command)
if command.invalid?
event_store.publish(
ProductValidationFailed.new(command.errors)
)
else
persist_product(command.product)
event_store.publish(
ProductCreated.new(product_id: command.id, name: command.name)
@KamilLelonek
KamilLelonek / dump.sh
Last active April 7, 2016 07:34
Dumping database script
#!/usr/bin/env bash
DAYS_TO_KEEP=6
DB_USER=postgres
DUMP_DIR=/var/db_dumps
function create_dump_dir_unless_exist() {
if ! mkdir -p $DUMP_DIR
then
echo "Cannot create backup directory in $DUMP_DIR" 1>&2
class ValidateSumOfMilliliters
def call(form_object:)
find_juice_by_id.(form_object.juice_id)
.and_then { |juice| validate_sum_of_milliliters(juice: juice) }
.or_else { |error| fail_with_invalid_juice_id(error) }
end
private
def fail_with_invalid_juice_id(error)
interrupt(
def div_check(x, y)
x / y
rescue ZeroDivisionError
raise Errors:UnsupportedMathematicOperation
end
class SqlRepository
def entity_class
raise(NotImplementedError, "Subclesses must define an 'entity_class' method")
end
def load!(entity_id)
entity_class.find_by(id: entity_id) || raise(Errors::EntityNotFound, "Unknown : #{entity_id}")
end
end
@KamilLelonek
KamilLelonek / exceptions.rb
Created March 11, 2016 14:49
An example of handling exceptions
def create
create_product.(product_params)
head :created, location: product_path(product)
rescue UserNotAuthorized => error
render error.message, status: :unauthorized
rescue ProductAlreadyPublished => error
render error.message, status: :unprocessable_entity
end