Hospedagem na RailsPlayground

13/12/06

Estou pensando em revender planos da RailsPlayground. Então, eu gostaria de saber se você assinaria um plano com as seguintes configurações:

  • 5GB de transferência mensal
  • 500MB de espaço
  • Perl, Python, PHP4/5, Ruby on Rails, TCL e CGI Binário
  • cPanel
  • Ilimitados bancos de dados (MySQL e PostgreSQL)
  • Ilimitados subdomínios
  • E-mails ilimitados
  • SSH
  • SVN e CVS
  • ImageMagick
  • Cronjobs

Darei todo o suporte necessário (como configurar sua aplicação em Rails, instalar seu blog em Wordpress, dentre outras coisas) e se o servidor estiver com algum problema, farei contato com o pessoal da RailsPlayground. Tudo muito transparente.

O valor deste plano? Em torno de R$25,00, mas com preços especiais para pagamentos trimestrais. Se tiver interesse, entre em contato através do meu e-mail.

Update: Confira a lista de sites hospedados neste post.

Exibindo mensagens no Rails

08/12/06

Sempre tive o costume de diferenciar as mensagens que exibo ao usuário em 4 tipos: info, notice, warning e error. Dessa forma, consigo exibir cada mensagem com formato visual diferente.

Exibindo mensagens para o usuário

No Rails é muito simples fazer isso. Basta colocar o método abaixo no arquivo "application_helper.rb".

module ApplicationHelper
  def flash_message
    messages = ""
    [:notice, :info, :warning, :error].each {|type|
      if flash[type]
        messages += "<p class=\"#{type}\">#{flash[type]}</p>"
      end
    }
    
    messages
  end
end

No seu controller, você define as mensagens utilizando o flash.

flash[:notice] = "Informações salvas com sucesso."
flash[:warning] = "Preencha todos os campos obrigatórios."
flash[:error] = "Não foi possível salvar as informações."
flash[:info] = "Você tem mensagens não visualizadas."

Na sua view basta você chamar o método da seguinte maneira:

<%= flash_message %>

Uma outra vantagem de utilizar este método é que caso nenhuma mensagem tenha sido definida, ele não exibe um elemento vazio na página.

Gerando boletos com Rails

03/12/06

Como não vi ninguém falando nada sobre o assunto, e provavelmente vou precisar no meu projeto. Por isso, estou desenvolvendo um sistema para gerar boletos através do Rails. A geração de boletos do Itaú já está pronta, mas pretendo implementar os principais bancos como Real, Brasil e Bradesco.

Muito provavelmente este código não está otimizado ao máximo. Se alguém vir pontos que podem ser otimizados, por favor, me avisem! Outra coisa: ele ainda não foi homologado junto ao banco, mas esta é a parte mais fácil. Se você tiver que utilizar este código, você precisará enviar algumas cópias impressas para o banco para validação.

Gerando os boletos

Primeiro, adicione a linha abaixo no arquivo "environment.rb".

require 'boleto'

Aí, para gerar seu boleto, você faz a instanciação diretamente no controller.

def boleto
  @boleto = Itau.new
  @boleto.cedente = "Nando Vieira"
  @boleto.sacado = "José da Silva"
  @boleto.documento_cedente = "123.456.789-00"
  @boleto.pixel_branco = 'b.gif'
  @boleto.pixel_preto = 'p.gif'
  @boleto.valor = 30.00
  @boleto.agencia = "0047"
  @boleto.conta_corrente = "52881"
  @boleto.nosso_numero = "00001050"
  @boleto.numero_documento = "00513"
  @boleto.data_vencimento = Date.today
  @boleto.local_pagamento = "PAGÁVEL NA REDE BANCÁRIA ATÉ O VENCIMENTO"
  @boleto.instrucao1 = "Pagável na rede bancária até a data de vencimento. Após vencimento pagável somente nas agências do Itaú"
  @boleto.instrucao2 = "DESCONTO DE R$ 59,00 ATÉ 05/11/2006"
  @boleto.instrucao3 = "DESCONTO DE R$ 29,50 APÓS 05/11/2006 ATÉ 15/11/2006"
  @boleto.instrucao4 = "NÃO RECEBER APÓS 15/11/2006"
  @boleto.instrucao5 = ""
  @boleto.instrucao6 = "ACRESCER R$ 4,00 REFERENTE AO BOLETO BANCÁRIO"
  @boleto.sacado_linha1 = "José da Silva"
  @boleto.sacado_linha2 = "CPF: 123.456.789-00"
  @boleto.criar()
 

  render :layout => false
end

Lembre-se: você precisa definir o atributo como @boleto pois é assim que está na view.

O ideal é criar um plugin (acts_as_boleto talvez?) que já faz toda a parte de banco de dados também. No momento não tenho o tempo necessário para aprender a fazer plugins, por isso, se alguém se habilitar…

Licença

A licença é a mesma do Ruby on Rails, ou seja, MIT.

Doações

Se este código for útil para você, considere fazer uma doação através do Paypal.

Downloads