09 de Fevereiro de 2024 - @Walmir Neto
Venho aqui para dá continuidade do projeto que eu mostrei Como instalar Ruby e Rails, hoje vou mostrar algumas gems que eu costumo usar para facilitar a vida 😉
Serve para carregar variáveis ambiente de .env
no ENV
em desenvolvimento. Para usar adicione o código abaixo no Gemfile
no grupo de development
e/ou test
group :development, :test do
gem "dotenv-rails", "~> 2.8", ">= 2.8.1"
...
end
Uma coisa que eu aconselho é colocar no .gitignore
altere !/.env*.erb
para !/.env.example
, apesar de ter níveis de prioridade, gosto de fazer assim pois nunca precisei de usar com tantos níveis
Nesse caso o .env.example
ficou assim:
## Application
#
PORT=3001
## Rails
#
RAILS_ENV=development
RAILS_MAX_THREADS=1
SECRET_KEY_BASE=a688359a75e796e4207d3ba7ab0c746a
## Database
#
DATABASE_HOSTNAME=127.0.0.1
DATABASE_USERNAME=rails
DATABASE_PASSWORD=SuperSecretPassword
DATABASE_NAME=rails_demo_development
DATABASE_POOL=5
Ai para funcionar é só duplicar para o .env.example
para o .env
e alterar para suas configurações
Já nas configurações do banco de dados config/database.yml
para o ambiente de desenvolvimento
default: &default
adapter: postgresql
encoding: unicode
host: <%= ENV["DATABASE_HOSTNAME"] %>
username: <%= ENV.fetch("DATABASE_USERNAME", "postgres") %>
password: <%= ENV.fetch("DATABASE_PASSWORD", "") %>
pool: <%= ENV.fetch("RAILS_MAX_THREADS", 5) %>
Normalmente que vem do universo node tá acostumado com hot reload, essa gem é exatamente isso, um hot reload para rails. Acho ela muito útil quando está montando layout no inicio do projeto. Isso se o projeto não for api-only
, se for esquece, talvez não faça tanto sentido
Mas ela é muito fácil de fazer o setup, só abri o terminal no root do projeto e:
bundle add rails_live_reload
rails generate rails_live_reload:install
rails server
Com isso só colocar editor e browser lado a lado e ser feliz
Mesmo quando não existe a necessidade de multi linguagem na aplicação, acho legal tentar usar usar I18n
para os textos e nesse caso essa gem ajuda com as traduções do rails.