Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

82
Vistas
Ruby/Rails regresan con resultado si la llamada a la función devuelve algo

Por favor, perdóname si esto es algo de nivel principiante. Estoy buscando una forma más limpia de hacer algo como esto,

 def function return Books.all if Books.any? return BooksForeign.all if BooksForeign.any? nil end

Como básicamente estoy duplicando la llamada, me preguntaba si hay una forma mejor y más sencilla de hacerlo. Solo quiero regresar si hay algo que regresa con el método Books o el método BooksForeign , ya que al método que espera un retorno no le importa si son libros extranjeros o no.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

def function Books.all.presence || BooksForeign.all.presence end

Object#presence es una de las extensiones centrales más útiles de ActiveSupport para Ruby. ¿Devuelve el objeto si está present? o nulo en caso contrario. ¿Las colecciones vacías no están present? .

Si tuviera una lista completa de clases, podría usar Enumerable#find , que devolvería el primer valor no falso:

 [Foo, Bar, Baz].find { |klass| klass.all.presence }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda