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

Popular posts from this blog

plot - Remove Objects from Legend When You Have Also Used Fit, Matlab -

java - Why does my date parsing return a weird date? -

Need help in packaging app using TideSDK on Windows -