Assembly One
Do zero ao RISC-V
Ruby One
Do primeiro puts ao contrato em produção
Ruby do zero até o módulo de contratos no ar: objetos, blocos, classes, Rails, Active Record, testes e deploy. Um projeto só, o Nortea Hub, a partir do sistema que o pátio já usa de manhã.
R$ 5,99
R$ 24,00
Promoção
Atenção: o idioma desta edição é português.
Edição Brasil
Menos teoria vazia.
Mais código que funciona.
Nada de exemplo solto com foo e bar.
Todo trecho pertence ao mesmo projeto, que cresce capítulo a capítulo —
e os erros aparecem como aparecem na sua tela, para serem lidos linha por linha.
diaria = 18_990taxa = 4_550total = diaria * 17 + taxaputs format("R$ %d,%02d", total / 100, total % 100)
ruby contrato.rbContrato CT-2041: plataforma PT-118bundle exec rspec29 examples, 0 failures
Um sistema só, do primeiro arquivo ao deploy
README.md
A Nortea precisa de um módulo de contratos no Hub que já está no ar desde 2016. Ao longo do livro, esse módulo nasce em Ruby puro e depois entra no Rails: modelos, migrations, rotas, controllers, testes, jobs, API e deploy — sem framework antes da dor.
Do primeiro puts ao contrato em produção.
- Um projeto só: o contrato da Nortea, do sistema no ar ao módulo novo
- Ruby primeiro. O Rails entra quando o arquivo dele está na mesa
- Erros de verdade, lidos linha por linha
- Legado, convenção e o teste que criava um contrato impossível
Leia uma prévia gratuita de Ruby One
Esta amostra contém os primeiros capítulos. O PDF completo continua protegido para compradores.
29 capítulos em 6 partes
Abra uma parte para ver os capítulos — e a frase que abre cada um.
parte 01 O que já está no arDe onde vieram o Ruby e o Rails, o que o dia 3 de junho cobra do contrato, e o primeiro programa na máquina de quem acabou de receber o acesso. 3 cap.
-
01
Fevereiro de 1993Um programador no Japão, um critério de leitura, e vinte anos até o framework que a Nortea já usa de manhã.
-
02
O que vamos construirNove canteiros, uma plataforma em dois lugares ao mesmo tempo, e uma página que o adendo já prometeu.
-
03
O primeiro programaDois Rubys na mesma manhã, e só um deles abre o pátio às 6h.
parte 02 A linguagem que o contrato já falaObjeto, método, decisão, símbolo, lista e bloco. O pedaço do Ruby que o arquivo de produção já usa sem avisar. 6 cap.
-
04
Objetos e tiposTrês diárias de R$ 480 somadas pela planilha davam R$ 480.480.480. O boleto não saiu, e ninguém achou estranho a tempo.
-
05
MétodosUm método de três linhas que ninguém chama. A busca no repositório discordava.
-
06
CondicionaisO contrato estava cancelado desde segunda. O relatório dizia que a plataforma continuava ocupada, e estava certo segundo o próprio código.
-
07
Strings e símbolosO status era active dos dois lados. Um deles tinha dois-pontos na frente, e a comparação dava falso.
-
08
Arrays e hashesA planilha chama de Contrato o que o banco chama de code. O mesmo contrato, dois hashes, nenhuma chave em comum.
-
09
Blocos e enumerablesA lista da Helena tinha quatro plataformas. O select devolveu três. A quarta tinha status nil desde uma importação de 2019.
parte 03 Classes, módulos e falhasO contrato vira um objeto com nome. O módulo mistura comportamento. A exceção diz o que falhou, em vez de seguir calada. 4 cap.
-
10
ClassesO hash aceitava qualquer chave, inclusive statsu. Durante dois dias, o contrato CT-2058 esteve ativo e sem status ao mesmo tempo.
-
11
MódulosO mesmo módulo, incluído em dois models. Um deles redefiniu o total e esqueceu o super. A taxa de entrega sumiu da reserva.
-
12
ExceçõesA lista da manhã saiu vazia. Não havia erro nenhum no log. Havia um rescue que devolvia uma lista vazia quando não achava o arquivo.
-
13
Gems e BundlerUm bundle update sem nome de gem mexeu em quarenta e uma linhas do Gemfile.lock. A página de contratos parou de abrir, e só na máquina da Lívia.
parte 04 Entrando no RailsO framework que já está em produção desde 2016. Modelo, tabela, associação, validação e o callback duplicado. 6 cap.
-
14
O que é o RailsNenhum arquivo do nortea diz que o endereço /contracts chama o ContractsController. O Rails decide pelo nome.
-
15
ModelosVinte e três colunas, três começos, e cada relatório da Nortea lendo um deles.
-
16
MigrationsO banco de produção tinha uma coluna que o schema.rb não tinha. Alguém a criou à mão em 2023, direto no servidor, numa sexta.
-
17
AssociaçõesO contrato da PT-121 foi cancelado na segunda. Na quarta, a plataforma ainda não aparecia entre as disponíveis.
-
18
ValidaçõesO formulário gravava contrato sem responsável. O motorista chegava ao canteiro sem ninguém para assinar a entrega, e a máquina voltava no mesmo caminhão.
-
19
CallbacksUm contrato criado gerava duas reservas da mesma máquina. Um callback era de 2016, o outro de 2021, e os dois tinham razão sozinhos.
parte 05 Do pedido à telaA rota, o controller de trinta e sete commits, a view e o console que a Marta achou que não alterava nada. 4 cap.
-
20
RotasO botão dizia Cancelar contrato. O pedido que ele mandava era POST /contracts — o mesmo endereço de criar um contrato.
-
21
ControllersTrinta e sete commits num método de vinte e oito linhas. Cada um corrigia um caso, e nenhum tirava a correção anterior.
-
22
ViewsNa mesma linha da tela, a plataforma aparecia sem destaque de ocupada e com o rótulo Em uso. A view fazia a mesma pergunta de dois jeitos.
-
23
ConsoleContract.last não era o contrato que a Lívia queria. O update seguinte gravou nele mesmo assim, e o console respondeu true.
parte 06 Provar, integrar, publicarO teste que criava um contrato impossível, o trabalho que não cabe no pedido, a API da Serra Azul e a manhã em que o pátio confere. 6 cap.
-
24
TestesO teste passava desde 2016. A factory fabricava um contrato sem equipamento, sem cliente e sem data — um contrato que o pátio devolveria no portão.
-
25
JobsSalvar um contrato levava oito segundos. Sete e meio eram o e-mail para a Helena, que ela lia no dia seguinte.
-
26
APIsA API devolvia status active. O sistema da Serra Azul comparava com ativo. Nenhum contrato da Nortea aparecia no painel deles.
-
27
AutenticaçãoA credencial da Serra Azul era de leitura. O Diego mandou um POST com ela, e o nortea criou o contrato.
-
28
DeployTerça, 2 de junho, 17h40. O Sérgio queria só subir o ajuste. O pátio carregava a Serra Azul às seis da manhã seguinte.
-
29
Projeto finalQuarta, 3 de junho, 6h. Nove canteiros, a planilha numa mão, o tablet na outra. A Helena conferiu linha por linha.
Outros livros da série
Assembly One
Do zero ao RISC-V
C One
Do zero ao básico em sistemas embarcados e IoT
C# One — Volume 1
Fundamentos de C#
C# One — Volume 2
.NET de verdade
COBOL One
Mainframe para o Século XXI
Java One
Aprenda, evolua, sobreviva e se divirta
JavaScript One
Do primeiro console.log ao painel em produção
Mensageria One
Mensagens, eventos e processamento assíncrono
Receber a prévia
PHP One — Volume 1
Fundamentos do PHP
PHP One — Volume 2
Acelerando com Laravel
Python One
Do primeiro print à API REST em produção
O que leitores dizem sobre Ruby One
Carregando avaliações deste livro…
Ver todas as avaliações deste livro →Ruby One
Do primeiro puts ao contrato em produção. O projeto começa a rodar no primeiro capítulo — e não para mais.
Atenção: o idioma desta edição é português.