Boleto no Ruby on Rails – BRCobrança

Olá pessoal !

Cá estou para escrever um pouco sobre a gem BRCobrança(wiki: http://github.com/kivanio/brcobranca/wiki), esta gem depende de alguns pré-requisitos, como ter o RGhost instalado em sua máquina. Como utilizo Mac OS, bastou usar o MacPorts como sugerido em um tutorial que utilizei como guia(tive problemas com o HomeBrew, mas acredito ser por algum conflito com o próprio MacPorts que não desinstalei ainda) e instalou direitinho, o problema foi setar o path, ao tentar executar meus testes, obtinha uma mensagem informando que o path não estava setado:

Ghostscript not found in your environment.
Install it and set the variable RGhost::Config::GS[:path] with the executable path.
Example: RGhost::Config::GS[:path]='/path/to/my/gs'      #unix-style
RGhost::Config::GS[:path]="C:\\gs\\bin\\gswin32c.exe"  #windows-style

Bastou seguir o exemplo que funcionou corretamente. No meu caso ficou:

RGhost::Config::GS[:path]='/opt/local/bin/gs'

Outro detalhe para se atentar, é a versão do Rails a ser utilizada, no meu caso, ainda não estou
utilizando o Rails 3, então deve-se seguir o exemplo:
http://github.com/kivanio/brcobranca_exemplo/tree/rails2

Para quem quiser ver as dependências da gem:
https://rubygems.org/gems/brcobranca

Utilizei a gem apenas para a geração de boletos do banco Itau, mas também é possível gerar boletos para
os bancos: HSBC, Banco Real, Unibanco, Banco do Brasil, Bradesco e Banespa. A geração de boletos, se
você seguir o exemplo do Kivanio, é bem simples, não tem segredo.

Como uma última consideração, eu não recomendaria a utilização deste gem no rWindows pois as pesquisas
que fiz, o pessoal relatou alguns problemas e inclusive o próprio autor da gem não recomenda o uso
neste SO também. Aliás, aproveito aqui para agradecer o autor da gem, o Kivanio Barbosa pela contribuição
para a comunidade e pela atenção com as dúvidas que tive à respeito do BRCobrança.

Até a próxima !

Spreadsheet: solucionando bug em arquivos biff8

Conforme prometido, vou atualizar com mais frequencia este blog e vou começar com um tópico bem interessante no meu ponto de vista: o Spreadsheet, uma gem para manipulação de planilhas Excel.

O Spreadsheet é bem tranquilo de se utilizar, apesar da pouca documentação em seu site(http://spreadsheet.rubyforge.org/GUIDE_txt.html), as tarefas básicas como escrever e ler uma planilha estão bem explicadas e tranquilas de se executar.

Tudo estava lindo e maravilhoso, instalei a gem na minha máquina(sudo gem install spreadsheet), comecei a usar tranquilamente até que me deparo com o seguinte erro ao ler uma planilha extensa:

../spreadsheet-0.6.4.1/lib/spreadsheet/excel/workbook.rb:67:in `shared_string': undefined method `content'
for nil:NilClass (NoMethodError)

Ao procurar uma solução, encontrei o seguinte link que explica melhor este erro:

http://rubyforge.org/tracker/index.php?func=detail&aid=28007&group_id=678&atid=2677

Para resumir, o que acontece é que há um bug no momento de varrer as strings longas nas planilhas que se enquadram no formato BIFF8, onde ao obter os valores(strings) e armazená-los utilizando identificador, ocorre um erro ao definir o tamanho da string que foi armazenada anteriormente pois não considera no tamanho do array os caracteres rich-text e os Asian-phonetics como disse o rapaz que reportou o bug, que felizmente foi resolvido em uma issue no github, onde um commit salvador no arquivo biff8.rb resolve o problema:

http://github.com/mugathur/ruby-spreadsheet/commit/30f8c6b25f87fd34cb76e0377975164a55b40ffa

Isto resolve o problema e deixa o Spreadsheet redondo para ser utilizado.

Ótima gem, recomendo !

 

Obs1: Estou estudando para aprimorar o uso do GitHub, talvez se eu tivesse um maior conhecimento nesta ferramenta, não precisasse dar esta volta toda para solucionar o problema.

Obs2: Reforço aqui, que sou aprendiz e meu conhecimento é muito pouco, o intuito deste blog não é somente ajudar os leitores, mas também que os leitores me ajudem. Caso tenham alguma observação ou correção sempre será bem-vindo !

Ruby e Rails versus ASP = meu cotidiano

Não sei se existe alguém que ainda leia este blog, mas acredito que agora conseguirei postagens mais frequentes. O motivo disto e da minha felicidade é: ESTOU CONSEGUINDO TIRAR O ASP DA MINHA VIDA !!!

Haha, isto mesmo, em meu trabalho atual, as pendências em ASP estão se esgotando e a migração de grandes sistemas em ASP para Ruby on Rails está cada vez mais próxima.

Novos projetos já estão sendo feitos em Ruby on Rails e estou criando ferramentas em Ruby para fazer alguns “trabalhos sujos” que o sistema em ASP não conseguia fazer ou não fazia direito, como cadastro(carga) no sistema através de planilhas gigantes. O que era demorado, doloroso e complicado se torna cada vez mais simples, rápido e prático !

Finalmente estou tendo tempo novamente para ir para a academia, para freelar, para estudar sobre TDD no Rails e ver alguns screencasts atrasados que tenho aqui. Portanto, em breve, se Deus quiser teremos mais posts interessantes neste blog !

 

Até breve !