Ruby on Rails - Bibliotecas
Algumas bibliotecas no Rails
Algumas bibliotecas que já estão presentes no Rails são:
- Active Record: ferramenta de ORM que permite acessar diversos bancos de dados diferentes, facilitando sua manipulação e consulta.
- Action Mailer: utilizado para enviar e-mails com conteúdo dinâmico para usuários
- Action Cable: utilizado para realizar mudanças em tempo real na sua página utilizando WebSocket
Outra biblioteca que não faz parte do framework Rails por padrão mas é muito popular é uma chamada "Devise".
O Devise foi criado pelo brasileiro José Valim e se tornou a solução mais popular de autenticação no Ruby on Rails (que não traz nenhuma robustez por padrão).
O devise é uma biblioteca completa, com 10 módulos de autenticação que podem ser utilizados no seu sistema Rails, são eles:
- Database Authenticatable: guarda senhas criptografadas no banco de dados para validar a autenticidade do usuário no login.
- Omniauthable: adiciona suporte à biblioteca OmniAuth(https://github.com/omniauth/omniauth), que permite login com plataformas como Facebook, Google etc.
- Confirmable: envia e-mail com instruções de confirmação para verificar se uma conta criada já existe e só é desbloqueada quando o usuário clica no link enviado por e-mail.
- Recoverable: reseta a senha do usuário com um link enviado por e-mail com instruções.
- Registerable: permite que o usuário se registre sozinho no sistema, com as opções de editar o perfil e remover a conta.
- Rememberable: permite ao usuário optar pela opção do navegador "se lembrar" que ele já logou no sistema anteriormente.
- Trackable: registra um contador de logins por conta, com a hora e o endereço IP de origem.
- Timeoutable: expira uma sessão que não está ativa por um determinado período de tempo.
- Validatable: provê validação de formato de e-mail e senha de acordo com as configurações do usuário.
- Lockable: trava automaticamente contas com múltiplas tentativas de login dentro de um período curto de tempo. Pode destravar a conta por e-mail ou depois de um determinado tempo automaticamente.
Como se pode observar, a utilização do Devise em uma aplicação Rails permite que se ganhe muita produtividade com todos esses recursos pronto, só precisando ser minimamente configurados em alguns minutos.
Para mais informações sobre o devise visite: https://github.com/heartcombo/devise