SOT: Ruby Question

I have the following code. It works but it seems to me that there must
be a
clearer, more compact way. Is there a way in Ruby to pass a method name
to a
method? Something simpler than a block or lambda?

TIA,
Jeffrey

module Preload
def Preload.info_msg(msg)
Preload.common_msg(msg) {|msg| RAILS_DEFAULT_LOGGER.info msg}
end

def Preload.debug_msg(msg)
Preload.common_msg(msg, lambda{|msg| RAILS_DEFAULT_LOGGER.debug
msg})
end

def Preload.common_msg(msg, logger = nil)
puts msg
if logger
logger.call(msg)
else
yield msg
end
msg
end
end

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs