Skip to content

Instantly share code, notes, and snippets.

View lcguida's full-sized avatar
🏠

Leandro Guida lcguida

🏠
View GitHub Profile
@lcguida
lcguida / autoload.rb
Created February 22, 2022 21:45
Debug rails autoloading
module Rails
class Application
alias_method :old_eager_load, :eager_load!
def eager_load!
puts "Eager Loading from Rails::Application"
old_eager_load
end
end
end
@lcguida
lcguida / gsearch.rb
Created July 14, 2020 13:00
Search my commits given a period
#!/usr/bin/env ruby
require 'date'
def print_usage
puts "USAGE: gsearch <from> [<to>]"
exit 1
end
print_usage if ARGV.size < 1 || ARGV.size > 2
@lcguida
lcguida / to_csv.rb
Last active June 20, 2020 19:06
Ruby script to trasnform my father accounting excel in a formated CSV to later be trasnformed in OFX
#!/usr/bin/env ruby
require 'rubyXL'
require 'rubyXL/convenience_methods'
require 'csv'
# Do not show gem warnings. See: https://github.com/weshatheleopard/rubyXL/blob/3fffae09589e7c7491243402aed2c473e4469107/lib/rubyXL/objects/relationships.rb#L85
module RubyXL
@@suppress_warnings = true
end
@lcguida
lcguida / bash_debug.sh
Created June 2, 2019 20:18
Debug when environment variables is set
set -e
if [[ -n "${DEBUG}" ]]; then
set -x
fi
@lcguida
lcguida / setup_ubuntu.sh
Last active November 28, 2018 16:10
Ubuntu new install setup
#!/bin/bash
set -xe
# Update the system
sudo apt -y update && sudo apt -y upgrade
# Make GRUB remeber the last chosen entry
function grub_set_remeber_last_option () {
grub_file=/etc/default/grub
@lcguida
lcguida / currency.1h.rb
Created September 7, 2018 15:53
BitBar script to show BRL currency
#!/usr/bin/env ruby
require 'net/http'
require 'json'
url = "http://data.fixer.io/api/latest?access_key=${ENV['FIXER_API_KEY']}&symbols=BRL"
response = Net::HTTP.get(URI(url))
body = JSON.parse(response)
rate = body['rates'] && body['rates']['BRL'] # sometimes I work with ruby 2.2 which doesnt have dig =(
@lcguida
lcguida / export.rb
Last active August 30, 2018 12:54
Exemplo de batch action ActiveAdmin (Grupo Rails - Facebook)
ActiveAdmin.register MyModel do
# ..
# Configura essa página do active admin para utilizar batch actions
config.batch_actions = true
# Remove a action destory em batch (Você pode controlar outras coisas por aqui)
batch_action :destroy, false
# Cria a action export
@lcguida
lcguida / build_database_docker_image.sh
Last active June 4, 2018 12:48
Creating a postgresql docker image from production database
#!/bin/bash
# Fail script if a command fails
set -x
# Grab the latest postgresql:9.4-alpine image
docker pull postgres:9.4-alpine
# We will name our container as `pg_tmp`, so we will
# make sure that no container with this name is running
@lcguida
lcguida / must_call.rb
Created November 17, 2017 12:09
Minitest `must_call`
# Wrapper to mock.verify procedure when asserting
# a method is called in minitest
class Object
def must_call(method_name, returns: nil, arguments: [])
mock = Minitest::Mock.new
mock.expect(:call, returns, arguments)
self.stub(method_name, mock) do
@lcguida
lcguida / update_jenkins.sh
Created August 18, 2017 11:07
Jenkins update script
#!/bin/bash
JENKINS_PATH=/usr/share/jenkins
echo -n "Removing old jenkins.war backcups ... "
rm -rf $JENKINS_PATH/jenkins.war.*.bkp
echo "Done"
echo -n "Backing up the current jenkins.war file ... "
cp $JENKINS_PATH/jenkins.war $JENKINS_PATH/jenkins.war.$(date +"%Y%m%d").bkp