Method: Object#new_fd

Defined in:
lib/mspec/helpers/io.rb

#new_fd(name, mode = "w:utf-8") ⇒ Object

Creates a “bare” file descriptor (i.e. one that is not associated with any Ruby object). The file descriptor can safely be passed to IO.new without creating a Ruby object alias to the fd.



33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/mspec/helpers/io.rb', line 33

def new_fd(name, mode="w:utf-8")
  mode = options_or_mode(mode)

  if mode.kind_of? Hash
    if mode.key? :mode
      mode = mode[:mode]
    else
      raise ArgumentError, "new_fd options Hash must include :mode"
    end
  end

  IO.sysopen name, fmode(mode)
end