module ActsAsBoletoHelper
def esquerda(entra,comp)
return entra[0,comp]
end
def direita(entra,comp)
return entra[(entra.size-comp),(comp)]
end
def fbarcode(valor)
fino = 1
largo = 3
altura = 50
barcodes = []
barcodes[0] = "00110"
barcodes[1] = "10001"
barcodes[2] = "01001"
barcodes[3] = "11000"
barcodes[4] = "00101"
barcodes[5] = "10100"
barcodes[6] = "01100"
barcodes[7] = "00011"
barcodes[8] = "10010"
barcodes[9] = "01010"
for f1 in (0..9).to_a.reverse
for f2 in (0..9).to_a.reverse
f = (f1 * 10) + f2
texto = ""
for i in (1..5)
#texto += barcodes[f1][(i-1),1] + barcodes[f2][[i-1],1]
j = i -1
texto += barcodes[f1][j,1] + barcodes[f2][j,1]
end
barcodes[f] = texto
end
end
#Guarda inicial
desenho_barra = "
"
desenho_barra += "
"
desenho_barra += "
"
desenho_barra += "
0
i = esquerda(texto,2).to_i
texto = direita(texto,texto.size-2)
f = barcodes[i]
x = []
(1..10).to_a.each { |i| x << i if not (i % 2) == 0 }
for i in x
if f[(i-1),1] == "0"
f1 = fino
else
f1 = largo
end
desenho_barra += "src=/images/p.gif width=#{f1} height=#{altura} border=0>![]()
![]()
![]()
"
session[:barra] = desenho_barra
return desenho_barra
end
end