Roteamento Kemal redireccionando uma sub-árvore

Este trecho de código mostra-lhe como redireccionar uma sub-árvore inteira e remover a primeira parte da sub-árvore. Isto pode ser útil, por exemplo, quando tiver links externos referenciando diferentes línguas (por exemplo /de /fr /it) e caminhos de conteúdo neles, e quiser servir tudo a partir dos mesmos pontos finais. A Linguagem de Cristal...

Weiterlesen

Lidando com NIL em JSON::Qualquer em Crystal Lang

Um dos desafios ao desenvolver com o Crystal é que ele não é tão clemente sobre os tipos de dados como, digamos, Python ou Ruby. nulo irá mantê-lo ocupado. A seguinte mensagem de erro: cast from Nil to String failed, at /usr/share/crystal/src/json/any.cr:220:5:220 pode ser resolvido por: # cast to string, ENTÃO verifique se é nulo se...

Weiterlesen

mongo_orm nome personalizado para coleta

mongo_orm determinará automaticamente o nome da sua coleção usando o nome do Módulo e da Classe, e anexando um "s". Nos casos em que você quer nomear sua coleção, você pode simplesmente fazer isso: classe PapiTest < Mongo::ORM::Document collection_name "Buster" field test : String end get "/" do pt = PapiTest.new pt.test = "I want...

Weiterlesen

Instruções para adicionar um usuário a um banco de dados mongo para mongo_orm

Você não quer que sua aplicação web acesse a base de dados usando seu usuário administrador da base de dados. Adicionalmente você quer que ele acesse apenas uma base de dados específica - talvez você tenha bases de dados adicionais rodando na sua instância mongo. Pré-requisitos: mongo_orm espera a configuração do banco de dados como variáveis de ambiente ou como um arquivo config/database.yml em seu projeto. O config/database.yml...

Weiterlesen

Utilização de módulos em cristal

Conforme sua aplicação cresce, você gostaria de passar de um grande arquivo .cr para separar seu código em arquivos menores. Você pode usar o requerimento do seu arquivo .cr principal para adicionar código de outros arquivos: requerer "./tools/*". Esta declaração adicionará o código do diretório de ferramentas, relativo ao seu arquivo .cr principal. Isto irá...

Weiterlesen

Instalar o Crystal on Docker: como adicionar o repositório Crystal ao Docker no Dockerfile

Dockerfile (excerto) ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn RUN apt-get update && apt-get install -y \ software- properties-commont-essential \ libevent-dev \ libssl-dev \ libxml2-dev libyaml-dev libgmp-dev libreadline-dev apt-transport-https iputils-ping git aptitude nano openssh-server && apt-key adv -keyserver keys.gnupg.net -recv-keys 09617FD37CC06B54 && add-apt-repository 'deb https://dist.crystal-lang.org/apt crystal...

Weiterlesen

Crystal & Alpine no Raspberry Pi

Juntando duas tecnologias interessantes: Alpine Linux - uma distribuição Linux de tamanho pequeno e orientada à segurança Crystal - uma linguagem compilada com uma sintaxe agradável (similar ao Ruby) no Raspberry Pi (armhf / ARMv6, que também suportaria o Pi Zero W) não é possível atualmente, a partir de 21.12.2018. Não há (pelo menos não há...

Weiterlesen