A TEXT POST

Validação de cnpj

Estava aki mais uma vez, programando e testando minhas coisas, quando precisei novamente de uma validação de cnpj,(ainda vou postar um de cpf só pra ficar completo) bom poderia estender para cpf também mais vamos manter posts curtos e rápidos de serem utilizados.

Antes uma coisa que gosto de fazer é colocar a gem rails3-generators e factory_girl_rail no gemfile

Vamos lá, preciso de um model, Customer, com um campo de cnpj,

rails generate model Customer company:string cnpj:string name:string presentation:string

Podemos criar um Factory para usarmos no teste

#spec/factories/customers.rb
Factory.define :customer do |f|
  f.sequence(:company) {|n| "MyCompany#{n}"}
  f.sequence(:cnpj) {|n| "96.442.317/0001-5#{n}"}
  f.sequence(:name) {|n| "MyName#{n}"}
  f.presentation "MyString"
end

no test vamos colocar isso:

#spec/models/customer_spec.rb
describe Customer do
  context "is valid" do
    subject do
      Factory(:customer)
    end
    it { should be_valid }
    it "with a valid cnpj" do
      subject.cnpj = "96.442.317/0001-57"
      subject.should be_valid
      subject.cnpj = "96442317/0001-57"
      subject.should be_valid
      subject.cnpj = "96442317/000157"
      subject.should be_valid
    end
  end
  context "is invalid" do
    # subject do
    #   Factory(:customer)
    # end
    it "with name nil" do
      subject.should_not be_valid
    end
    it "with cnpj nil" do
      subject.should_not be_valid
    end
  endend

tudo falha em primeiro lugar, depois vamos colocar pra passar.

O que mais nos interessa é a validação do cnpj no model, que fica assim

#app/model/customer.rb
class Customer < ActiveRecord::Base
  validates_presence_of :name
  validates_presence_of :cnpj
  # 96.442.317/0001-57 OR 96442317/0001-57
  validates_format_of :cnpj, :with => /^\d{2}.?(\d{3}.?){2}\/\d{4}-?\d{2}$/
 end
A TEXT POST

Rails i18n

Rails mais uma vez evoluindo pra 3.1, e temos algumas duvidas de internacionalização. No rails essa parte é bem simples de se entender, assim como outras partes do framework.
Pra colocarmos como exemplo vamos com uma repo do github, rails-i18n que sempre tenho usado pra esses casos de internacionalização.
Em nossa língua, ta bem atualizado, não tem grandes erros, e os textos mais comuns já estão prontos e configurados apenas copiando o pt-BR.yml na pasta configurada no config/application.rb, normalmente em path_app/config/locales

config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]

No mais vou atualizando, porque tem mais detalhes sobre qndo se usa algumas gems de form algumas coisas que podem pegar tudo dos locales. Ai fica bem legal.

A TEXT POST

Apenas um Sorriso

Hoje passei por um situação do cotidiano que a grande maioria das pessoas que moram em grandes cidades devem passar todos os dias. A cena mais comum, motorista com janela aberta, pensando na vida em frente a um semáforo fechado, e na rua uma pessoa vendendo balas ou pedindo ajuda.

Pois bem, eu estava pensando na vida, e reclamando que estava sem dinheiro no final do dia, “Puts, estou com 3 reais na carteira, que droga ficar sem dinheiro”, em alguns pensamentos “egoístas”, me reparo reclamando que não vai dar pra fazer isso ou aquilo no final de semana, só reclamações em pensamento.

No caminho de casa, o semáforo fecha, homem aborda o motorista, do primeiro carro, vendendo balas. Eu já reclamando de tudo penso, “Hiii já vem esse cara vender alguma coisa”, sem ao menos me importar com o que era ou quem era. Vagando na musica que tocava no momento, não percebi a aproximação do “vendedor”, que aborda, “Bala, xicrete, dropss”, e um sorriso. Sorriso falho, e sem amarelado, em uma cadeira de rodas, coisa que eu não havia reparado. Em fração de segundos, o sorriso me atingiu, retirei da carteira 1 real, e o entreguei dizendo que não queria balas.

