Skip to content

Instantly share code, notes, and snippets.

View prodis's full-sized avatar
💻
Writing code that generates business value

Fernando Hamasaki de Amorim prodis

💻
Writing code that generates business value
View GitHub Profile
@prodis
prodis / atributos_11.rb
Created July 18, 2011 16:38
Ruby Fundamental - Acessores e modificadores de atributos (parte II)
class Dog
attr_accessor :name, :breed
def initialize(name, breed)
@name, @breed = name, breed
end
# Os demais métodos foram omitidos
end
@prodis
prodis / hash_01.rb
Created July 18, 2011 23:10
Ruby Fundamental - Hash em Ruby (parte I)
even_numbers = {} # Cria um objeto hash vazio
even_numbers["zero"] = 0 # Atribui 0 como valor para a chave "zero"
even_numbers["two"] = 2
even_numbers["four"] = 4
even_numbers["two"] # Recupera 2 como valor
@prodis
prodis / hash_11.rb
Created July 18, 2011 23:11
Ruby Fundamental - Hash em Ruby (parte II)
calc = ShippingCalculator.new
calc.calculate 1.50, :height => 0.75, :width => 1.00, :depth => 0.10
@prodis
prodis / ramos_de_atividade.rb
Created July 18, 2011 23:25
Ruby Fundamental - Exemplos de scripts em Ruby (parte I)
# encoding: utf-8
# ramos_de_atividade.rb
nomes = File.readlines("ramos_de_atividade.txt")
File.open("ramos_de_atividade.yaml", "w") do |f|
nomes.each_with_index do |nome, i|
f.puts "ramo_de_atividade_#{i+1}"
f.puts " id: #{i+1}"
f.puts " nome: #{nome}\n"
@prodis
prodis / listar_contatos.rb
Created July 18, 2011 23:37
Ruby Fundamental - Exemplos de scripts em Ruby (parte II)
#!/usr/bin/env ruby
# encoding: utf-8
# listar_contatos.rb
raise ArgumentError, "=> Quantidade de argumentos incorreta. Exemplo de uso: ruby listar_contatos.rb root minhasenha" if ARGV.size != 2
mysql_user, mysql_pass = ARGV
def criar_array(resultado)
resultado.split("\n").drop(1)
end
@prodis
prodis / procs_lambdas_01.rb
Created July 24, 2011 21:01
Ruby Fundamental - Procs e lambdas em Ruby
my_proc = Proc.new { |x, y| x * y }
@prodis
prodis / diferenca_procs_lambdas_01.rb
Created August 28, 2011 21:02
Ruby Fundamental - Diferenças entre procs e lambdas
def some_method
puts "Início do método"
my_proc = Proc.new do |message|
puts "Dentro do proc: #{message}"
return
end
my_proc.call "Ruby Fundamental"
puts "Fim do método" # Essa linha não é executada
@prodis
prodis / modulos_como_namespaces_01.rb
Created September 30, 2011 21:36
Ruby Fundamental - Módulos como namespaces
class FreteCorreios
def calcular
# Implementação do método
end
end
class FreteFedex
def calcular
# Implementação do método
end
@prodis
prodis / modulos_como_mixin_01.rb
Created January 15, 2012 17:16
Ruby Fundamental - Módulos como mixin
module CoolModule
def do_something
"I did it!"
end
end
class SomeClass
include CoolModule
end
@prodis
prodis / modulos_include_extend_01.rb
Created February 28, 2012 01:46
Ruby Fundamental - Diferenças de "include" e "extend" na inclusão de módulos
module Numbers
def one
puts "1"
end
def two
puts "2"
end
end