sábado, 19 de fevereiro de 2011

Tips: Atualizando rubygems e trabalhando com versões anteriores do rails

Muitos de vocês estão na vibe de rails 3.x e querem sempre usá-lo. Mas sabemos que o mundo é feio e ingrato então logo logo você terá que dar manutenção naquele sistema com rails 2.3.5 e dai vai.
O problema é que se você estiver usando RVM e quiser atualizar seu rubygems para 1.5 ou mais e usar rails 2.3.5 verá a seguinte mensagem:

requirement':NameError: undefined local variable or method `version_requirements' for

Dai em diante é variável mas isso pode ocorrer. O que acontece é que o o rubygems em sua atualização mudou algumas coisas. Para funcionar abra seu environment e abaixo da linha

require File.join(File.dirname(__FILE__), 'boot')

Coloque



if Gem::VERSION >= "1.3.6"
module Rails
class GemDependency
def requirement
r = super
(r == Gem::Requirement.default) ? nil : r
end
end
end
end



Pronto está funcionando =)

sexta-feira, 14 de janeiro de 2011

RubyMasters 2011 vai bombar


E ai meus queridos (hummmm).
Pra quem está procurando novidades, propostas interessantes para aprendizado e explorar um pouco mais de Ruby, chegou a hora de participar de um mega evento.

Se trata do rubymastersconf. De acordo com a própria definição:

Ruby Masters Conf é uma maratona de palestras on-line que será realizado nos dias 25 e 26 de fevereiro de 2011 que contará com grandes nomes da comunidade Ruby e Rails internacional e Brasileira. O evento tem por objetivo compartilhar o conhecimento e ainda arrecadar fundos para projetos opensource.

Preciso informar algo mais? Vamos participar e penso ainda em submeter uma palestrinha.

terça-feira, 30 de novembro de 2010

ScreenCast - Máscaras monetárias e composed of

Olá meus amiguinhos e amiguinhas.

A muito tempo estou prometendo um screencast e agora saiu. Vamos conversar um pouco sobre máscaras monetárias? Bom na verdade abordo o tema de MÁSCARAS DE FORMATAÇÃO.

É muito comum no Brasil termos formatação de campos moeda, cpf, cnpj e data. Mas o problema é que o campo formatado muitas vezes não deve ser armazenado desta maneira. Assim apresento uma solução com jquery e composed_of que é um recurso do Rails que nos permite criar atributos que são compostos por algo, normalmente uma classe. Traduzindo: Se eu disser que o atributo :salario_monetario é composto pela classe Dinheiro ficaria mais claro? Sim...

Bom... os links estão abaixo.

Parte 1 - http://www.youtube.com/watch?v=DgqDF2aadMs

Parte 2 - http://www.youtube.com/watch?v=Mf0m_cQfyXQ

Parte 3 - http://www.youtube.com/watch?v=QXnPq35uDWs

Parte 4 - http://www.youtube.com/watch?v=Yt0kSPlgfqM

Parte 5 - http://www.youtube.com/watch?v=wDgcOKu676M

Parte 6 - http://www.youtube.com/watch?v=glSgDGW8xwc

quarta-feira, 10 de novembro de 2010

PrivateShop.com.br está de volta

Fala moçada.

Gente são 01:34 da manhã então serei breve. Lembram daquele site que eu tinha que vendia produtos de sexshop? Então ele voltou... E agora em Rails... UHU Acessem www.privateshop.com.br
Mas pera ai, o que será que fez eu sair do OSEcommerce e fazer um ecommerce. Primeiro que não fiz nada sozinho não, calma ai, eu não sou doido de recriar a roda. Sai do OSEcommerce pois ele estava com muitos bugs e inconsistências nos relatórios, então pra ter algo simples prefiro eu mesmo fazer.
O que fiz levou 2 horas de trabalho apenas entre desenvolvimento e integração com pagseguro. A idéia é utilizar o carrinho de compras deles inicialmente, ou seja, nenhuma informação do cliente é armazenada no site, tudo fica no pagseguro. Outro ponto que considerei foi o valor do meu negócio mais importante que outras áreas, ou seja, eu vendo portanto a única coisa que funciona no site é a venda.
Posteriormente farei novas adaptações como valor de frete por produto, escolha de pagamento na entrega para pessoas da cidade de Campo Grande MS e pra finalizar e não muito distante, o próprio carrinho, deixando apenas o pagamento nas mãos do pagseguro.
É isso gente, vamos lá divulgando e ajudando meu negócio. (devido ao tema essa frase ficou estranha)

