quarta-feira, 11 de março de 2015

Novo projetinho no ar! \o/

Acabo de publicar o site Vídeos de Ti (www.videosdeti.com.br) que tem o intuito de ensinar, através de vídeo aulas, assuntos relacionados a Ti e a desenvolvimento de software.

A ideia nasceu dos questionamentos que sempre recebo em sala de aula, e nesse caso, para sanar o problema nada melhor que compartilhar o que sempre comento com os alunos.

O projeto ainda está tomando jeito e aos poucos novos vídeos estarão disponíveis. Por enquanto o foco são pessoas que estão iniciando na área e precisam daquele "empurrãozinho".

É isso. Aproveitem e divulguem!




segunda-feira, 8 de dezembro de 2014

Mais uma etapa concluída! Fim da 2a temporada! :D

Olá, pessoal!

Passando aqui só para deixar registrado que semana passada concluí mais uma etapa do nosso curso de Ruby on Rails que tenho mantido no youtube.

Agora que finalizei a 2a temporada, estarei preparando algumas novidades para 2015 e espero que todas elas se concretizem.

É isso. Até a próxima, pessoal!


sábado, 11 de outubro de 2014

Curso de Ruby on Rails para Iniciantes - 2a Temporada

Acabei esquecendo de deixar registrado aqui, mas, já está de volta a 2a temporada do Curso de Ruby on Rails para Iniciantes.

Se você acompanhou a primeira parte do curso, acesse a playlist e continue acompanhando!

Lembre-se, toda semana (segunda-feira), uma nova aula!


sexta-feira, 30 de maio de 2014

Curso de Ruby on Rails para Iniciantes, 1a "temporada" finalizada! :D

É com muita satisfação que encerro hoje a primeira etapa do curso de Rails para Iniciantes que comecei alguns meses atrás.



Quem não pôde acompanhar, as aulas estão todas disponíveis no youtube e podem ser acessadas por qualquer pessoa.

Quero aproveitar e agradecer aqui a todos que contribuiram e contribuem enviando suas dúvidas, sugestões, crítias e feedback de uma forma geral.

É isso aí, agora é esperar a próxima "temporada". O que posso garantir é que vem novidade por aí!

Um abraço, pessoal!

sábado, 29 de março de 2014

DocumentosBr, mais uma contribuição para a comunidade Ruby

Essa semana a coisa rendeu!

Como vocês devem ter acompanhado, semana passada soltei a 'gem' CpfUtils e por tabela comecei a desenvolver uma para CNPJ, já que as mudanças eram mínimas.

No início, pensei em juntar tudo em uma única gem, mas, imaginei que algumas pessoas poderiam por algum motivo não querer uma 'gem' com centenas de funcionalidades que não serviriam para nada, então, resolvi separar as funcionalidade em 'gems' que tivessem um único objetivo.

Pois bem, assim surgiram mais duas 'gems', a CnpjUtils e a TituloEleitorUtils, cada uma atendendo ao seu público.

Após terminar as três 'gems', percebi que também seria interessante ter tudo em uma única gem... :) , apenas como um wrapper para as outras três, o que facilita um pouquinho para quem quer ter as três 'gems' instaladas de uma única vez e assim atender a todos os gostos. Sendo assim surgiu a 'gem' DocumentosBr, que une as funcionalidades das 'gems' que tratam de documentos brasileiros.



DocumentosBr, assim como as outras três gems, estão no GitHub para quem quiser contribuir. Seguem os links:

>> CpfUtilshttps://github.com/jacksonpires/cpf_utils
>> CnpjUtilshttps://github.com/jacksonpires/cnpj_utils
>> TituloEleitorUtilshttps://github.com/jacksonpires/titulo_eleitor_utils
>> DocumentosBrhttps://github.com/jacksonpires/documentos_br

Como sempre, lembro que todas elas estão com 100% de cobertura de testes unitários usando Rspec.

Agora é com vocês!



quarta-feira, 26 de março de 2014

How to test Prawn + Rspec + Capybara on Ruby on Rails?



Eu estava procurando como testar Prawn + Rspec + Capybara no Ruby on Rails e encontrei alguns exemplos na Internet, mas, na maioria dos casos, os testes envolvendo o  Prawn + Rspec estavam no "formado ruby", sem os famosos arquivos de view *.pdf.prawn. Decidi então testar de um modo diferente pois eu queria testar do mesmo jeito que o usuário usa a aplicação, clicando em um link/botão e vendo um PDF no navegador.

Pois bem, esse teste pode ser feito com o Rspec + Capybara + PDF-Inspector que inspeciona o PDF, validando o conteúdo gerado.

Para fazer o teste siga os passos:

>> Você pode ver o exemplo completo no Github <<

Criando o PDF e visualizando no seu browser.