Depois da lição que o sorriso me deu, continuo meu caminho pensando. Se um cadeirante, trabalhando com um sorriso e alegria, porque eu com todos as coisas e oportunidades que já passei, deveria ficar reclamando e barrando minha própria alegria de viver, perder tempo me queixando. Para min a falta de 1 real pode não ter feito tanta diferença, para o Vendedor de balas, pode não ter feito tanta diferença também, mais me tocar de que na vida as vezes nos perdemos tempo de mais lamentando e reclamando, fez muita diferença, e mudou sim, a minha forma de pensar, com apenas um sorriso.

A TEXT POST

Lista das principais Avenidas da Capital Mineira

sucodestrela:


1- ANEL TERRORVIÁRIO;
 
 2-AVENIDA TÁ UMA ZONA;
 
 3-AVENIDA PRESIDENTE ANTÔNIO CAOS;
 
4-BR 3… 8… XÍ, LÁ VAI MAIS UM…;
 
5-VIA ESTRESSA;
 
6-AVENIDA CRISTIANO TÔ ATRASADO;
 
7-AVENIDA PRESIDENTE CREDO EM CRUZ;
 
8-AVENIDA NOSSA SENHORA DO CRUZAMENTO FECHADO;
 
9-AVENIDA DO TRANSTORNO;
 
10- AVENIDA DOM PEDRO DÁ MEDO;
 
11-AVENIDA AFONSO ME DÁ PACIÊNCIA;
 
12-AVENIDA RAJA AGARRADA;
 
13-AVENIDA DÁ NÃO HOMEM DE MELO.

(Via @lucas_md)

Reblogged from Casual Regular
A TEXT POST

Scaffold com data_select

Scaffold com campo date, legal normal em qualquer sisteminha, mas o essa dica vou passar pra documentar mesmo, o data_select é muito usado no rails, nos momentos de desenv ainda pois na maioria dos casos usa-se algo mais elaborado em jquery e por ai vai.

Estava com um date_select e dando erro de “can’t convert Symbol into String”, até o momento fui no impulso e removendo o Symbol pra uma string, nada. Então uma pesquisadinha e vi o hash option que aceita de parâmetro, com :order e :month_names, ai coloquei claro pra resolver o problema, mas fiquei pensando pq não achou estas coisas?

Eu já havia configurado meu locale, config.i18n.default_locale = ‘pt-BR’, então vamos colocar isso no locale/pt-BR.yml.

Opa não, vamos fazer isso não rails tem muito bem definido DRY (don’t repeat yourself), hehehe não é bem o caso do rails, mais o github ajuda muito nestes casos, o repositório do I18n, rails-i18n / rails / locale / pt-BR.yml .

Bem simples, e resolvemos vários pequenos problemas futuros.

A TEXT POST

Novidade no layout

Coloquei no ar uma novidade simples mais bem legal, um “Fork me on Github”, procurei algumas coisas mas a maioria era um imagem já pronta pra colocar em uma tag img. Não curti muito e achei um em css, que foi bem legal.

No site eles colocam o css prontinho já, é um div com um link para o seu github, mais a inclinação e os efeitos de css chamam a atenção. No link que postei tem 2 exemplos de posicionamento, no horizontal e um inclinado em 45 graus, no canto esquerdo.

Se você quiser colocar no canto superior direito ou esquerdo ai é só personalizar. Não sou ótimo em css, mais arranhei um pouco de css pra trocar a div de lado, no exemplo que usei tinha:
left: -3em;
top: 2.5em;
para trocar de lado é só trocar a referência de left pra rigth,
right: -3em;
top: 2.5em;

Legal né, agora adicione você também, pra facilitar o acesso ao github em blogs de desenvolvedores, gostei da proposta.

A TEXT POST

Anonymous asked: Olá Adimir, tudo bem mano? Seguinte gostaríamos de usar seu testemunho de um twitter seu em nosso novo site da egenial. Você acha que podemos? É aquele sobre o presente de aniversário =)

Sim claro sem problemas.