quarta-feira, 30 de julho de 2014

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

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";

NSString* urlEncoded = [[NSString stringWithFormat:@"nome=", paramsstringByAddingPercentEscapesUsingEncoding: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

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