Apresentando o Robot /script/run para avaliação de código
Temos o prazer de apresentar a você o novíssimo Robot /script/run. Com ele, a avaliação de código chega ao conjunto de ferramentas da Transloadit, e suas Assemblies agora contam com os amplos recursos do JavaScript moderno!
Ao incluir código personalizado nos seus parâmetros, usando ${...}, executaremos o código
automaticamente e retornaremos o valor resultante para ser usado na sua Assembly.
Consultas simples de variáveis, como ${file.meta.width}, são classificadas como dispensando o
interpretador JavaScript do Robot e continuam gratuitas. Expansões mais complexas exigirão
que invoquemos o Robot /script/run nos bastidores, com uma
única cobrança para cada avaliação dinâmica.

Criando um Template
Como uma pequena demonstração, vamos criar um Template que redimensiona uma imagem para se ajustar à proporção áurea.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"golden_ratio_resized": {
"use": ":original",
"robot": "/image/resize",
"width": "${file.meta.height * (1 + Math.sqrt(5))/2}",
"height": "${file.meta.height}",
"resize_strategy": "fillcrop",
"result": true,
"imagemagick_stack": "v3.0.1"
},
"exported": {
"robot": "/s3/store",
"use": "golden_ratio_resized",
"result": true,
"credentials": "s3defaultBucket",
"path": "golden_ratio/${file.name}"
}
}
}
Observando o JSON acima, você vai notar que o Step golden_ratio_resized contém
a funcionalidade do /script/run incorporada ao nosso
Robot /image/resize. Isso mantém nosso JSON o mais
eficiente possível.
Para redimensionar nossa imagem para a proporção áurea, mantemos o height igual à altura
original do arquivo e, em seguida, alteramos o width de acordo com a proporção áurea, com
base nessa altura original. Também usamos a estratégia de redimensionamento fillcrop para que a
imagem possa se expandir e preencher o quadro.
Testando
Para garantir que tudo funcione como esperado, vamos fazer upload da foto de um gato de aparência simpática e conferir a nova proporção.


Simples assim, estamos alterando nossas imagens automaticamente, sem precisar executar cálculos prévios no nosso backend.
Finalizando
E assim chegamos ao fim desta demonstração. Estamos ansiosos para ver as maneiras engenhosas que você vai encontrar para utilizar o Robot /script/run nos seus projetos. Também queremos saber sua opinião sobre esta mais recente adição à nossa família de Robots, e conte para a gente se há outros recursos que você gostaria de ver incluídos no futuro!
