SOT: Ruby Question

Jeffrey L. Taylor
Mon, 29 Dec 2008 20:52:45 -0000

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

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---