J
Jano Svitok
(I'm ccing ruby-talk so that you might get more answers)
From http://rubyforge.org/tracker/?func=detail&atid=715&aid=9018&group_id=167
Date: 2007-04-17 17:09
Sender: M Jessick
What is the ruby-ish way to protect any stray "puts"
calls leftover in a .rb fle that you want to run as .rbw?
For example, I develop in in a .rb file, then run it .rbw. If
I leave in a puts call it throws. Rather than go through and
comment them all out (or worse, wrap them all in begin rescue
end blocks , I would prefer them to be ignored through some
magic.
Is there a slick ruby way to do this? e.g.: overload puts and
call the system puts within the overload within a begin rescue
end.
For example:
begin
puts "puts call that used to be ignored but now raises
an exception in rubyw.exe since sometime in 2006"
rescue SystemCallError
end
would solve the problem, but if I was smart enough to do this
everywhere, I would probably know how to do this most conveniently
in ruby
Try:
module Kernel
alias_method rig_puts, uts
def puts(*args)
orig_puts *args if $stdout
end
end
(not tested)
Jano
From http://rubyforge.org/tracker/?func=detail&atid=715&aid=9018&group_id=167
Date: 2007-04-17 17:09
Sender: M Jessick
What is the ruby-ish way to protect any stray "puts"
calls leftover in a .rb fle that you want to run as .rbw?
For example, I develop in in a .rb file, then run it .rbw. If
I leave in a puts call it throws. Rather than go through and
comment them all out (or worse, wrap them all in begin rescue
end blocks , I would prefer them to be ignored through some
magic.
Is there a slick ruby way to do this? e.g.: overload puts and
call the system puts within the overload within a begin rescue
end.
For example:
begin
puts "puts call that used to be ignored but now raises
an exception in rubyw.exe since sometime in 2006"
rescue SystemCallError
end
would solve the problem, but if I was smart enough to do this
everywhere, I would probably know how to do this most conveniently
in ruby
Try:
module Kernel
alias_method rig_puts, uts
def puts(*args)
orig_puts *args if $stdout
end
end
(not tested)
Jano