Skip to content

Instantly share code, notes, and snippets.

View nelisr's full-sized avatar

Nelis Rodrigues nelisr

View GitHub Profile
@nelisr
nelisr / create-ruby-gem.md
Created May 31, 2019 14:43 — forked from kelvinst/create-ruby-gem.md
Como criar uma gem ruby?

Como criar uma gem ruby?

Escolhi tratar sobre esse assunto hoje simplesmente porque foi uma das primeiras coisas que me perguntei "como eu faço isso?" no mundo ruby. Acredito que muita gente se pergunte a mesma coisa e espero que eu possa ajudar em algo para elas. 😀

O que é uma gem?

Bem, se você é um programador java, você chama sua gem de jar, se você é um programador C#, você chama de dll. Resumindo, é uma lib, uma biblioteca contendo códigos que você pode reaproveitar importando em outros projetos.

E usar gems no ruby é muito fácil, se você já deu uma brincada com rails por exemplo, é só você adicionar o código gem 'nome_da_gem' no arquivo Gemfile que está no root, depois executar o comando bundle install para baixar sua gem do repositório e pronto, só sair usando a biblioteca!

@nelisr
nelisr / .dockerignore
Created May 11, 2019 13:26 — forked from davidderus/.dockerignore
Docker + Rails + Puma + Postgres + Nginx
.git
.gitignore
/doc
.yardoc
coverage
jsdoc
/tmp
/log
Dockerfile
Dockerfile.prod
@nelisr
nelisr / escamboapp
Created September 22, 2017 16:48 — forked from jacksonpires/escamboapp
Arquivo de Configuração NGINX/Site (/etc/nginx/sites-enabled/escamboapp)
upstream escamboapp {
server unix:/tmp/escamboapp.sock fail_timeout=0;
}
server {
listen 80;
server_name escamboapp.com.br;
root /var/www/escamboapp/current/public;
index index.html index.htm;
client_max_body_size 10M;
@nelisr
nelisr / gist:9c1c07a0b660dac6b318e60726e99b1a
Last active June 29, 2017 17:58
Implementando STI - Single Table Inheritance
Neste exemplo eu utilizarei State, City e Upload para ser os models associados.
Mostro logo abaixo um passo a passo como implementar.
1 - Gerar as migrations
## State
class CreateStates < ActiveRecord::Migration[5.0]
def change
create_table :states do |t|
t.string :name
@nelisr
nelisr / escamboapp-https
Created May 17, 2017 13:32 — forked from jacksonpires/escamboapp-https
Arquivo de Configuração NGINX/Site (/etc/nginx/sites-enabled/escamboapp) com HTTPS
upstream escamboapp {
server unix:/tmp/escamboapp.sock fail_timeout=0;
}
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
sudo apt-get install -y build-essential autoconf automake bison libssl-dev libyaml-dev libreadline6 libreadline6-dev
zlib1g zlib1g-dev libncurses5-dev ncurses-dev
libffi-dev libgdbm-dev openssl libc6-dev
libsqlite3-dev libtool libxml2-dev
libxslt-dev libxslt1-dev sqlite3 curl vim git
@nelisr
nelisr / deploy.rb
Last active June 26, 2017 12:02 — forked from jacksonpires/deploy.rb
Configuração global do Capistrano (config/deploy.rb)
set :application, '<Nome da sua App>' # Nome da sua aplicação
set :repo_url, 'git@exemplo.com:eu/sua_app.git' # Repositório git do seu projeto
set :deploy_to, '/var/www/nomedasuaapp'
set :scm, :git
set :branch, 'master'
set :keep_releases, 5
set :format, :airbrussh
set :log_level, :debug
append :linked_files, "config/database.yml"
append :linked_dirs, "log", "tmp/pids", "tmp/cache", "tmp/sockets", "public/system"
@nelisr
nelisr / Vagrantfile
Created April 4, 2017 00:49 — forked from jacksonpires/Vagrantfile
Vagrantfile Rails configuration
VAGRANTFILE_API_VERSION = '2'
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = '<your>/<box>'
config.ssh.insert_key = false # linha obrigatória para Windows
config.vm.network :forwarded_port, guest: 3000, host: 3000 # rails
config.vm.network :forwarded_port, guest: 9292, host: 9292 # rack
config.vm.network :forwarded_port, guest: 4567, host: 4567 # sinatra
config.vm.network :forwarded_port, guest: 1080, host: 1080 # mailcatcher