A plataforma de comunicação livre e soberana Blogoosfero é desenvolvida usando como base o software livre brasileiro Noosfero.
Como você já sabe, o Noosfero é uma plataforma web livre para redes sociais e de economia solidária que possui as funcionalidades de Blog, e-Portfolios, CMS, RSS, discussão temática, agenda de eventos e inteligência econômica colaborativa num mesmo sistema! O Noosfero utiliza a linguagem de programação Ruby com framework Rails.
Para que você possa conhecer um pouco mais o framework usado para desenvolver o noosfero e consequentemente o Blogoosfero disponibilizamos aqui um resumo dos comandos Rails baseado no artigo de O Guia de Comandos do Rails de Leonardo Scorza.
Conheça os comandos, arrisque uns códigos e, quem sabe, de repente, você estará desenvolvendo aplicações e compartilhando conhecimento com o mundo.
Os comandos do Rails
Existem muitos comandos do Rails (que são rodados no console, em linha de comando) que podem acelerar o desenvolvimento do seu projeto e diminuir o retrabalho, eu fiz uma lista com todos os comandos (e argumentos para esses comandos) que me parecem relevantes na prática e que podem tornar sua vida mais fácil.
Note que neste guia usamos o comando rails ao invés de rake porque seguimos o padrão do Rails 5, porém se você estiver usando uma versão mais antiga do Rails e tiver problemas na hora de rodar tarefas como rails db:seed, tente usar rake db:seed.
Rodando o Servidor
rails s [SERVER] [OPTIONS]
Rodar o servidor de desenvolvimento do Rails talvez seja o comando mais básico que exista, mas existem alguns argumentos opcionais que desenvolvedores mais iniciantes não conheçam, então vamos lá:
a) Subindo o servidor de desenvolvimento do Rails no localhost:3000
rails server
ou simplesmente
rails s
b) Subindo usando outro servidor no localhost:3000
rails s webrick
Argumentos: webrick (ou outro servidor), caso você esteja usando outro servidor que não seja o padrão.
c) Subindo o servidor de desenvolvimento do Rails na porta 4000 no localhost
rails s -p 4000
Argumento: -p seguido do numero da porta que você deseja (4000, 8080 etc)
d) Subindo o servidor de desenvolvimento utilizando as configurações de production no localhost:3000
rails s -e production
Argumento: -e seguido do nome do ambiente que você deseja (production, development, staging e etc)
e) Subindo o servidor de desenvolvimento como Daemon (vai rodar independente de você estar com o console aberto) no localhost:3000
rails s -d
Argumento: -d
f) Sobe o servidor de desenvolvimento do Rails “no IP 127.0.0.5” na porta 3000
rails s -b 127.0.0.5
Argumento: -b seguido do IP desejado (127.0.0.5 e etc)
Rodando o Console
rails c [ENVIRONMENT] [OPTIONS]
Rodar o console do Rails pode ajudar a depurar nosso sistema, vamos conhecer algumas possibilidades:
Rodando o console
rails c
Rodando o console no ambiente de production
rails c production
Argumentos: production (ou outro ambiente desejado tal como development, staging e etc) diz para o Rails console que você deseja usar as configurações do ambiente escolhido
Rodando o console no Sandbox (Não altera os dados do db ao final do processo)
rails c --sandbox
Argumentos: –sandbox é ideal para você realizar seus testes sem afetar os dados da sua aplicação, ao final da utilização do rails console ele vai dar rollback nas mudanças que você fez no banco de dados.
Acessando o Console do Banco de Dados
rails db
Este é um comando pouco conhecido que te permite acessar o console do seu próprio banco de dados. Quando você roda esse comando o rails verifica qual é o seu banco de dados e usa seus dados de acesso (config/database.yml) para te logar no console do seu banco de dados.
Acessando o Banco de dados
rails db
Manipulando o Banco de Dados
rails db:[OPTIONS]
Criar o banco de dados, rodar as migrations e etc são passos comuns no dia a dia do desenvolvimento com o Rails, mas existem alguns argumentos um pouco menos conhecidos.
Criando o banco de dados:
rails db:create
Deletando o banco de dados:
rails db:drop
Resetando o banco de dados:
Realiza o drop (apaga os dados) e em seguida o create (volta zerado).
Rodando as migrations (alterando o banco de dados):
rails db:migrate
Desfazendo a última migration:
rails db:rollback
Desfazendo as últimas 3 migrations:
rails db:rollback STEP=3
Argumentos: STEP, esse argumento permite você voltar quantas migrations desejar.
Refazendo as últimas 3 migrations:
rails db:migrate:redo STEP=3
Se você se arrependeu do rollback, você pode refazer as últimas x migrations.
Argumentos: STEP, esse argumento permite você refazer quantas migrations desejar.
Populando o banco de dados:
rails db:seed
O seed é um arquivo que fica em “/db/seeds.rb” que você pode rodar para popular seu banco de dados com algumas informações pré definidas. Isso é útil para você configurar rapidamente seu ambiente de desenvolvimento com usuários padrões e etc.
Pegando a versão atual do banco de dados:
rails db:version
Rodando a migrations em production:
rails db:migrate RAILS_ENV=production
Argumentos: production (Ou outro ambiente que deseje)
Rodando códigos Ruby com o contexto do Rails
rails r [OPTIONS] [ALVO]
O rails runner permite que você rode métodos de models, arquivos da lib e etc diretamente do console e usando o contexto do seu Projeto. Isso pode ser útil em algumas circunstancias, como rodar uma rotina que sincronize sua aplicação com uma base dados externo em caso de falha dos seus workers ou algo assim. (Use com sabedoria)
Rodando um método de um Model
rails r "User.sync"
Augumentos: “User.sync” (Ou qualquer outro método de um model) é o alvo do runner que será executado.
Rodando um arquivo da Lib em Production
rails runner -e production lib/sync_users.rb
Argumentos:
- “lib/sync_users.rb” (Ou qualquer outro path para um arquivo ruby) é o alvo do runner que será executado.
- -e (ou outro nome de ambiente) diz qual ambiente usar (production, stagging, development e etc).
Informações rápidas sobre a aplicação
rails about
Um dos comandos que eu não conhecia e descobri enquanto fazia a pesquisa para este artigo é o rails about, ele pode ser uma “mão na roda” para quando você entra em um novo projeto e precisa se contextualizar sobre algumas informações básicas como a versão do Rails, Database utilizado, Middleware e etc.
Pegando as informações do App no ambiente de development:
rails about
Um exemplo de retorno do comando:
Pegando as informações do App em Production
RAILS_ENV=production rails about
Obs: Você pode mudar production para qualquer ambiente que deseje.
Alguns números sobre a sua Aplicação
rails stats
O rails stats devolve alguns números interessantes sobre o seu App como a quantidade de classes de models que você possui, o numero de classes de Controller e também os números de classes de teste que você possui. Isso dá uma visão do tamanho que seu App possui entre outros insights.
Pegando os números:
rails stats
Um exemplo de resultado para uma aplicação pequena:
Rails Generate
rails generate [OPTIONS] [ARGUMENTS]
O rails generate talvez seja a parte mais importante para acelerar o desenvolvimento do seu App porque com ele você consegue gerar Controllers, Models, Migrations e etc em um único comando, vamos descobrir as possibilidades.
Gerando um Controller User com um método create:
rails generate controller User create
Argumentos:
- User (ou outro nome que você deseje) é o nome do controller que vai ser gerado.
- create (ou outro nome que você deseje) é o nome do método que você deseje.
Arquivos gerados:
Gerando um Model (e migration) Car com os campos type(string) e description(texto):
rails generate model Car type:string description:text
Argumentos:
- Carro (ou outro nome que você deseje) é o nome do model que vai ser gerado.
- type:string, campo type que vai ser criado no banco de dados do tipo string.
- description:text campo description que vai ser criado no banco de dados do tipo Texto.
Arquivos gerados:
Gerando um Mailer User:
rails generate mailer UserMailer
Argumentos:
- UserMailer (ou outro nome que você deseje) é nome do mailer que vai ser gerado.
Arquivos gerados:
Gerando um Scaffold Travel com os campos date(string) e title(string):
O Scaffold gera um CRUD básico para sua aplicação com views, controllers, routes, migrations e etc.
Pode ser uma maneira interessante de criar rapidamente uma estrutura para seu App.
rails generate scaffold Travel date:datetime title:string
Argumentos:
- Travel (ou outro nome que você deseje) é o nome que vai ser usado nos arquivos gerados.
- date:datetime, campo do tipo datetime que vai ser usado nas migrations, views e etc.
- title:string, campo do tipo string que vai ser usado nas migrations, views e etc.
Arquivos gerados:
*OBS: Se você quiser evitar que o Scaffold gere as migrations você pode usar o arqumento –skip-migration
Rails Destroy
rails destroy [OPTIONS] [ARGUMENTS]
O rails destoy te ajuda a remover os arquivos criados através do rails generate, isso é bem útil quando você utiliza um nome incorreto na hora de gerar seus arquivos e etc.
Destruindo o Controller User
rails destroy controller User
Argumentos:
- User (ou outro nome que você deseje) é o nome do controller que vai ser destruído.
Resultado no console:
Destruindo o Model Car
rails destroy model Car
Argumentos:
- Car (ou outro nome que você deseje) é o nome do model que vai ser destruído.
Resultado no console:
Destruindo o Mailer User
rails destroy mailer UserMailer
Argumentos:
- UserMailer (ou outro nome que você deseje) é o nome do mailer que vai ser destruído.
Resultado no console:
Destruindo o Scaffold Travel
rails destroy scaffold Travel
Argumentos:
- Travel (ou outro nome que você deseje) é o nome do scaffold que vai ser destruído.
Resultado no console:
Conclusão e mais comandos
Esse guia pode te ajudar a descobrir e se lembrar de alguns comandos na hora de desenvolver uma nova aplicação, principalmente se você está começando no mundo do Rails.
Você pode descobrir mais alguns comandos e alguns argumentos direto na documentação do rails clicando aqui ou rodando no console:
rails generate
0sem comentários ainda
Por favor digite as duas palavras abaixo