Skip to content

Instantly share code, notes, and snippets.

View LuanGB's full-sized avatar
🎯
Focusing

Luan Gonçalves Barbosa LuanGB

🎯
Focusing
  • Codeminer42
  • Natal, Rio Grande do Norte, Brazil
View GitHub Profile
@LuanGB
LuanGB / FEATURES.MD
Last active February 21, 2026 11:03
Lista de Features de Arkheion.md

Arkheion — Features do Sistema

Ficha do Personagem (Tormenta 20)

Aba Resumo

  • Atributos (FOR, DES, CON, INT, SAB, CAR) com valores e modificadores clicáveis para rolagem
  • Gerenciamento de PV (pontos de vida) com controles de incremento/decremento
  • Gerenciamento de PM (pontos de mana) com controles
  • Defesa: CA (Classe de Armadura) e DFM (Defesa de Manobra de Combate)
  • Resistências: Fortitude, Reflexos e Vontade

Diferenças entre Ruby e Python

1. Filosofia e Sintaxe

Ruby prioriza flexibilidade e expressividade, permitindo múltiplas formas de resolver um problema.
Python enfatiza legibilidade e uma única maneira óbvia de fazer algo (Zen of Python).

Exemplo: Definição de uma classe e criação de um objeto

Ruby: Dinâmico e Flexível

class Pessoa

Diferenças entre Ruby e Python com Exemplos

1. Strings são mutáveis em Ruby

Ruby:

s = "Olá"
s[0] = "A"
puts s  # "Alá"

Python:

🎯 Objetivo

Praticar a criação e uso de mocks, stubs e doubles para testar funções e módulos em um ambiente Node.js com Vitest.

📌 Pré-requisitos

  • Ter Node.js instalado
  • Criar um projeto com Vitest:
@LuanGB
LuanGB / remove_trailing_commas_from_all_jsons_inside_directory.rb
Last active December 6, 2024 20:45
Traverse all JSONs on a given folder and remove trailing commas without messing encoding
def traverse(from)
Dir.chdir(from) if Dir.glob(from)
files = Dir.glob('*').select { |fn| File.file?(fn)}
process_files(files)
subdirs = Dir.glob('./*/').reject{|i| i == from}
if subdirs.empty?
Dir.chdir('..')
app/
├── controllers
│   └── books_controller.rb
├── helpers
│   └── books_helper.rb
├── models
│   └── book.rb
└── views
└── books
   └── ... my views ...
my_hash = Hash.new(foo: 1, bar:2)
var_foo = my_hash[:foo] ? my_hash[:foo] : 1
;; a is set to 1
(define a 1)
;; Mutating a, beware!
(set! a 2)
;; Prints 2
(print a)
ingredients = Set.new([
:avocado,
:garlic,
:onion,
:lemon,
:black_pepper,
:coriander
]) #<Set: {:avocado, :garlic, :onion, :lemon, :black_pepper, :coriander}>
if ingredients.add?(:tomato)
my_hash = {} # => {}
my_hash.merge id: 1 # => {id: 1}
my_hash # => {} - my_hash did not change
my_hash.merge! id: 1 # => {id: 1}
my_hash # => {id: 1} - my_hash changed