Skip to content

Instantly share code, notes, and snippets.

Lucas Arruda LucasArruda

Block or report user

Report or block LucasArruda

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@LucasArruda
LucasArruda / libreadline_7_not_found.sh
Created Jan 16, 2019
Ruby on Rails console load error after brew update -> Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)
View libreadline_7_not_found.sh
# Ruby on Rails console load error after brew update
# Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)
ln -s /usr/local/opt/readline/lib/libreadline.8.0.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
@LucasArruda
LucasArruda / ruby_conf_br_2017.md
Last active Mar 27, 2018
RubyConfBR 2017 summary of some of the presentations
View ruby_conf_br_2017.md

Bundler 2.0

  • Slowly being introduced as bundler starts to show it's age
  • Already working well and coming out of beta
  • Caching (github, gem, ext)
  • Multi-source (now safe to do)
  • No more platform issues (win vs linux vs unix)
  • We should prepare to migrate soon

https://speakerdeck.com/segiddins/bundling-bundler-2-dot-0

@LucasArruda
LucasArruda / create_review_app_subdomain.rake
Created Jan 22, 2018 — forked from dansteele/create_review_app_subdomain.rake
Use a sub-subdomain on Heroku review apps with DNSimple. Run this task from your app.json in your postdeploy script.
View create_review_app_subdomain.rake
namespace :staging do
desc 'create subdomain DNS record for Heroku review app'
task :publish_dns do
require 'dnsimple'
require 'platform-api'
STAGING_DOMAIN = 'mystagingdomain.com'.freeze
DNSIMPLE_ACCOUNT_ID = .freeze
heroku_app_name = ENV['HEROKU_APP_NAME']
subdomain = heroku_app_name.match(/.*(pr-\d+)/).captures.first
@LucasArruda
LucasArruda / application.rb
Created Nov 28, 2017 — forked from averyvery/application.rb
Inline CSS or JS in Rails
View application.rb
config.assets.precompile += [
# precompile any CSS or JS file that doesn't start with _
/(^inline[^_\/]|\/[^_])[^\/]*.(js|css)$/,
...
@LucasArruda
LucasArruda / gist:b0461143e64756e35b3c778116c67e66
Created Nov 6, 2017 — forked from giannisp/gist:ebaca117ac9e44231421f04e7796d5ca
Upgrade PostgreSQL 9.6.5 to 10.0 using Homebrew (macOS)
View gist:b0461143e64756e35b3c778116c67e66
After automatically updating Postgres to 10.0 via Homebrew, the pg_ctl start command didn't work.
The error was "The data directory was initialized by PostgreSQL version 9.6, which is not compatible with this version 10.0."
Database files have to be updated before starting the server, here are the steps that had to be followed:
# need to have both 9.6.x and latest 10.0 installed, and keep 10.0 as default
brew unlink postgresql
brew install postgresql@9.6
brew unlink postgresql@9.6
brew link postgresql
@LucasArruda
LucasArruda / install icu
Last active Sep 7, 2017 — forked from giniedp/install icu
install icu on machttp://site.icu-project.org/download/58
View install icu
curl -O https://ufpr.dl.sourceforge.net/project/icu/ICU4C/58.2/icu4c-58_2-src.tgz
tar xzvf icu4c-58_2-src.tgz
cd icu/source
chmod +x runConfigureICU configure install-sh
./runConfigureICU MacOSX
make
sudo make install
View friendly_urls.markdown

Friendly URLs

By default, Rails applications build URLs based on the primary key -- the id column from the database. Imagine we have a Person model and associated controller. We have a person record for Bob Martin that has id number 6. The URL for his show page would be:

/people/6

But, for aesthetic or SEO purposes, we want Bob's name in the URL. The last segment, the 6 here, is called the "slug". Let's look at a few ways to implement better slugs.

View fix_brew.sh
#!/bin/sh
cd $(brew --prefix) && git fetch && git reset --hard origin/master
brew update
@LucasArruda
LucasArruda / add-css-vanilla.js
Last active Aug 29, 2015
Add CSS or JS on the fly
View add-css-vanilla.js
function loadCss(url) {
var link = document.createElement("link");
link.type = "text/css";
link.rel = "stylesheet";
link.href = url;
document.getElementsByTagName("head")[0].appendChild(link);
}
View uri.js
var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";
parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port; // => "3000"
parser.pathname; // => "/pathname/"
parser.search; // => "?search=test"
parser.hash; // => "#hash"
parser.host; // => "example.com:3000"
You can’t perform that action at this time.