Pular para o conteúdo

Geração de código

A partir da secção Código, o Restorm gera o código da sua aplicação a partir do seu design. A geração apoia-se em modelos compatíveis com Cookiecutter/Copier: os seus, ou os propostos pelo Restorm.

A secção Código: um modelo adicionado, uma pasta de saída e a pré-visualização da árvore gerada antes de escrever

  1. Adicione um ou vários modelos — através da biblioteca de modelos.
  2. Escolha uma pasta de saída (absoluta, ou relativa ao projeto).
  3. Clique em Gerar o projeto.

A geração é renderizada numa sandbox e depois produzida sob a forma de pré-visualização: o Restorm mostra-lhe a árvore dos ficheiros gerados e não escreve nada enquanto você não confirmar. Pode então Escrever na pasta de saída ou Abandonar. (A geração está bloqueada enquanto restarem problemas de validação.)

Um modelo pode declarar perguntas (no sentido de Copier — por exemplo um project_slug), às quais você responde no momento de gerar. As suas respostas são gravadas num ficheiro .copier-answers.yml na raiz da saída, e recarregadas na geração seguinte.

A geração não é unidirecional. Regenerar desempenha o papel de um copier update: o Restorm memoriza uma base e realiza uma fusão de três vias entre a nova saída do modelo e as suas modificações locais — as suas alterações não são, portanto, sobrescritas. Você faz evoluir o seu design (ou o modelo), regenera, e o código atualiza-se preservando o seu trabalho.

A biblioteca de modelos propõe quatro fontes:

  • Oficial — os modelos mantidos pelo Restorm, visíveis por todos.
  • Organização — os modelos partilhados dentro da sua organização, privados para os seus membros. É uma funcionalidade Enterprise: um admin — ou um membro com o direito gerir os modelos — adiciona-os ou retira-os (URL do repositório + descritivo), a partir do separador Modelos <organização> da biblioteca ou a partir do painel de administração. Ver Modelos oficiais e de organização.
  • Repositório — um repositório GitHub proprietário/nome (tipicamente um fork de um modelo oficial que adaptou).
  • Pasta local — um modelo em desenvolvimento, sem rede.

A estrutura de um modelo e o catálogo oficial estão descritos na página Modelos oficiais. O que um modelo recebe do seu design (modelos, rotas e os seus flags) é detalhado em O contexto do modelo, e os ajustes próprios do modelo em Variáveis de geração.