Funções
O botão Funções abre um editor de código Ruby onde é possível definir funções reutilizáveis disponíveis em todos os scripts do fluxo de trabalho. É o local ideal para centralizar lógicas que se repetem em vários nodes — validações, formatações, cálculos etc.
As funções são salvas por processo e ficam disponíveis automaticamente em todos os campos de código Ruby do fluxo (entradas, saídas, ações ao exibir/salvar e condições de Gateway).
Interface
O editor é um único bloco de código Ruby com realce de sintaxe (tema escuro). Dois botões estão disponíveis na toolbar do modal:
| Botão | Ação |
|---|---|
| Beautify | Formata e organiza o código automaticamente |
| Salvar | Salva as funções para o processo atual |
Definindo Funções
Escreva funções Ruby normais com def. Todas as funções definidas aqui estarão disponíveis em qualquer script Ruby configurado nos nodes do fluxo.
def formatar_cpf(valor)
v = valor.to_s.gsub(/\D/, '')
"#{v[0..2]}.#{v[3..5]}.#{v[6..8]}-#{v[9..10]}"
end
def prazo_em_dias(data_str)
data = Date.parse(data_str.to_s)
(data - Date.today).to_i
end
Chamando Funções nos Scripts do Fluxo
Para usar uma função definida aqui em qualquer campo de código Ruby do fluxo, chame-a pelo nome normalmente:
formatar_cpf(getval("cpf_cliente"))
prazo_em_dias(getval("data_vencimento")) > 0
Centralize validações e formatações recorrentes aqui para facilitar a manutenção. Uma correção na função se propaga imediatamente para todos os nodes que a chamam.
O botão Funções requer que um processo esteja aberto no WFDesigner.