Skip to content

Instantly share code, notes, and snippets.

View reu's full-sized avatar

Rodrigo Navarro reu

View GitHub Profile
@reu
reu / farfetch-graphql.js
Last active March 3, 2017 16:19
Farfetch GraphQL fragments plugin
const graphQLFragments = (fragments = {}) => req => {
const uniq = list => list.filter(value => list.indexOf(value) == list.lastIndexOf(value));
const hasFragment = graphQL => graphQL.match(/\.{3}\s*([A-Za-z0-9\_]+)/g) != null;
const findFragments = graphQL =>
graphQL
.match(/\.{3}\s*([A-Za-z0-9\_]+)/g)
.map(fragment => fragment.trim().replace(/^\.{3}/, ""))
.filter(fragment => fragment.match(/\s+on\s+/) == null)
.map(fragment => {
if (fragment in fragments) {
@reu
reu / cpf.js
Created May 9, 2016 18:14
CPF validator JS
"use strict";
const blackList = [
"00000000000",
"11111111111",
"22222222222",
"33333333333",
"44444444444",
"55555555555",
"66666666666",
@reu
reu / session_file_store.rb
Created April 24, 2016 00:31
Rails session file store
class SessionFileStore < ActionDispatch::Session::AbstractStore
def get_session(env, sid)
sid ||= generate_sid
session = Marshal.load(IO.binread(tmp_file(sid))) rescue nil
[sid, session.presence || {}]
end
def set_session(env, sid, session, options)
Dir.mkdir(sessions_path) unless Dir.exist? sessions_path
IO.binwrite(tmp_file(sid), Marshal.dump(session))
@reu
reu / load.rb
Created January 7, 2016 01:05
HTTPS load testing
require "socket"
require "openssl"
require "thread"
require "thwait"
require "benchmark"
require "optparse"
require "net/http"
require "csv"
require "uri"
@reu
reu / response-to-object.js
Created September 23, 2015 14:41
Simple Angular function to convert underline case object keys to camel case
(function(angular) {
function underlineToCamelCase(string) {
return string.replace(/(\_[a-z])/g, function(match) {
return match.toUpperCase().replace("_", "");
});
}
function convertToCamelCaseObject(object) {
if (typeof object != "object") return object;
@reu
reu / README.md
Created September 16, 2015 17:27
Ruby Globe

Run with while true; do clear; ruby a.rb | tee b.rb; sleep 1; mv -f b.rb a.rb; done

@reu
reu / rm-codeplane-user.rb
Last active September 14, 2015 13:44
Removes an user from all repositories of a Codeplane account
#!/usr/bin/env ruby
require "rubygems"
require "codeplane"
require "optparse"
Codeplane.configure do |config|
ARGV.options do |opts|
opts.on("-u", "--user=username", String) { |val| config.username = val }
opts.on("-p", "--api-key=key", String) { |val| config.api_key = val }
@reu
reu / README.md
Created September 8, 2015 15:55
Scala underscore in Ruby

Scala's Undersore in Ruby

Yeah, Ruby is awesome:

# Without underscore
[1, 2, 3].map { |i| i + 1 }
[{ name: "Sasha" }, { name: "Tori" }].map { |actress| actress[:name] }

# With underscore
@reu
reu / README.md
Last active August 29, 2015 14:27
Gulp plugin to pre-process HTML template includes.

Gulp Template

This plugin allows you to directly include HTML templates into a Javascript file.

Example

Given the following template:

template.html

@reu
reu / fib.clj
Created June 21, 2015 04:46
Infinite Fibonacci sequence
(def fib-seq
((fn fib [a b] (cons a (lazy-seq (fib b (+ b a))))) 1 1))