Re: passing function into another function

From: Joe Van D. [mailto:[email protected]]

def do_something_with_a_report report

calls Reports::This or Reports::That, dtermined by what report is

something like report.call ?

end

class Reports
def self.this
puts “#{self} is doing ‘this’”
end
def self.that
puts “#{self} is doing ‘that’”
end
def self.run_report( report_name )
send( report_name )
end
end

def do_something_with_a_report( report_name )
Reports.run_report( report_name )
end

do_something_with_a_report( :this )
#=> Reports is doing ‘this’

def do_something_with_a_report2( report )
report.call
end

do_something_with_a_report2( Reports.method( :this ) )
#=> Reports is doing ‘this’