Configuração de Ambiente
Instalando Ruby on Rails no Ubuntu
Usando RVM (Ruby Version Manager)
O RVM é uma ferramenta muito popular e bem suportada pela comunidade, utilizada para facilitar a mudança entre as versões do Ruby e gerenciar as gemas. Convenientemente o RVM pode ser utilizado para instalar o Ruby.
Preparação do sistema
Para a instalação do Ruby on Rails, é necessário uma preparação prévia na sua máquina. Também é necessário ter acesso de superusuário (root) para atualizar os softwares do sistema.
Primeiramente atualize o gerenciador de pacotes:
$ sudo apt-get update
Instale o CURL:
$ sudo apt-get install curl
Instale Ruby usando RVM
Use RVM, para instalar o Ruby e gerenciar suas versões do Rails.
Se houver uma versão antiga do Ruby instalada na máquina, não há necessidade de removê-la. RVM deixará a versão do sistema como está e usará o SHELL para interceptar qualquer chamada ao Ruby.
O site do RVM explica como instalar o RVM. Está é a forma mais simples:
$ \curl -L https://get.rvm.io | bash -s stable --ruby
A flag --ruby instalará a versão mais recente do Ruby.
Se já existe alguma versão do RVM
Se você já tem uma versão do RVM instalado, atualize para a última versão e instale o Ruby:
$ rvm get stable --autolibs=enable
$ rvm install ruby
$ rvm --default use ruby-2.3.1
Neste exemplo utiliza-se a versão 2.3.1 do Ruby, mas pode ser modificado para outra versão se necessário.
Instale Node.js
Para desenvolvimento no Ubuntu Linux é melhor instalar o ambiente javascript Node.js server-side.
$ sudo apt-get install nodejs
e configure o $PATH.
Se não tiver o Node.js instalado, será necessário adicionar ao Gemfile para cada aplicação Rails que for criada:
gem 'therubyracer'
Verifique o Gerenciador de Gems
RubyGems é o gerenciador de Gems no Ruby.
Verifique a versão do gerenciador instalado com o seguinte comando:
$ gem -v
2.3.1
Para atualizar utilize $ gem update --system.
Instale o Bundler
Bundler é uma ferramenta essencial para gerenciar as gems quando se está desenvolvendo e rodando aplicações Rails.
$ gem install bundler
Opções de instalação Rails
Verifique a versão do Rails atual:
$ rails -v
Rails 5.0.0
Instale então o rails:
$ gem install rails
e verifique sua versão após a instalação:
$ rails -v
Desta forma será instalado a última versão estável, se for necessária uma versão específica utilize o comando a seguir.
Por exemplo, se for necessária a versão do Rails 3.2.18:
$ gem install rails --version=3.2.18
$ rails -v
Fonte de informação: Site RAILSAPPS
Arquitetura MVC Ruby on Rails
- Model: Contém dados ou Informações sobre a aplicação, além do estado da mesma, juntamente com as regras do negócio;
- View: Interface para ver e modificar os dados/informações. É passiva – o que quer dizer que não processa nada;
- Controller: Realiza operações ou manipulações nos dados/informações interagindo com a Model e interpreta os eventos realizados na View.
A Model representará as informações ou dados abstraídos do mundo real, de modo que esta também não depende da Controller ou View. A View mostrará o dados contidos na Model e pode também obter e/ou atualizar os dados da mesma e envia as ações executadas pelo usuário para a Controller. A Controller proverá os dados contidos na Model para a View, além de interpretar as ações do usuário – como clicar em um botão, funciona como um link entre o usuário e o próprio sistema em si.
WebSockets
O que é?
WebSockets é uma tecnologia avançada que torna possível abrir uma comunicação interativa entre o navegador do usuário e o servidor, criando um canal bidirecional para a comunicação entre eles. Esta tecnologia é a chave para o desenvolvimento de aplicações em tempo real.
WebSockets VS Protocolo HTTP
A tecnologia de WebSockets veio para satisfazer uma demanda mundial: a instantaneidade das informações. Desta forma, o paradigma "Requisição-Resposta" entre usuário e servidor do HTTP torna-se obsoleto em vista das exigências modernas.
Websockets utilizam um canal para manter a conexão aberta, o Action Cable. Assim, as requisições dos usuários e servidores podem ser efetuadas em tempo real.
DOJO de linguagem (material didático)
Rails Tutorial - Michael Hartl
https://www.railstutorial.org/
Codecademy
Ruby
https://www.codecademy.com/pt-BR/learn/ruby
Rails
https://www.codecademy.com/pt-BR/learn/learn-rails
Rails Authentication
https://www.codecademy.com/pt-BR/learn/rails-auth
Caelum
Ruby on Rails
https://www.caelum.com.br/apostila-ruby-on-rails/ruby-on-rails/
Ruby Gems
https://rubygems.org/
DOJO de testes (material didático)
Code school
https://www.codeschool.com/courses/testing-with-rspec
Usando o RSpec para testar sua aplicação Rails - Modelos
https://nandovieira.com.br/usando-o-rspec-para-testar-sua-aplicacao-rails-modelos