Powered By Blogger

quarta-feira, 27 de maio de 2009

prototype e jquery rails

Pra fzr funcionar rápido, sem problema é o seguinte:
Insira o jquery antes do prototype na ordem de includes
 


E ao chamar uma função jquery não use mais o MALDITO $
use como o exemplo do próprio Jquery



...pronto... tudo funcionando sem violência, pancadaria e stress! =P

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

sexta-feira, 8 de maio de 2009

Usando expressões regulares simples no rails

Ontem precisei de verificar se um campo texto estava sendo digitado corretamente conforme uma sintaxe bem parecida com CSV, era para verificar uma lista de extensões de arquivos da seguinte forma ".ext" para uma extensão ".ext,.ext2,.ext3" para mais de uma extensão.
A expressão regular simples seria algo do tipo

.(C|N)+(,.(C|N)+)* onde C=caracteres e N números(0a9)

em ruby a expressão foi muito fácil de ser construida e foi a seguinte
/\.\w+(,\.\w+)*/

\. é o caracter "."
\w qualquer palavra (com ou sem números)


#controller
def verifica_texto(txt)
filtro_ext = /\.\w+(,\.\w+)*/
return filtro_ext.match(lista).to_s
end

Se retornar true é que a expressão está correta.

Quando estava escreendo a expressão usei um avaliador de expressões
http://www.rubular.com/
Ao escrever a expressão ele avalia os resultados dado o conjunto passado
muito bom mesmo

Listas de elementos usados nas expressões

[] faixa de caracteres ([a-z] das letras a até z)
\w caracteres usados em palavras; mesmo que [0-9A-Za-z_]
\W caracteres não usados em palavras
\s espaço; mesmo que [ \t\n\r\f]
\S diferente de espaço
\d números, mesmo que [0-9]
\D diferente de números
\b backspace (0x08) (usado somente em faixas)
\b início ou fim de uma palavra (não usado em faixas)
\B diferente de \b
* zero ou mais repetições
+ uma ou mais repetições
{m,n} de m até n repetiçõ
? no máximo uma ocorrência
| OU (operador lógico)
() conjunto

mais exemplos e explicações em:
http://www.rubyist.net/~slagell/ruby/regexp.html

quinta-feira, 7 de maio de 2009

ActiveRecord::SubclassNotFound: The single-table inheritance mechanism failed to locate the subclass: 'type'

Usando uma tabela que já existia, ao fazer a ligação com o Rails tive esse problema causado por existir uma coluna 'type' que não era String e nem referenciava nada pois não era usada como herança era um banco que rodava com outra aplicação.

Gerou o seguinte erro:

"ActiveRecord::SubclassNotFound: The single-table inheritance mechanism failed to locate
the subclass: 'minhatabela'. This error is raised because the column 'type' is reserved for
storing the class in case of inheritance. Please rename this column if you didn't intend
it to be used for storing the inheritance class or overwrite MeuModel.inheritance_column
to use another column for that information."

Bastou alterar o nome da coluna usada para indicar a herança no model:

class MeuModel <>
set_inheritance_column :ruby_type
.
.
.
end

Onde :ruby_type pode ser qualquer nome como "coluna_heranca", etc.

quarta-feira, 6 de maio de 2009

Mozilla Firefox 1Bilhão de downloads

O Melhor browser sem sombra de dúvida está aproximando da inacreditavel contagem de 1.000.000.000, 10^9, 1Giga, downloads......

Foram apresentadas algumas idéias a Mozilla como:
  • contagem regressiva na Times square
  • competição para prever a data/hora +próxima do Download de nº 1G
  • festas, ...
É lógico que tinha que estar disponivel um contador desses no twitter,
http://twitter.com/FirefoxTweets
a cada um milhão de downloads é atualizado o valor

A estimativa proposta até a hora que eu escrevi era para o dia 12/agosto/2009 às 15:59
o valor deve mudar ao longo do tempo acompanhe em : http://www.7is7.com/software/firefox/downloadguesstimator.html

topico:
http://www.spreadfirefox.com/node/3592

Ocultando parametros no development.log, ou production.log

Só adicionar no application.rb ou application_controller.rb(rails 2.3.2+)

filter_parameter_logging :senha, :conta, :etc

no caso de ser só na produção

filter_parameter_logging("senha") if RAILS_ENV == "production"

pode-se desabilitar o log dos dados recebidos por post

config.log_level = :warn

fonte: http://weblog.rubyonrails.org/2006/8/21/filtered-parameter-logging