[Ror-es] Color válido
Juanjo Bazán
jjbazan at kflink.com
Fri Sep 29 13:52:08 GMT 2006
Buena idea.
Yo le añadiría un detalle: el que se pueda especificar un color por defecto:
def sanitize_color(color , default=nil)
color = color.to_s.chomp.upcase
color.insert(0, '#') unless color.first == '#'
color =~ /\#([0-9A-F]{3}|[0-9A-F]{6})/ ? color : default
end
Así se puede hacer algo así:
<%= sanitize_color @post.color, 'black' %> o
<%= sanitize_color @post.color, '#442271' %>
Salu2!
Juanjo
----- Original Message -----
From: "Damian Janowski" <damian.janowski at gmail.com>
To: "La lista sobre Ruby On Rails (rubyonrails.com) en castellano"
<ror-es at lists.simplelogica.net>
Sent: Friday, September 29, 2006 3:20 PM
Subject: [Ror-es] Color válido
Hola amigos
Les mando este snippet para validar que un color en hexadecimal sea
válido y que contenga el numeral inicial, como para hacer algo como:
<span style="color: <%= sanitize_color @post.color %>"><%= @post.title
%></span>
Si a alguien se le ocurre cómo mejorarlo, etc., bienvenido :)
Además, si a alguien le parece que el nombre sanitize_color no es
apropiado, comentemelo por favor (yo creo haber seguido el
sanitize_path, etc.)
def sanitize_color(color)
color = color.to_s.chomp.upcase
color.insert(0, '#') unless color.first == '#'
color =~ /\#([0-9A-F]{3}|[0-9A-F]{6})/ ? color : nil
end
Faltaría hacer un helper que ponga el atributo "color: " sólo si
sanitize_color no devuelve nil, porque si no es css inválido.
El selector de color que estoy usando es http://colourmod.com (el que sale
$2)
Saludos!
--
Damian Janowski
damian.janowski at gmail.com
_______________________________________________
Ror-es mailing list
Ror-es at lists.simplelogica.net
http://lists.simplelogica.net/mailman/listinfo/ror-es
More information about the Ror-es
mailing list