Skip to content

Instantly share code, notes, and snippets.

@aalvesjr
aalvesjr / schema.sql
Created January 30, 2013 15:59
Como pegar o script de criação do banco de dados de uma app Rails usando SQLite3
-- Caso você use windows precisara dos arquivos
-- * Precompiled Binaries for Windows
-- ** sqlite3.exe
-- ** sqlite3.dll
-- Ambos podem ser baixados em: http://www.sqlite.org/download.html
-- Feito isso, dentro da raiz do seu projeto executar o comando:
-- sqlite3 db/development.sqlite3
-- isso deve abrir um promp de comandos do sqlite
-- depois:
@aalvesjr
aalvesjr / perfect_numbers.rb
Created January 29, 2013 21:30
Números perfeitos com Ruby
#Em Matemática, um número perfeito é um número inteiro para o qual a soma de todos os seus
# divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número.
#
# Por exemplo, o número 6 é um número perfeito, pois:
# 6 = 1 + 2 + 3
# O próximo número perfeito é o 28, pois:
# 28 = 1 + 2 + 4 + 7 + 14
def calcula_divisores(num)
(1...num).each_with_object([]) do |n, buffer|
@aalvesjr
aalvesjr / example.js
Created January 28, 2013 04:24
Curiosidade sobre o construtor new no JS
function User(name, email) {
if (this.constructor !== User){
return new User(name, email);
}
this.name = name;
this.email = email;
}
// Agora pode se criar um User assim:
@aalvesjr
aalvesjr / category.rb
Created January 28, 2013 02:23
Categorias com produtos, usando :all
class Category < ActiveRecord::Base
def self.with_products
self.all.select {|category| category.products.any? }
end
end
@aalvesjr
aalvesjr / sessions_controller.rb
Last active December 11, 2015 01:19
Create em sessions
def create
reset_session
# O ideal seria extrair essa parte de autenticação
# para uma classe que responsavel por isso
user = User.find_by_email(params[:email])
user ||= User.new
password_encripted = Digest::SHA1.hexdigest(params[:password])
if user.password == password_encripted
@aalvesjr
aalvesjr / user.rb
Last active December 11, 2015 01:18
Setter password de User
def password=(password)
# O ideal seria extrair o Digest::SHA1.hexdigest
# para uma classe responsavel por encriptar a senha
value = Digest::SHA1.hexdigest(password)
write_attribute(:password, value)
end
@aalvesjr
aalvesjr / prop.js
Created January 9, 2013 17:17
Acessando propriedades em JS like a boss
"use strict";
var obj = window
, fun = "alert"
, msg = "Testando coisas estranhas em JS";
obj[fun](msg); // o mesmo resultado de: window.alert("Testando coisas estranhas em JS")
var obj = window
, fun1 = "console"
@aalvesjr
aalvesjr / login_exemplo.rb
Created January 9, 2013 12:21
Implementando Login com Rails
# O que um login deve fazer? proteger o acesso a dados restritos, paginas restritas talves?
# E como fazer isso no rails, podemos usar no controller que você quer restringir o acesso um before_filter, por exemplo:
before_filter :require_logged_user
# Assim antes de cada requisição ele vai executar o :require_logged_user, e esse metodo verifica se o usuário esta logado
# vamos a implementação:
# vou criar esse metodo dentro do ApplicationController ja que todos os outros controllers vão herdar dele
@aalvesjr
aalvesjr / _featured_products.html.erb
Created January 3, 2013 16:46
Listando de dois em dois produtos a cada <li>
@aalvesjr
aalvesjr / categoria_menu.rb
Last active December 10, 2015 10:18
Csilk - categorias
# random = rand(f_id...l_id)
# TypeError: can't convert Range into Integer
# from (pry):2:in `rand'
def categoria_menu
categoria = Categoria.all
categoria = categoria[ rand(categoria.size) ]
if categoria.produtos.any?
categoria.slug