childprocess 0.9.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +5 -5
  2. data/.document +6 -6
  3. data/.gitignore +28 -28
  4. data/.rspec +1 -1
  5. data/.travis.yml +37 -44
  6. data/CHANGELOG.md +83 -49
  7. data/Gemfile +9 -15
  8. data/LICENSE +20 -20
  9. data/README.md +230 -196
  10. data/Rakefile +61 -61
  11. data/appveyor.yml +36 -60
  12. data/childprocess.gemspec +26 -30
  13. data/lib/childprocess/abstract_io.rb +36 -36
  14. data/lib/childprocess/abstract_process.rb +192 -192
  15. data/lib/childprocess/errors.rb +37 -26
  16. data/lib/childprocess/jruby/io.rb +16 -16
  17. data/lib/childprocess/jruby/process.rb +184 -159
  18. data/lib/childprocess/jruby/pump.rb +53 -53
  19. data/lib/childprocess/jruby.rb +56 -56
  20. data/lib/childprocess/tools/generator.rb +145 -145
  21. data/lib/childprocess/unix/fork_exec_process.rb +78 -70
  22. data/lib/childprocess/unix/io.rb +21 -21
  23. data/lib/childprocess/unix/lib.rb +186 -186
  24. data/lib/childprocess/unix/platform/arm64-macosx.rb +11 -0
  25. data/lib/childprocess/unix/platform/i386-linux.rb +12 -12
  26. data/lib/childprocess/unix/platform/i386-solaris.rb +11 -11
  27. data/lib/childprocess/unix/platform/x86_64-linux.rb +12 -12
  28. data/lib/childprocess/unix/platform/x86_64-macosx.rb +11 -11
  29. data/lib/childprocess/unix/posix_spawn_process.rb +134 -134
  30. data/lib/childprocess/unix/process.rb +90 -89
  31. data/lib/childprocess/unix.rb +9 -9
  32. data/lib/childprocess/version.rb +3 -3
  33. data/lib/childprocess/windows/handle.rb +91 -91
  34. data/lib/childprocess/windows/io.rb +25 -25
  35. data/lib/childprocess/windows/lib.rb +416 -416
  36. data/lib/childprocess/windows/process.rb +131 -130
  37. data/lib/childprocess/windows/process_builder.rb +178 -175
  38. data/lib/childprocess/windows/structs.rb +148 -148
  39. data/lib/childprocess/windows.rb +38 -33
  40. data/lib/childprocess.rb +210 -205
  41. data/spec/abstract_io_spec.rb +12 -12
  42. data/spec/childprocess_spec.rb +447 -422
  43. data/spec/get_env.ps1 +13 -0
  44. data/spec/io_spec.rb +228 -228
  45. data/spec/jruby_spec.rb +24 -24
  46. data/spec/pid_behavior.rb +12 -12
  47. data/spec/platform_detection_spec.rb +86 -86
  48. data/spec/spec_helper.rb +270 -261
  49. data/spec/unix_spec.rb +57 -57
  50. data/spec/windows_spec.rb +23 -23
  51. metadata +13 -43
@@ -1,25 +1,25 @@
1
- module ChildProcess
2
- module Windows
3
- class IO < AbstractIO
4
- private
5
-
6
- def check_type(io)
7
- return if has_fileno?(io)
8
- return if has_to_io?(io)
9
-
10
- raise ArgumentError, "#{io.inspect}:#{io.class} must have :fileno or :to_io"
11
- end
12
-
13
- def has_fileno?(io)
14
- io.respond_to?(:fileno) && io.fileno
15
- end
16
-
17
- def has_to_io?(io)
18
- io.respond_to?(:to_io) && io.to_io.kind_of?(::IO)
19
- end
20
-
21
- end # IO
22
- end # Windows
23
- end # ChildProcess
24
-
25
-
1
+ module ChildProcess
2
+ module Windows
3
+ class IO < AbstractIO
4
+ private
5
+
6
+ def check_type(io)
7
+ return if has_fileno?(io)
8
+ return if has_to_io?(io)
9
+
10
+ raise ArgumentError, "#{io.inspect}:#{io.class} must have :fileno or :to_io"
11
+ end
12
+
13
+ def has_fileno?(io)
14
+ io.respond_to?(:fileno) && io.fileno
15
+ end
16
+
17
+ def has_to_io?(io)
18
+ io.respond_to?(:to_io) && io.to_io.kind_of?(::IO)
19
+ end
20
+
21
+ end # IO
22
+ end # Windows
23
+ end # ChildProcess
24
+
25
+