Class: PhusionPassenger::Utils::PseudoIO

Inherits:
Object
  • Object
show all
Defined in:
lib/phusion_passenger/utils.rb

Instance Method Summary collapse

Constructor Details

#initialize(sink) ⇒ PseudoIO

Returns a new instance of PseudoIO.



260
261
262
263
# File 'lib/phusion_passenger/utils.rb', line 260

def initialize(sink)
	@sink = sink || File.open("/dev/null", "w")
	@buffer = StringIO.new
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(*args, &block) ⇒ Object



271
272
273
274
# File 'lib/phusion_passenger/utils.rb', line 271

def method_missing(*args, &block)
	@buffer.send(*args, &block) if @buffer && args.first != :reopen
	return @sink.send(*args, &block)
end

Instance Method Details

#done!Object



265
266
267
268
269
# File 'lib/phusion_passenger/utils.rb', line 265

def done!
	result = @buffer.string
	@buffer = nil
	return result
end

#respond_to?(symbol, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


276
277
278
# File 'lib/phusion_passenger/utils.rb', line 276

def respond_to?(symbol, include_private = false)
	return @sink.respond_to?(symbol, include_private)
end