quarta-feira, 6 de outubro de 2010

Dica rápida: Cuidado com required em forms

Olá a todos. Faz um bom tempo que eu não posto nada mas essa não pude deixar escapar.

Estava trabalhando com formulários, rails (não só isto) e validações. Porém na versão 6 do Chrome ao tentar submeter o form ele posicionava o cursor no primeiro campo. Mas isto só acontecia quando o mesmo não estava preenchido.

Imagine minha cara: Por que você está posicionando o cursor neste campo se não tem nenhum javascript que faça isto.

Conversando com Thiago Moretto percebemos que um por motivos internos tivemos que colocar um atributo chamado required="true" dentro de cada input. Acontece que o Chrome entende isto e pede para preencher. Portanto fica a dica, cuidado com o required="true" (alguns plugins do jQuery pedem que faça isto) pois pode fazer você quebrar a cabeça procurando por algo que é nativo. Por outro lado se precisar desta funcionalidade e sua aplicação for voltada somente ao Chrome não precisará desenvolver.

sexta-feira, 13 de agosto de 2010

Máscara monetária em ruby

É gente, finalmente saiu minha contribuição como gem e já adianto, lançarei mais 1 em breve.

Bom vamos ao problema: você tem uma classe com um atributo chamado salário. Mas você quer usar métodos de entrada e saída usando formatos monetários. A teoria é simples mas é um saco tratar isso, além de criar muitos métodos auxiliares acaba não tendo certas garantias.

Pensando nisto criei uma gem chamada Máscara Monetária. Mas quais são as vantagens? Bom primeiramente acredito que o maior benefício é tratar os valores como inteiro. Como assim? Tratar valores como decimal ou ponto flutuante pode ser um problema pois cada banco pode ter sua precisão. Calma, quando escrevo banco é apenas uma utilização mas você pode utilizá-la sem banco de dados. Voltando ao assunto, utilizando inteiro para armazenar você não terá problemas com arredondamentos.

Outro bom motivo é poder inserir valores com máscaras e estes serem convertidos para o formato correto ao serem armazenados.

Bom como é a primeira muitas coisas podem ser modificadas. Quem quiser participar do projeto é só me falar que coloco como commiter. A... o link é claro
github.com/rodrigotoledo/mascara_monetaria

quarta-feira, 4 de agosto de 2010

Mudando os ares

Fala gurizada, beleza?

Bom é chegado o momento de mudança, de novos ares. Estou mudando de empresa. Trabalhei por quase 5 anos na empresa Agence onde aprendi muita coisa. Realmente foi um período muito proveitoso e espero que tudo continue bem na empresa.
Os donos são pessoas que considero e quero bem a todas as pessoas que trabalham lá.
Agora o assunto é Jera. Na verdade a partir do momento em que conheci pessoas como Saulo Arruda, Jefferson Moreira e Adriano Bacha pensei: Vou trabalhar com esses caras.
E deu no que deu. A galera está muito motivada e temos grandes oportunidades para mostrar nosso trabalho. Acompanhem o twitter @jerasoftware e com certeza saberão das novidades.
Trabalharei com o que vier pela frente mas tentarei fazer o meu melhor, o máximo que conseguir.

É isto, fica a dica de dois lugares interessantes para se trabalhar: Agence / Jera


PS.: Fechando Ponto.