Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Refactoring a Rails API

Refactoring a Rails API

talk given by @edymerchk and @dmuneras in local Meetup - Medellin.rb May 31th

Luis Edimerchk Laverde

June 01, 2016
Tweet

More Decks by Luis Edimerchk Laverde

Other Decks in Programming

Transcript

  1. <3

  2. <3

  3. Cookies vs Token • Cookies + CORS (cross-origin resource sharing)

    • Stateless (a.k.a. Server side scalability) • Decoupling • Mobile ready • CSRF (Cross-site request forgery)
  4. Por ejemplo, aquí no utilizamos response_with, pero delegamos la responsabilidad

    de enviar el HTTP status correcto y el formato de JSON correcto a otra entidad. Lo cual limpia el método en el controlador
  5. Beneficios • Tests • Encapsular logica • Limpiar Models y

    Controladores • Llamarlos de cualquier parte
  6. Anotación, vamos a mostrar un proceso de evolución que vivimos

    hace un tiempo. No es la mejor opción o la peor, es solo una vivencia. Utilizamos active_model_serializer:
  7. • Ser consciente de cada cuanto su aplicación Front End

    está llamando su end point. • Hay que poner atención con las relaciones y sus serializers. • Existen varias opciones para manipular la información que se envía. • Ser consciente de las implicaciones que tienen las decisiones de diseño que se realizan.
  8. Cuando se tiene un serializer con relaciones has_many y se

    están enviando todos los datos de los modelos relacionados, se debe tener cuidado con la cantidad de records que se van a enviar y cómo esto afecta la velocidad de la aplicación front end.