
Compartilhar:
Ben é um desenvolvedor que mudou de carreira, tendo atuado anteriormente por uma década nas áreas de educação de adultos, organização comunitária e gestão de organizações sem fins lucrativos. Ele trabalhou como representante de desenvolvedores na Vonage. Escreve regularmente sobre a interseção entre desenvolvimento comunitário e tecnologia. Natural do sul da Califórnia e morador de longa data da cidade de Nova York, Ben reside atualmente perto de Tel Aviv, em Israel.
Lançamento do Nexmo Ruby v7.0.0
Tempo de leitura: 2 minutos
O SDK do Nexmo para Ruby lançou recentemente uma nova versão principal, a v7.0.0. Essa nova versão trouxe melhorias no suporte ao tratamento de erros da API, renomeou uma classe existente para se alinhar com o restante dos SDKs do Nexmo e adicionou mais tipagem estática.
Tratamento de erros na API
A mudança mais significativa nesta nova versão é a forma como o SDK lida com erros provenientes de nossas APIs legadas mais antigas. Existem algumas APIs da Nexmo, como a SMS API, por exemplo, que retornam um 200 OK status HTTP junto com um código de erro para indicar que algo deu errado.
Anteriormente, o SDK tratava todas as respostas da API que retornavam um 200 OK como um sucesso e repassava ao usuário o corpo da resposta. Como resultado, os desenvolvedores precisavam criar verificações condicionais em seu código para um código de erro dentro da 200 OK resposta para saber se havia algum problema. Um exemplo clássico de como isso era feito anteriormente com o SDK do Ruby é o seguinte:
response = client.sms.send(
from: 'Acme Inc',
to: TO_NUMBER,
text: 'A text message sent using the Nexmo SMS API'
)
if response['messages'].first['status'] == 0
puts 'Success'
else
puts "Error Code #{response['messages'].first['status']}: #{response['messages'].first['error-text']}"
endAgora, o SDK verificará se há códigos de status diferentes de zero para você e lançará uma exceção automaticamente em seu código caso o código de status seja diferente de zero. Isso elimina a necessidade de você criar verificações condicionais como a apresentada acima dentro do seu aplicativo. Em vez disso, agora funciona uma versão mais concisa:
response = client.sms.send(
from: 'Acme Inc',
to: TO_NUMBER,
text: 'A text message sent using the Nexmo SMS API'
)Se houver algum problema, o SDK lançará uma exceção e informará o error-text e status da API para você. Essas informações podem ser usadas para consultar mais detalhes na Referência da API. Por exemplo, cada código de erro correspondente na SMS API pode ser encontrado na Referência da API , com mais detalhes sobre seu significado.
Nomeação de classes
A equipe do SDK da Nexmo tem se empenhado em garantir que todos os nossos SDKs estejam em conformidade com nossa Especificação da Biblioteca de Servidor. Recentemente, reformulamos a especificação — você pode ler sobre esse trabalho em uma postagem do líder da iniciativa do SDK de Servidor, Chris Tankersley, no blog da Nexmo.
Como parte da Audit do SDK do Ruby, descobrimos que uma de nossas classes tinha um nome diferente do restante dos nossos SDKs. Sabemos que muitos desenvolvedores não trabalham apenas com uma linguagem, e é importante para nós que a experiência de uso de nossos SDKs permaneça o mais consistente possível entre as diferentes linguagens. Quando houver diferenças, elas devem ser resultado de particularidades de cada linguagem, e as distinções idiossincráticas devem ser minimizadas.
Portanto, renomeamos a Calls classe para Voice. Trata-se de uma alteração que causa incompatibilidade, portanto, esteja ciente disso ao optar por atualizar para a versão v7.0.0.
Tipagem estática
Introduzimos a tipagem estática no SDK do Ruby na versão 6.3.0. Você pode ler sobre os motivos que nos levaram a fazer isso na postagem do blog sobre o lançamento e acompanhar um pouco da jornada de adoção inicial em nossa série no YouTube.
Decidimos seguir um caminho de introdução gradual de mais assinaturas de métodos a cada nova versão. Nesta versão, introduzimos a verificação estática de tipos no Account e Alerts . Elas se juntam à classe SMS em nossa lista crescente de classes tipadas estaticamente.
E agora?
Temos mais novidades empolgantes para o SDK do Ruby a caminho. Entre elas está a adição das Conversas, Mensagens e Dispatch , assim que saírem da fase beta e estiverem disponíveis para o público em geral.
O código-fonte do SDK está disponível publicamente no GitHub, e estamos abertos a contribuições e ao envolvimento de todos. Participe da conversa conosco no GitHub ou entre em contato conosco na Slack da Comunidade Nexmo.
Compartilhar:
Ben é um desenvolvedor que mudou de carreira, tendo atuado anteriormente por uma década nas áreas de educação de adultos, organização comunitária e gestão de organizações sem fins lucrativos. Ele trabalhou como representante de desenvolvedores na Vonage. Escreve regularmente sobre a interseção entre desenvolvimento comunitário e tecnologia. Natural do sul da Califórnia e morador de longa data da cidade de Nova York, Ben reside atualmente perto de Tel Aviv, em Israel.