Uma coisa boba e que toma tempo (quando não se sabe) é trocar os apostrofos ( ' ) por ( \' ) para serem usados em SQL.
Uma linha simples resolve o problema:
str.gsub!('\'') {|s| %q{\'} }
terça-feira, 30 de junho de 2009
quarta-feira, 10 de junho de 2009
Upload de arquivos em rails
Como receber e escrever os arquivos passados por upload sem usar plugins?
Observações:
- Crie um form com o campo de arquivo na view
<% form_for :my_form, :html => {:multipart => true} do |f| %>
...
Escolha o arquivo : <%= c.file_field :file %>
...
<% end %>
- Escrever o arquivo pelo controller
#foi criada um dir temp dentro de public/ para salvar os arquivos
def recebe_arquivo
f = File.new("#{Rails.root}/public/temp/#{params[:my_form][:file].original_filename}", "w+")
f.write params[:my_form][:file].read
f.close
end
Observações:
- não esquecer do multipart => true
- pode ser usado um temp file
Marcadores:
Ruby on Rails
quarta-feira, 3 de junho de 2009
Criptografia AES no Rails
Estava fazendo uma biblioteca com 2 funções básicas de criptografia (crypt e decrypt baseada nesses 2 posts que eu tinha encontrado abaixo:
http://snippets.dzone.com/posts/show/991
e
http://rails.brentsowers.com/2007/12/aes-encryption-and-decryption-in-ruby.html
Fiz meio que uma mistura dos 2 e gerei uma biblioteca para fazer as 2 partes:
http://snippets.dzone.com/posts/show/991
e
http://rails.brentsowers.com/2007/12/aes-encryption-and-decryption-in-ruby.html
Fiz meio que uma mistura dos 2 e gerei uma biblioteca para fazer as 2 partes:
class CryptFinalmente, para se ter um valor iv único para a sessão salve o valor após o login usando um filtro ou uma chamada simples após o mesmo.
require 'openssl'
require 'digest/sha1'
def criptografa(dado,user,iv)
#primeiro conjunto email
saida = Array.new
c = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
c.encrypt
# O SHA1 da conta do user ou uma coluna Hash única para cada user podem ser usados
c.key = Digest::SHA1.hexdigest(user.conta)
c.iv = iv
e = c.update(dado)
e << c.final
#concatena na saida o resultado cifrado do dado de entrada
saida << e
#CASO SEJA NECESSARIO CRIPTOGRAFAR MAIS DADOS...
#instancie novamente c e repita o processo concatenando na saida o novo valor
return saida
end
#metodo usado para excluir emails e verificar a seguranca da transacao feita por GET
def descriptografa(msg,user,iv)
c = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
c.decrypt
c.key = Digest::SHA1.hexdigest(user.conta)
c.iv = iv
d = c.update(msg)
d << c.final
return d
end
end
#Criando novo valor iv e salvando na session
def new_iv
c = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
c.encrypt
iv = c.random_iv
session[:valor_iv] = iv
end
Marcadores:
Ruby on Rails
Syntax Highlighting para código ruby no blogger
Só para que eu não esqueça vou anotar aqui como é feito o Syntax Highlighting
Links
(CSS) => http://rails.brentsowers.com/2007/12/formatting-ruby-and-html-code-for-blog.html
(Documentação da GEM syntax) => http://syntax.rubyforge.org/chapter-1.html
- Instalar a gem syntax
gem install syntax
- Adicionar o CSS abaixo ao código html da página do blogger:
pre {
background-color: #f1f1f3;
color: #112;
padding: 5px;
font-family:"bitstream vera sans mono",monaco,"lucida console","courier new",courier,serif;
font-size: 0.9em;
overflow: auto;
margin: 4px 0px;
width: 95%;
}
/* Syntax highlighting */
pre .normal {}
pre .comment { color: #005; font-style: italic; }
pre .keyword { color: #A00; font-weight: bold; }
pre .method { color: #077; }
pre .class { color: #074; }
pre .module { color: #050; }
pre .punct { color: #447; font-weight: bold; }
pre .symbol { color: #099; }
pre .string { color: #944; background: #FFE; }
pre .char { color: #F07; }
pre .ident { color: #004; }
pre .constant { color: #07F; }
pre .regex { color: #B66; background: #FEF; }
pre .number { color: #F99; }
pre .attribute { color: #5bb; }
pre .global { color: #7FB; }
pre .expr { color: #227; }
pre .escape { color: #277; } - Verificar se as variáveis de ambiente GEM_HOME e RUBYOPT estão corretas
export GEM_HOME=/usr/lib/ruby/gems/1.8/
export RUBYOPT=rubygems - Executar o script
require 'syntax/convertors/html'
convertor = Syntax::Convertors::HTML.for_syntax "ruby"
html = convertor.convert( File.read( "program.rb" ) )
puts html
Links
(CSS) => http://rails.brentsowers.com/2007/12/formatting-ruby-and-html-code-for-blog.html
(Documentação da GEM syntax) => http://syntax.rubyforge.org/chapter-1.html
Marcadores:
Ruby on Rails
Assinar:
Postagens (Atom)
Marcadores
- 404 (1)
- Agendador (1)
- Asian movies (1)
- Asus (1)
- Caminhadas (1)
- Capybara (1)
- Comic/Strange (57)
- Computers (20)
- Controller (1)
- Cron (1)
- DBus (1)
- Destroy (1)
- Euler (1)
- Fedora (1)
- G50VT (1)
- Games (1)
- Gráficos (1)
- Hiking (1)
- Japan (1)
- javascript (8)
- Linux (6)
- monokai gedit linux (1)
- Movies (1)
- Mysql (3)
- Netbeans (2)
- Oracle (1)
- OSX (13)
- photos (1)
- Pidgin (1)
- Programming Languages (4)
- PyCron (1)
- Rock climbing (2)
- Ruby (7)
- Ruby on Rails (23)
- Test (1)
- Travessias (1)
- Web (14)
- WhatWeb (1)
- wikipedia (1)
- Windows (1)
- XBMC microsoft game controller (1)