1) Coloque essas gems na sua Gemfile:
  • gem 'prawn'
  • gem 'prawnto_2', :require => 'prawnto'
  • gem 'rspec-rails', '~> 2.0'
  • gem 'capybara'
  • gem 'pdf-inspector'

2) Crie um link com o famoso helper "link_to" garantindo que o  :format => :pdf  foi usado.
  • link_to "click here to generates the PDF", my_link_path(:format => :pdf)

3) Garanta que o controller/action usados no link renderiza o formato PDF.
  • respond_to {|format| format.pdf}
4) Crie uma view com a extensão *.pdf.prawn e coloque os comandos prawn dentro dela para gerar seu PDF.

5) Neste momento, o link pode ser clicado e vocẽ verá o PDF no seu navegador.


Criando os testes com Rspec + Capybara + PDF-Inspector

1) Garanta que o Capybara esteja integrado com o rspec-rails, para isso, no arquivo spec_helper.rb coloque as duas seguintes linhas:
  • require "capybara/rspec"
  • require " capybara/rails"
3) Em alguns casos é necessário incluir a Capybara DSL no Rspec config do do arquivo spec_helper.rb também:
  • Rspec.configure {|config| config.include Capybara::DSL}
4) Crie seu teste:
  • require "spec_helper"

  • describe "Testing Prawn" do
  •     context "PDF" do
  •         it "Shows a PDF by clicking in the link" do
  •             visit "/my_link.pdf"
  •             ext_analysis = PDF::Inspector::Text.analyse(page.body)
  •             expect(ext_analysis.strings).to be_include("some text that you put in your pdf")
  •         end
  •     end
  • end 
Tudo pronto!



Este é o teste que tenho usado para garantir os passos que o usuário fará e também garantir que o conteúdo gerado pelo prawn é o esperado.

Talvez essas explicação não tenha sido o bastante, então, lembre-se que você pode ver o exemplo completo no Github!



==============
In English...

I was searching how to test Prawn + Rspec + Capybara on Ruby on Rails then I found some examples in a Internet but, in the most of cases, the test made by Prawn + Rspec were in "ruby format", without the famous *.pdf.prawn view files. Then I decided to do a test of a different way, because I have want to test in the same way how the user to do when use the application, clicking in a button/link and see  a PDF in a browser.

This test can be done by using Rspec + Capybara + PDF-Inspector that inspect the pdf, validating the generated content.

To do this test follow the steps

>> You can see the entire example on Github <<

Creating and using the PDF with views on your browser.

1) Put these gems on you Gemfile:
  • gem 'prawn'
  • gem 'prawnto_2', :require => 'prawnto'
  • gem 'rspec-rails', '~> 2.0'
  • gem 'capybara'
  • gem 'pdf-inspector'

2) Creates a link with the famous "link_to" helper on the view that goes a link to your PDF and ensure the :format => :pdf are setted.
  • link_to "click here to generates the PDF", my_link_path(:format => :pdf)

3) Ensure that the controller/action that you put in the link render the PDF format.
  • respond_to {|format| format.pdf}
4) Creates a view with the *.pdf.prawn extension and put the prawn commands inside to generates your PDF.

5) In this time, the link can be clicked and you will see the PDF in your browser.


Creating the tests with Rspec + Capybara + PDF-Inspector

1) Ensure the Capybara is integrated with rspec-rails, for this, in the spec_helper.rb file put the two follow lines:
  • require "capybara/rspec"
  • require " capybara/rails"
3) In some cases is needed to include the Capybara DSL on config Rspec, in spec_helper.rb too:
  • Rspec.configure {|config| config.include Capybara::DSL}
4) Creates your test:

  • require "spec_helper"

  • describe "Testing Prawn" do
  •     context "PDF" do
  •         it "Shows a PDF by clicking in the link" do
  •             visit "/my_link.pdf"
  •             ext_analysis = PDF::Inspector::Text.analyse(page.body)
  •             expect(ext_analysis.strings).to be_include("some text that you put in your pdf")
  •         end
  •     end
  • end 
All done!



This is the test that I been used to guarantee the steps that the user will do and the same time guarantee that the content generated from the prawn is the expected.

Maybe this explanation is not enough to you understand, then, remember that you can see the entire example on Github!



sexta-feira, 21 de março de 2014

CPF Utils, mais uma 'gem' na praça! :)

Acabei de publicar uma 'gem' para efeito de estudos. Ela se chama CPF Utils e tem o objetivo de ajudar os desenvolvedores na hora de gerar CPF's para testes, bem como validar CPF's, dentre outras funcionalidades que podem ser vistas no README do projeto.

Pois bem, como as funcionalidades podem interessar aos meus amigos desenvolvedores Ruby/Rails, segue o link (https://github.com/jacksonpires/cpf_utils) para o repositório do Github, bem como o link (https://rubygems.org/gems/cpf_utils) para a página do repositório Rubygems.



Vale ressaltar que todo o código está documentado e coberto por testes unitários usando Rspec.

Que venham as críticas! :)