Skip to content

Instantly share code, notes, and snippets.

@marciol
marciol / README.md
Last active November 6, 2018 13:27
Exemplos de uso do rpay.js

Rakuten Pay: Exemplos de formulários de tokenização e fingerprint

Aqui estão exemplos de como utilizar a API de tokenização e geração de fingerprint do Rakuten Pay.

@marciol
marciol / audit_log_purge.ex
Last active May 3, 2019 23:38
How to purge rows from tables to s3 from a Elixir application using Ports - audit_log_purge.ex
defmodule Mix.Tasks.AuditLogPurge do
use Mix.Task
alias MyApp.Repo
alias MyApp.AuditLog
def run(argv, backup_cmd \\ &build_backup_cmd/3) do
Mix.EctoSQL.ensure_started(Repo, [])
{options, _argv} =
OptionParser.parse!(
argv,
strict: [
@marciol
marciol / audit_log_purge_test.exs
Last active May 3, 2019 23:42
How to purge rows from tables to s3 from a Elixir application using Ports - audit_log_purge_test.exs
defmodule Mix.Tasks.AuditLogPurgeTest do
use RkOneApi.DataCase
import Ecto.Query
import Ecto.Changeset
alias MyApp.AuditLog
alias Mix.Tasks.AuditLogPurge
defp build_fake_backup_cmd(_, _, _), do: "cat"
#!/usr/bin/env bash
#
# Originally from https://gist.github.com/IanVaughan/2902499
#
# authors: Ian Vaughan
# Jacob Zimmerman
#
# usage: uninstall_gems [<version> ...]
#
# examples:
@marciol
marciol / chlorine-config.cljs
Created August 28, 2020 02:24 — forked from mauricioszabo/chlorine-config.cljs
My Chlorine Config
(defn explain-schema []
(p/let [editor-data (editor/get-var)]
(when editor-data
(-> editor-data
(update :text #(str "(if (satisfies? schema.core/Schema " % ") "
"(schema.core/explain " % ")"
"(or #?(:cljs nil :default (:schema (meta (ns-resolve *ns* '" % "))))"
"\"Is not a schema\"))"))
(editor/eval-and-render)))))
@marciol
marciol / sexp-cheat-sheet
Created May 31, 2021 23:58 — forked from dylanmcdiarmid/sexp-cheat-sheet
vim sexp mappings for normal people cheat sheet
.vimrc
" Map leader to comma
let maplocalleader=","
" Toggle this for vim-sexp to not go into insert mode after wrapping something
let g:sexp_insert_after_wrap = 0
" Toggle this to disable automatically creating closing brackets and quotes
let g:sexp_enable_insert_mode_mappings = 1
Vocab
@marciol
marciol / dependencies
Created July 11, 2021 21:37 — forked from mauricioszabo/dependencies
Parallel Consumer Example
[io.confluent.parallelconsumer/parallel-consumer-core "0.3.0.2"]
[fundingcircle/jackdaw "0.8.0"]
@marciol
marciol / flatten.ex
Created July 23, 2021 03:13
After a long time without working with Elixir, I was studying Clojure and did a implementation of flatten, so I did the same with Elixir.
defmodule Flatten do
def flatten(list, holding_list \\ [], flattened \\ [])
def flatten([[h | t] | rest], holding_list, flattened) do
flatten(h, [t, rest | holding_list], flattened)
end
def flatten([h | t], holding_list, flattened) do
flatten(t, holding_list, [h | flattened])
end
@marciol
marciol / .iex.exs
Created September 14, 2021 23:01
IExWatchTests Utility
Code.compiler_options(ignore_module_conflict: true)
Code.compile_file("~/.iex/iex_watch_tests.exs", File.cwd!())
unless GenServer.whereis(IExWatchTests) do
{:ok, pid} = IExWatchTests.start_link()
# Process will not exit when the iex goes out
Process.unlink(pid)
end
FROM hexpm/elixir:1.13.4-erlang-24.3.4.2-debian-stretch-20210902
RUN apt-get update && \
apt-get install -y postgresql-client && \
mix local.hex --force && \
mix local.rebar --force
ENV APP_HOME /app
RUN mkdir $APP_HOME
WORKDIR $APP_HOME