Authentication Rails
Scaffold User
rails g scaffold nome email password_digest
Gemfile
gem 'bcrypt-ruby', '~> 3.0.0'
user.rb
• Remover a validação de presença de senha
• Remover a validação de confirmação de senha
• Adicionar a class macro has_secure_password
has_secure_password
_form.html.erb
<%= f.password_field :password %>
<%= f.password_field :password_confirmation %>
user_session.rb
class UserSession
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
extend ActiveModel::Translation
attr_accessor :email, :password
validates_presence_of :email, :password
end
routes.rb
resource :user_sessions, :only => [:create, :new, :destroy]
user_sessions_controller.rb
class UserSessionsController < ApplicationController
def new
@session = UserSession.new
end
def create
end
def destroy
end
end
federico*
quarta-feira, 30 de julho de 2014
segunda-feira, 9 de junho de 2014
Html to Haml
for file in app/views/devise/registrtions/new.html.erb; do html2haml -e $file ${file%erb}haml && rm $file; done
quinta-feira, 9 de agosto de 2012
Malditos espaços em branco
Tudo mundo gosta de espaço, mas quando falamos em espaços no meio de uma String, e esta faz parte de uma URL, e a linguagem é Objective-C ... malditos espaços.
Mas, como fala um amigo, para toda problemática existe uma solucionática, o melhor uma stringByAddingPercentEscapesUsingEncoding, aqui entre nós, o cara que colocou o nome a este método merece pelo menos uma pizza.
NSString* nome = @"Federico Neoapps";
Mas, como fala um amigo, para toda problemática existe uma solucionática, o melhor uma stringByAddingPercentEscapesUsingEncoding, aqui entre nós, o cara que colocou o nome a este método merece pelo menos uma pizza.
NSString* nome = @"Federico Neoapps";
NSString* urlEncoded = [[NSString stringWithFormat:@"nome=", params] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"[ URL Encoded ] %@",urlEncoded);
NSString * urlDecoded = [urlEncoded stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding ];
NSLog (@"[ URL Decoded ] %@", urlDecoded);
O resultado é:
[ URL Encoded ] nome=Federico%20Neoapps
[ URL Decoded ] nome=Federico Neoapps
Try to Catch the error
Sim o objective-C tem controle de exceções, assim como no Java, Ruby, Javascript, etc.
NSString* minhaString = [NSString stringWithString:@"abc"];
@try {
NSLog(@"Isto vai gerar uma exceção");
[minhaString characterAtIndex:6];
}
@catch (NSException * e) {
NSLog(@"Opa, alguma coisa errada aconteceu e foi que : %@", e);
}
@finally {
NSLog(@"Este bloco é sempre executado");
}
Achou fácil, por que não usá-lo?
terça-feira, 31 de julho de 2012
Ruby + Mysql + OSX com MAMP
Após ter desistido de utilizar Ruby como linguagem de script no OSX, pois não conseguia instalar o driver de conexão ao banco.
Building native extensions. This could take a while...
ERROR: Error installing dbd-mysql:
ERROR: Failed to build gem native extension.
[....]
checking for mysql_ssl_set()... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. Blá, blá, blá, blá, blá....
Solução:
1 - Instalar Macports https://distfiles.macports.org/MacPorts/
2 - # port install mysql5-devel
And that's it
e agora é só matar a saudades desta maravilhosa liguagem ;)
Building native extensions. This could take a while...
ERROR: Error installing dbd-mysql:
ERROR: Failed to build gem native extension.
[....]
checking for mysql_ssl_set()... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. Blá, blá, blá, blá, blá....
Solução:
1 - Instalar Macports https://distfiles.macports.org/MacPorts/
2 - # port install mysql5-devel
3 - # gem install dbi
3 - # gem install dbd-mysql
And that's it
#!/usr/bin/ruby -w
# simple.rb - simple MySQL script using Ruby DBI module
require "dbi"
begin
# connect to the MySQL server
# dbh = DBI.connect("DBI:Mysql:host=192.168.1.102;port=8889;database=federico", "root", "root")
con = DBI.connect("DBI:Mysql:federico:127.0.0.1", "root", "root")
# get server version string and display it
row = con.select_one("SELECT VERSION()")
puts "Server version: " + row[0]
rescue DBI::DatabaseError => e
puts "An error occurred"
puts "Error code: #{e.err}"
puts "Error message: #{e.errstr}"
ensure
# disconnect from server
con.disconnect if con
end
e agora é só matar a saudades desta maravilhosa liguagem ;)
quinta-feira, 23 de fevereiro de 2012
Instalando app no Playbook
Após compactar o projeto
$ cd /Users/federicodigiorgio/Documents/RIM/bbwp
$ ./bbwp /Users/federicodigiorgio/Sites/rim/app-novo.zip $ cd /Users/federicodigiorgio/Documents/RIM/bbwp/blackberry-tablet-sdk/bin
$ ./blackberry-deploy -installApp -device 192.168.1.107 -package /Users/federicodigiorgio/Sites/rim/bin/app-novo.bar
sexta-feira, 30 de setembro de 2011
Colorindo os Domingos no jQuery-UI Datepicker
$('#something').datepicker({
beforeShowDay:function(date){
if(date.toString().indexOf('Sun ')!=-1)
return [1,'red'];else
return [1];
}
}
css:
.ui-datepicker td.red a{
color:#ff0000 !importat;
}
!important é para dar prioridade ante um conflito no CSS
beforeShowDay:function(date){
if(date.toString().indexOf('Sun ')!=-1)
return [1,'red'];else
return [1];
}
}
css:
.ui-datepicker td.red a{
color:#ff0000 !importat;
}
!important é para dar prioridade ante um conflito no CSS
Assinar:
Postagens (Atom)