Termos de Ruby
150 termos de Ruby em português. Blocos, metaprogramação, gems e o ecossistema em torno do Rails.
A
- ActiveRecordORM do Rails, baseado no padrão de mesmo nome, que mapeia cada tabela a uma classe e cada linha a um objeto…
- aliasPalavra-chave que cria um segundo nome para um método existente: alias novo antigo. A cópia mantém o…
- ancestorsMétodo de Module que devolve, em ordem, as classes e módulos que o Ruby consulta ao procurar um método. É a…
- ARGVConstante global com o array de argumentos passados ao script na linha de comando, sem o nome do programa…
- ArrayLista ordenada e dinâmica de objetos de qualquer tipo, escrita com colchetes. Cresce e encolhe sozinha e vem…
- associação polimórficaAssociação do ActiveRecord em que um model pode pertencer a vários tipos de model, guardando id e tipo em…
- attr accessorAtalho que gera de uma vez o leitor e o escritor de uma variável de instância. Existem também attr_reader e…
- autoloadMétodo de Module que registra uma constante para ser carregada sob demanda: o arquivo só é lido quando ela é…
B
- BasicObjectRaiz da hierarquia de classes de Ruby, acima de Object. Tem pouquíssimos métodos, o que a torna ideal para…
- begin rescueEstrutura de tratamento de exceções: o código de risco vai no begin e o rescue captura o erro. Dentro de…
- bindingObjeto que captura o contexto de execução em um ponto: variáveis locais, self e bloco atual. Com ele é…
- block givenMétodo block_given? que diz se o método atual recebeu um bloco. Permite que o mesmo método funcione com ou…
- blocoTrecho de código entre do...end ou chaves, passado a um método. O método decide quando executá-lo com yield…
- bundle execComando do Bundler que executa outro programa no ambiente do Gemfile.lock, com as versões de gems fixadas no…
- BundlerGerenciador de dependências do projeto. Lê o Gemfile, resolve versões compatíveis, grava tudo no…
C
- callbackGancho do ActiveRecord que roda código em momentos do ciclo de vida do registro, como before_validation…
- case whenEstrutura de vários ramos que compara um valor com cada when usando o operador ===. Aceita valores, ranges…
- catch throwPar de métodos do Kernel para sair de vários laços aninhados de uma vez: throw com uma etiqueta interrompe…
- class evalMétodo de Module que executa um bloco ou string no contexto da classe, como se você estivesse dentro do…
- Class newForma de criar uma classe anônima em tempo de execução, com Class.new(Superclasse) { ... }. A classe só…
- closureBloco, proc ou lambda que carrega as variáveis do contexto onde foi criado, mesmo depois que esse contexto…
- coerceMétodo que um objeto numérico implementa para ensinar ao Ruby como operar quando um Integer ou Float está à…
- ComparableMódulo que dá operadores como <, > e between? e o método clamp a qualquer classe que implemente <=>. Também…
- concernMódulo do Rails que estende ActiveSupport::Concern para empacotar comportamento reutilizável de models e…
- const missingMétodo de classe chamado pelo Ruby quando uma constante não é encontrada. Sobrescrevê-lo permite carregar…
- constanteNome iniciado por letra maiúscula, como LIMITE ou Pessoa, que guarda um valor pensado para não mudar…
- CRubyImplementação de referência do Ruby, escrita em C, também chamada de MRI. É o interpretador que roda quando…
- curryMétodo de Proc e Method que transforma uma função de vários argumentos numa cadeia de chamadas parciais…
D
- DataClasse do Ruby 3.2 para criar objetos de valor imutáveis com Data.define. Gera construtor, leitores…
- deconstruct keysMétodo que um objeto implementa para participar de pattern matching com hash, como em case obj in {x:, y:}…
- define finalizerObjectSpace.define_finalizer registra um proc para ser chamado depois que o objeto é coletado pelo GC. O…
- define methodMétodo que cria um método de instância em execução, a partir de um nome e de um bloco. Como o bloco é uma…
- digMétodo de Hash, Array e Struct que navega por estruturas aninhadas seguindo uma lista de chaves, devolvendo…
- DSLLinguagem específica de domínio: uma interface com cara de linguagem própria, construída em Ruby com blocos…
- duck typingEstilo em que importa o objeto responder aos métodos chamados, não a sua classe. Se anda e grasna como um…
E
- eachMétodo de iteração que chama o bloco uma vez para cada elemento da coleção. É o jeito idiomático de…
- each with objectMétodo de Enumerable que percorre os itens passando cada um e um objeto acumulador que você escolhe…
- endless methodSintaxe do Ruby 3.0 para definir um método em uma só expressão, sem end, como def dobro(x) = x * 2. Serve…
- ensureCláusula do begin cujo código roda sempre, com ou sem exceção. Serve para liberar recursos, como fechar…
- EnumerableMódulo que dá dezenas de métodos de coleção, como map, select e reduce, a qualquer classe que defina each…
- EnumeratorObjeto que representa uma sequência percorrível sob demanda, com next, ou o iterador devolvido por métodos…
- eql?Método de comparação estrita usado pelo Hash para decidir se duas chaves são iguais. Em números, 1.eql?(1.0)…
- evalMétodo do Kernel que executa uma string como código Ruby no contexto atual ou em um binding informado…
- extendMétodo que adiciona os métodos de um módulo como métodos singleton do objeto que o recebe. Em uma classe…
- extensão nativaParte de uma gem escrita em C (ou Rust), compilada na instalação, que usa a API C do CRuby para ganhar…
F
- falsyDiz-se do valor tratado como falso em condições. Em Ruby só nil e false são falsy; todo o resto, inclusive…
- fetchMétodo de Hash e Array que busca um valor e, se a chave não existir, lança KeyError, devolve um padrão ou…
- FiberUnidade de execução leve e cooperativa: roda até chamar Fiber.yield, pausa, e continua do mesmo ponto com…
- Fiber schedulerInterface do Ruby 3.0 que deixa uma biblioteca, como a gem Async, agendar Fibers sem bloquear a thread: I/O…
- File openFile.open com bloco abre o arquivo, entrega o objeto ao bloco e o fecha sozinho ao terminar, mesmo se houver…
- forkMétodo de Kernel e Process que cria um processo filho, cópia do atual, com memória em cópia sob escrita. Só…
- ForwardableMódulo da biblioteca padrão que adiciona def_delegator e def_delegators para repassar métodos a outro…
- freezeMétodo que torna um objeto imutável: depois dele, qualquer alteração lança FrozenError. É raso: os objetos…
- frozen string literalComentário mágico que torna imutáveis todos os literais de string do arquivo. Reduz alocações e evita…
G
- garbage collectorParte da VM que recupera a memória de objetos sem referências. O do CRuby é geracional, incremental e usa…
- GC statGC.stat devolve um hash com contadores do coletor de lixo do CRuby, como número de coletas e objetos vivos…
- gemPacote de código Ruby distribuído pelo RubyGems, com nome, versão e dependências. Instala-se com gem install…
- GemfileArquivo na raiz do projeto onde o Bundler lista as gems exigidas, suas versões e a origem delas. Define o…
- group byMétodo de Enumerable que agrupa os elementos pelo resultado do bloco e devolve um hash, com a chave do grupo…
- GVLGlobal VM Lock, a trava que deixa só uma thread por vez executar código Ruby dentro de um processo do CRuby…
H
- has manyMacro do ActiveRecord que declara uma associação um-para-muitos: um registro possui vários outros, ligados…
- HashColeção de pares chave e valor que preserva a ordem de inserção. As chaves costumam ser símbolos, como em {…
- hash shorthandSintaxe do Ruby 3.1 em que {x:, y:} equivale a {x: x, y: y}, usando variáveis ou métodos de mesmo nome. Vale…
- heredocSintaxe para strings de várias linhas delimitadas por um marcador, como <<~TEXTO. A forma com til remove a…
I
- includeMétodo que insere um módulo na cadeia de ancestrais de uma classe, deixando os métodos de instância do…
- included hookMétodo de classe que o Ruby chama no módulo logo depois de ele ser incluído em uma classe, recebendo essa…
- inherited hookMétodo de classe que o Ruby chama na superclasse sempre que alguém cria uma subclasse dela, recebendo a nova…
- initializeMétodo especial chamado automaticamente por new para preparar o objeto recém-criado. Recebe os argumentos de…
- injectMétodo de Enumerable que acumula os elementos num único valor, passando o acumulador e cada item ao bloco…
- instance evalExecuta um bloco com o self trocado para o objeto, dando acesso às suas variáveis de instância e métodos…
- instance execMétodo de BasicObject que executa um bloco com self trocado para o objeto, como instance_eval, mas permite…
- instance variable getMétodo de Object que lê uma variável de instância pelo nome, mesmo sem leitor público; existe também…
- interpolação de stringRecurso que insere o resultado de uma expressão dentro de uma string de aspas duplas usando #{...}. O valor…
- irbConsole interativo que acompanha o Ruby: você digita expressões e vê o resultado na hora. Serve para testar…
J
K
L
- lambdaProc criado com lambda ou ->, que se comporta como um método: confere o número de argumentos e usa return só…
- lazyMétodo que transforma um enumerável em um Enumerator::Lazy, em que map e select só são calculados quando o…
- letMétodo do RSpec que define um valor sob demanda num grupo de exemplos: é calculado no primeiro uso em cada…
M
- mapMétodo que aplica o bloco a cada elemento e devolve um novo array com os resultados. É a ferramenta padrão…
- MarshalMódulo que serializa objetos Ruby numa string binária com dump e os reconstrói com load. Serve para cópia…
- metaprogramaçãoEscrever código que cria ou altera código em execução, definindo métodos, classes e comportamentos…
- method missingHook chamado quando um objeto recebe uma mensagem que nenhum método atende. Sobrescrevê-lo permite tratar…
- method objectObjeto da classe Method, obtido com obj.method(:nome), que representa um método já ligado ao receptor. Pode…
- método bangMétodo cujo nome termina em ! e que costuma ter uma versão sem ela. A versão com bang geralmente altera o…
- método de classeMétodo chamado diretamente na classe, não nas instâncias. Define-se com def self.nome e serve para fábricas…
- método predicadoMétodo cujo nome termina em ? e que devolve true ou false. A convenção deixa a leitura natural em condições…
- migrationArquivo do Rails que descreve uma mudança no esquema do banco, como criar tabela. Escrito em Ruby, é…
- mixinMódulo incluído numa classe para lhe dar métodos extras, sem herança. Em Ruby é o jeito de compartilhar…
- module functionMétodo de Module que transforma métodos de instância do módulo também em métodos do próprio módulo…
- Module nestingModule.nesting devolve a lista de módulos e classes abertos lexicalmente no ponto da chamada, do mais…
- móduloAgrupador de métodos e constantes que não pode ser instanciado nem herdado. Serve como namespace e, com…
- monkey patchingReabrir uma classe existente, inclusive as nativas como String, para adicionar ou trocar métodos em…
- MutexTrava de exclusão mútua da biblioteca padrão. Com synchronize, só uma thread por vez executa o bloco…
N
- N mais umProblema de desempenho em que uma consulta traz N registros e cada um dispara outra para um dado associado…
- named capturesGrupos de captura de uma regex com nome, escritos como (?<ano>...). Permitem ler o trecho por nome em vez de…
- nilÚnico objeto da classe NilClass, que representa ausência de valor. Junto com false, é um dos dois valores…
O
- object shapesOtimização do CRuby 3.2 em que objetos que definem as mesmas variáveis de instância na mesma ordem…
- ObjectSpaceMódulo que permite inspecionar os objetos vivos do CRuby: each_object percorre instâncias de uma classe e…
- operador pinOperador ^ do pattern matching que compara com o valor de uma variável existente, em vez de criar uma…
- operador shovelO operador <<, que acrescenta um item ao fim de um array ou de uma string alterando o objeto original…
- optimistic lockingControle de concorrência do ActiveRecord que usa a coluna lock_version: ao salvar, o Rails confere se a…
P
- parâmetro itNome implícito do primeiro argumento de um bloco sem parâmetros declarados, disponível a partir do Ruby 3.4…
- pattern matchingRecurso do case/in que compara a estrutura de um valor, como arrays e hashes, e extrai partes em variáveis…
- prependInsere um módulo antes da classe na cadeia de ancestrais, de modo que seus métodos tenham prioridade e…
- PrismParser de Ruby escrito em C, padrão no CRuby desde o 3.4, que gera uma árvore sintática e se recupera de…
- privateMarca métodos como privados: só podem ser chamados de dentro do objeto, sem receptor explícito (ou com self…
- procObjeto da classe Proc que guarda um bloco de código para ser chamado depois com call. É flexível com…
- putsMétodo que imprime o argumento na saída padrão seguido de quebra de linha, chamando to_s no objeto. Se…
R
- RackInterface mínima entre servidores web e aplicações Ruby: uma aplicação Rack é um objeto com call(env) que…
- RactorMecanismo para paralelismo real em Ruby: cada Ractor tem seu próprio GVL e só troca dados por mensagens ou…
- RailsFramework web em Ruby, no padrão MVC, que reúne rotas, ORM, views, jobs e convenções prontas. Seu lema é…
- raiseMétodo do Kernel que lança uma exceção, interrompendo o fluxo até que um rescue a trate. Aceita uma classe…
- RakeFerramenta de automação de tarefas escrita em Ruby, que lê um Rakefile com tasks e dependências entre elas…
- RangeObjeto que representa um intervalo de valores, criado com .. (inclui o fim) ou ... (exclui o fim). Serve…
- rbenvGerenciador de versões do Ruby que instala várias versões lado a lado e escolhe qual usar por projeto, lendo…
- refinementsMecanismo que altera uma classe só dentro de um escopo que ativa a mudança com using, em vez de globalmente…
- requireMétodo que carrega um arquivo ou uma gem uma única vez, procurando no $LOAD_PATH. Retorna true se carregou…
- respond to missingHook que informa a respond_to? e a method quais métodos fantasmas existem. Deve ser definido junto com…
- routesArquivo config/routes.rb do Rails, que mapeia URLs e verbos HTTP para ações de controllers. O método…
- RSpecFramework de testes em Ruby para BDD, com sintaxe que descreve comportamento: describe, context e it. Traz…
- RuboCopAnalisador estático e formatador de código Ruby que aplica um guia de estilo configurável e detecta…
S
- safe navigationOperador &. que chama o método só se o objeto não for nil; se for, devolve nil sem erro. Evita cadeias de…
- scopeConsulta nomeada e reutilizável de um model do ActiveRecord, definida com scope e um lambda. Devolve uma…
- selectMétodo que devolve um novo array só com os elementos para os quais o bloco retorna valor verdadeiro. Em…
- selfReferência ao objeto que está executando o código naquele ponto. Dentro de um método de instância é o…
- sendMétodo de Object que chama outro método pelo nome, dado como símbolo ou string, ignorando a visibilidade. O…
- SetColeção de elementos únicos, apoiada em um hash, com verificação rápida de pertencimento. Oferece união…
- símboloValor imutável e único, escrito como :nome, usado como identificador leve. Dois símbolos iguais são o mesmo…
- single table inheritanceEstratégia do ActiveRecord em que várias subclasses de um model compartilham uma só tabela, distinguidas…
- singleton classClasse oculta e exclusiva de um objeto, também chamada eigenclass, onde ficam seus métodos singleton. É…
- spaceshipApelido do operador <=>, que compara dois objetos e devolve -1, 0 ou 1, ou nil se não forem comparáveis. É a…
- splatO operador *, que na definição agrupa argumentos extras em um array e, na chamada, expande um array em…
- strong parametersMecanismo do Rails em que o controller declara quais parâmetros podem ir para atribuição em massa, com…
- StructClasse geradora que cria rapidamente uma classe com atributos nomeados, construtor, leitores, escritores e…
- superPalavra-chave que chama o mesmo método na próxima classe ou módulo da cadeia de ancestrais. Sem parênteses…
- symbol to procAtalho &:nome que converte um símbolo em bloco que chama esse método em cada elemento. map(&:upcase)…
T
- tallyMétodo de Enumerable, disponível desde o Ruby 2.7, que conta quantas vezes cada elemento aparece e devolve…
- ThreadClasse que cria uma linha de execução no processo. No CRuby, por causa do GVL, só uma thread executa código…
- timesMétodo de Integer que executa o bloco n vezes, passando o índice de 0 a n-1. É o jeito idiomático de repetir…
- to procMétodo que converte um objeto em Proc quando ele é passado com &. Symbol, Method e Hash já o têm; classes…
- TracePointAPI que registra eventos da execução, como chamadas de método, retornos, linhas e exceções, e executa um…
- transactionBloco do ActiveRecord que executa várias operações de banco como uma unidade atômica: se ocorrer uma…
- trapMétodo Signal.trap (também Kernel#trap) que registra um bloco para rodar quando o processo recebe um sinal…
U
- unbound methodObjeto UnboundMethod, obtido com Classe.instance_method(:nome), que representa um método desligado de…
- unlessCondicional que executa o código quando a expressão é falsa ou nil, o oposto de if. Lê-se como a menos que e…
V
Y
- YARVMáquina virtual de bytecode do CRuby: o código é compilado para instruções e executado por ela. Substituiu o…
- yieldPalavra-chave que executa o bloco passado ao método atual, entregando argumentos a ele. O valor do bloco é o…
- YJITCompilador JIT embutido no CRuby, escrito em Rust, que converte trechos quentes do bytecode em código de…