Created
July 29, 2013 20:42
-
-
Save alberto/6107632 to your computer and use it in GitHub Desktop.
¿Cómo expresarías esto con un sólo return por método?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module DownloadPolicy | |
def self.allow_download_for?(screencast, user) | |
return false unless screencast.published? | |
return true if screencast.free? | |
return false if user.nil? | |
return user.has_screencast_access? | |
end | |
end |
@ialcazar @ignasi35 os parecen más legibles vuestras soluciones?
@GermanDZ @arturoherrero no me redefináis el problema, ni es más complejo ni más sencillo :P
@GermanDZ Como decías por twitter, lo veo sobreingeniería. Creo que tendría que crecer y complicarse bastante para justificarlo o dudo que la solución fuese más sencilla, y eso que alguna vez he hecho algo similar ;)
@arturoherrero el código es el que es precisamente porque pueder haber screencasts no publicados y usuarios nulos.
Por cierto, el código es real, lo he sacado de un screencast de Destroy All Software.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Éste método está haciendo varias cosas, entiendo que cuando llamamos a
allow_download_for?
ya tenemos unscreencast
válido (está publicado) y unuser
válido (que no es nil). Con todo no me termina de gustar la solución.