Skip to content

Instantly share code, notes, and snippets.

View k41n3w's full-sized avatar
🚀

Caio Ramos k41n3w

🚀
View GitHub Profile
@k41n3w
k41n3w / importando-dados-com-rails-na-velocidade-da-luz-3.rb
Last active March 10, 2024 19:13
importando-dados-com-rails-na-velocidade-da-luz-3
require 'csv'
require 'activerecord-import'
file_path = 'caminho/para/seu/arquivo.csv'
users_data = []
CSV.foreach(file_path, headers: true) do |row|
users_data << User.new(name: row['name'], email: row['email'])
end
@k41n3w
k41n3w / importando-dados-com-rails-na-velocidade-da-luz-2.rb
Last active March 10, 2024 19:13
importando-dados-com-rails-na-velocidade-da-luz-2
file_path = 'caminho/para/seu/arquivo.csv'
users_data = []
CSV.foreach(file_path, headers: true) do |row|
users_data << {name: row['name'], email: row['email']}
end
User.insert_all(users_data)
@k41n3w
k41n3w / importando-dados-com-rails-na-velocidade-da-luz-1.rb
Last active March 10, 2024 19:13
importando-dados-com-rails-na-velocidade-da-luz-1
# Supondo que o modelo seja User com os campos name e email
require 'csv'
file_path = 'caminho/para/seu/arquivo.csv'
CSV.foreach(file_path, headers: true) do |row|
User.create(name: row['name'], email: row['email'])
end
@k41n3w
k41n3w / yield.rb
Created December 31, 2023 18:27
Código 12 - Post de 'Passagem de parâmetros em Ruby"
def with_logging
puts "Iniciando operação…"
yield
puts "Operação concluída."
end
with_logging do
puts "Realizando a operação…"
@k41n3w
k41n3w / fowardable.rb
Created December 31, 2023 18:11
Código 11 - Post de 'Passagem de parâmetros em Ruby"
require 'forwardable'
class Logger
extend Forwardable
def_delegator :@logger, :log
def initialize
@logger = Rails.logger
end
@k41n3w
k41n3w / method_missing.rb
Created December 31, 2023 18:07
Código 10 - Post de 'Passagem de parâmetros em Ruby"
class Person
def method_missing(method_name, *args)
puts "Método '#{method_name}' não encontrado."
end
end
person = Person.new
person.unknown_method
# Retorno: "Método 'unknown_method' não encontrado."
@k41n3w
k41n3w / splat_passage.rb
Created December 31, 2023 18:05
Código 9 - Post de 'Passagem de parâmetros em Ruby"
def greet(*people)
people.each do |person|
puts "Olá, #{person}!"
end
end
greet("Alice", "Bob", "Charlie")
# Retorno:
# Olá, Alice!
@k41n3w
k41n3w / reference_passage.rb
Created December 31, 2023 17:56
Código 8 - Post de 'Passagem de parâmetros em Ruby"
name = "Sávio"
age = 54
def greet(name, age)
name = "Sr. #{name}"
age = "#{age} anos de idade!"
puts "Olá, #{name}! Você tem #{age}"
end
@k41n3w
k41n3w / object_passage.rb
Last active December 31, 2023 17:48
Código 6 - Post de 'Passagem de parâmetros em Ruby"
class Person
attr_accessor: name,: age
def initialize(name, age)
@name = name
@age = age
end
end
def greet(person)
@k41n3w
k41n3w / hash_passage.rb
Last active December 31, 2023 17:49
Código 5 - Post de 'Passagem de parâmetros em Ruby"
def greet(options)
name = options[:name]
age = options[:age]
puts "Olá, #{name}! Você tem #{age} anos."
end
greet({ name: "Ana", age: 35 })
# Retorno: "Olá, Ana! Você tem 35 anos."