Ruby empty parameter in function -
i'm trying enqueue various functions in generic way code :
{ object.const_get(object_name).new(job[:params]||={}).delay(:queue => queue).send(method_name)} job hash name, objects parameters etc...
my problem in case :
class foo def initialize puts 'bar' end end foo doesn't take parameters instanciation.
so if use previous line foo object_name i'll error :
argumenterror: wrong number pf arguments (1 0) and absolutly don't want write :
if job.has_key?[:param] object.const_get(object_name).new(job[:params]||={}).delay(:queue => queue).send(method_name) else object.const_get(object_name).new().delay(:queue => queue).send(method_name) end what write instead of job[:params]||={} works every case?
thanks in advance.
you can achieve using foo.send , using array.
for instance
object. const_get(object_name). send(*(job.has_key?(:param) ? ['new', job[:param]] : ['new']))... i think not worth , if statement easier on eyes.
Comments
Post a Comment