File: io.rb

package info (click to toggle)
ruby-childprocess 4.1.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 376 kB
  • sloc: ruby: 2,541; makefile: 4
file content (25 lines) | stat: -rw-r--r-- 493 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
module ChildProcess
  module Windows
    class IO < AbstractIO
      private

      def check_type(io)
        return if has_fileno?(io)
        return if has_to_io?(io)

        raise ArgumentError, "#{io.inspect}:#{io.class} must have :fileno or :to_io"
      end

      def has_fileno?(io)
        io.respond_to?(:fileno) && io.fileno
      end

      def has_to_io?(io)
        io.respond_to?(:to_io) && io.to_io.kind_of?(::IO)
      end

    end # IO
  end # Windows
end # ChildProcess