Skip to content

Instantly share code, notes, and snippets.

View alejandrobabio's full-sized avatar
🏠
Working from home

Alejandro Babio alejandrobabio

🏠
Working from home
View GitHub Profile
@alejandrobabio
alejandrobabio / gist:f14ad6545e24d25eec02
Last active August 29, 2015 14:25
Script for read google drive
require 'google_drive'
client = Google::APIClient.new(application_name: 'Google Drive Ruby test', application_version: '0.0.1')
key = Google::APIClient::KeyUtils.load_from_pkcs12(
'path to your p12 key file (all the path with file name)',
'your secret here given at download file it seems to be always the same: notasecret')
asserter = Google::APIClient::JWTAsserter.new(
'service account - email address - here',
['https://www.googleapis.com/auth/drive'],
@alejandrobabio
alejandrobabio / tmux-cheatsheet.markdown
Created December 8, 2015 11:55 — forked from MohamedAlaa/tmux-cheatsheet.markdown
tmux shortcuts & cheatsheet

tmux shortcuts & cheatsheet

start new:

tmux

start new with session name:

tmux new -s myname
@alejandrobabio
alejandrobabio / apache_bench.sh
Created June 1, 2016 20:34 — forked from seyhunak/apache_bench.sh
Rails - Apache Bench - Load Testing (if Devise Sign-in Required)
1.
LOGIN_PAGE=http://localhost/users/sign_in
curl --cookie-jar cookie_file $LOGIN_PAGE | grep csrf-token
2.
<meta content="csrf-token" name="csrf-token" />
@alejandrobabio
alejandrobabio / fixtures.rake
Created June 23, 2016 21:41 — forked from ZachBeta/fixtures.rake
Rake task to create fixtures from test database in Rails 3.1
#put in lib/tasks/fixtures.rake
namespace :db do
namespace :fixtures do
desc 'Create YAML test fixtures from data in an existing database.
Defaults to development database. Set RAILS_ENV to override.'
task :dump => :environment do
sql = "SELECT * FROM %s"
skip_tables = ["schema_migrations"]
ActiveRecord::Base.establish_connection(:development)
(ActiveRecord::Base.connection.tables - skip_tables).each do |table_name|
@alejandrobabio
alejandrobabio / hn_seach.js
Created August 17, 2016 14:21 — forked from kristopolous/hn_seach.js
hn job query search
function query() {
var
// HN is done with very unsemantic classes.
job_list = Array.prototype.slice.call(document.querySelectorAll('.c5a,.cae,.c00,.c9c,.cdd,.c73,.c88')),
query_list = Array.prototype.slice.call(arguments),
shown = 0, total = job_list.length;
// Traverses up the dom stack trying to find a match of a specific class
function up_to(node, klass) {
if (node.classList.contains(klass)) {

Deploying to Heroku

  1. Deploy the app to heroku following heroku normal instructions (add link to heroku help)

  2. Set heroku environment variables

    Make sure all the options in config.yml are properly set then run:

     bundle exec rake heroku:config
    

Business Logic / Domain Model structures for Ruby, Rails

@alejandrobabio
alejandrobabio / symbolize.rb
Created November 29, 2017 11:37
Recursive lambda that symbolize keys of a Hash
Symbolize = (l = ->(h) { h.inject({}) { |m, (k,v)| m[(String === k ? k.to_sym : k)] = (Hash === v ? l.(v) : v); m }})
# Example:
hash = { 'task' => { 'description' => 'Ab@ @example @cd', 'target' => { 'label' => 'cd' } } }
Symbolize.(hash)
# => { :task => { :description => "Ab@ @example @cd", :target => { :label => "cd" } } }
@alejandrobabio
alejandrobabio / application.html.slim
Last active December 8, 2017 15:36
dry-web-roda & sprockets
doctype html
html
head
link rel="stylesheet" href=asset("application.css")
script rel="javascript" type="text/javascript" src=asset("ng_application.js")
body
== yield
@alejandrobabio
alejandrobabio / gist:4578ed310cb4a16cea7902f8f454a99e
Last active December 11, 2017 12:09
Using flat_map to flatten a nested array
flat = (l = ->(x) { x.flat_map {|e| Array === e ? l.(e) : e } })
flat.([1, 2, 3, [4, 5, [6], [ ] ] ])
#==> [1,2,3,4,5,6]