win32-pipe 0.2.1 → 0.2.2

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.
data/CHANGES CHANGED
@@ -1,3 +1,8 @@
1
+ == 0.2.2 - 19-Mar-2012
2
+ * Added test-unit 2.x as a development dependency.
3
+ * Refactored some tests to use features of test-unit 2.x.
4
+ * Refactored the Rakefile.
5
+
1
6
  == 0.2.1 - 9-Aug-2009
2
7
  * License changed to Artistic 2.0.
3
8
  * Test and example files renamed.
data/Rakefile CHANGED
@@ -1,48 +1,48 @@
1
1
  require 'rake'
2
2
  require 'rake/clean'
3
3
  require 'rake/testtask'
4
- require 'rbconfig'
5
- include Config
6
4
 
7
- desc 'Install the win32-pipe library (non-gem)'
8
- task :install do
9
- sitelibdir = CONFIG['sitelibdir']
5
+ CLEAN.include("**/*.gem")
10
6
 
11
- pipe_installdir = File.join(sitelibdir, 'win32')
12
- sub_installdir = File.join(sitelibdir, 'win32', 'pipe')
7
+ namespace :gem do
8
+ desc 'Create the win32-pipe gem'
9
+ task :create => [:clean] do
10
+ spec = eval(IO.read('win32-pipe.gemspec'))
11
+ Gem::Builder.new(spec).build
12
+ end
13
13
 
14
- pipe_file = File.join('lib', 'win32', 'pipe.rb')
15
- client_file = File.join('lib', 'win32', 'pipe', 'client.rb')
16
- server_file = File.join('lib', 'win32', 'pipe', 'server.rb')
17
-
18
- FileUtils.mkdir_p(sub_installdir)
19
-
20
- FileUtils.cp(pipe_file, pipe_installdir, :verbose => true)
21
- FileUtils.cp(client_file, sub_installdir, :verbose => true)
22
- FileUtils.cp(server_file, sub_installdir, :verbose => true)
23
- end
24
-
25
- desc 'Run the asynchronous client example program'
26
- task :example_async_client do
27
- ruby '-Ilib examples/example_client_async.rb'
28
- end
29
-
30
- desc 'Run the client example program'
31
- task :example_client do
32
- ruby '-Ilib examples/example_client.rb'
33
- end
34
-
35
- desc 'Run the asynchronous server example program'
36
- task :example_async_server do
37
- ruby '-Ilib examples/example_server_async.rb'
14
+ desc 'Install the win32-pipe gem'
15
+ task :install => [:create] do
16
+ file = Dir['*.gem'].first
17
+ sh "gem install #{file}"
18
+ end
38
19
  end
39
20
 
40
- desc 'Run the server example program'
41
- task :example_server do
42
- ruby '-Ilib examples/example_server.rb'
21
+ namespace :example do
22
+ desc 'Run the asynchronous client example program'
23
+ task :async_client do
24
+ ruby '-Ilib examples/example_client_async.rb'
25
+ end
26
+
27
+ desc 'Run the client example program'
28
+ task :client do
29
+ ruby '-Ilib examples/example_client.rb'
30
+ end
31
+
32
+ desc 'Run the asynchronous server example program'
33
+ task :async_server do
34
+ ruby '-Ilib examples/example_server_async.rb'
35
+ end
36
+
37
+ desc 'Run the server example program'
38
+ task :server do
39
+ ruby '-Ilib examples/example_server.rb'
40
+ end
43
41
  end
44
42
 
45
43
  Rake::TestTask.new do |test|
46
- test.warning = true
47
- test.verbose = true
44
+ test.warning = true
45
+ test.verbose = true
48
46
  end
47
+
48
+ task :default => :test
data/lib/win32/pipe.rb CHANGED
@@ -20,7 +20,7 @@ module Win32
20
20
  class Error < StandardError; end
21
21
 
22
22
  # The version of this library
23
- VERSION = '0.2.1'
23
+ VERSION = '0.2.2'
24
24
 
25
25
  PIPE_BUFFER_SIZE = 512 #:nodoc:
26
26
  PIPE_TIMEOUT = 5000 #:nodoc:
@@ -1,49 +1,65 @@
1
1
  # The Win32 module serves as a namespace only
2
2
  module Win32
3
- # The Pipe::Client class encapsulates the client side of a named pipe
4
- # connection.
5
- #
6
- class Pipe::Client < Pipe
7
- # Create and return a new Pipe::Client instance.
8
- #
9
- # The default pipe mode is PIPE_WAIT.
10
- #
11
- # The default open mode is FILE_ATTRIBUTE_NORMAL | FILE_FLAG_WRITE_THROUGH.
12
- #--
13
- # 2147483776 is FILE_ATTRIBUTE_NORMAL | FILE_FLAG_WRITE_THROUGH
14
- def initialize(name, pipe_mode = DEFAULT_PIPE_MODE, open_mode = DEFAULT_OPEN_MODE)
15
- super(name, pipe_mode, open_mode)
3
+
4
+ # The Pipe::Client class encapsulates the client side of a named pipe
5
+ # connection.
6
+ #
7
+ class Pipe::Client < Pipe
8
+
9
+ # Create and return a new Pipe::Client instance. The +name+, +pipe_mode+,
10
+ # and +open_mode+ are passed to the Win32::Pipe superclass.
11
+ #
12
+ # The default +pipe_mode+ is NOWAIT.
13
+ #
14
+ # The default +open_mode+ is FILE_ATTRIBUTE_NORMAL | FILE_FLAG_WRITE_THROUGH.
15
+ #
16
+ # In block form the client object is yield, and is automatically
17
+ # disconnected and closed at the end of the block.
18
+ #
19
+ # Example:
20
+ #
21
+ # require 'win32/pipe'
22
+ #
23
+ # Pipe::Client.new('foo') do |pipe|
24
+ # puts "Connected..."
25
+ # pipe.write("Ruby rocks!")
26
+ # data = pipe.read
27
+ # puts "Got [#{data}] back from pipe server"
28
+ # end
29
+ #
30
+ def initialize(name, pipe_mode = DEFAULT_PIPE_MODE, open_mode = DEFAULT_OPEN_MODE)
31
+ super(name, pipe_mode, open_mode)
16
32
 
17
- @pipe = CreateFile(
18
- @name,
19
- GENERIC_READ | GENERIC_WRITE,
20
- FILE_SHARE_READ | FILE_SHARE_WRITE,
21
- nil,
22
- OPEN_EXISTING,
23
- @open_mode,
24
- nil
25
- )
33
+ @pipe = CreateFile(
34
+ @name,
35
+ GENERIC_READ | GENERIC_WRITE,
36
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
37
+ nil,
38
+ OPEN_EXISTING,
39
+ @open_mode,
40
+ nil
41
+ )
26
42
 
27
- error = GetLastError()
43
+ error = GetLastError()
28
44
 
29
- if error == ERROR_PIPE_BUSY
30
- unless WaitNamedPipe(@name, NMPWAIT_WAIT_FOREVER)
31
- raise Error, get_last_error
32
- end
33
- end
45
+ if error == ERROR_PIPE_BUSY
46
+ unless WaitNamedPipe(@name, NMPWAIT_WAIT_FOREVER)
47
+ raise Error, get_last_error
48
+ end
49
+ end
34
50
 
35
- if @pipe == INVALID_HANDLE_VALUE
36
- raise Error, get_last_error
37
- end
51
+ if @pipe == INVALID_HANDLE_VALUE
52
+ raise Error, get_last_error
53
+ end
38
54
 
39
- if block_given?
40
- begin
41
- yield self
42
- ensure
43
- disconnect
44
- close
45
- end
46
- end
55
+ if block_given?
56
+ begin
57
+ yield self
58
+ ensure
59
+ disconnect
60
+ close
61
+ end
47
62
  end
48
- end
63
+ end
64
+ end
49
65
  end
@@ -4,119 +4,123 @@
4
4
  # Test suite for the win32-pipe library. This test suite should be run
5
5
  # via the 'rake test' task.
6
6
  ##########################################################################
7
+ require 'rubygems'
8
+ gem 'test-unit'
7
9
  require 'test/unit'
10
+
8
11
  require 'win32/pipe'
9
12
  include Win32
10
13
 
11
14
  class TC_Win32_Pipe < Test::Unit::TestCase
12
- def setup
13
- @pipe = Pipe.new('foo')
14
- end
15
+ def setup
16
+ @pipe = Pipe.new('foo')
17
+ end
15
18
 
16
- def test_version
17
- assert_equal('0.2.1', Pipe::VERSION)
18
- end
19
+ def test_version
20
+ assert_equal('0.2.2', Pipe::VERSION)
21
+ end
19
22
 
20
- def test_name
21
- assert_respond_to(@pipe, :name)
22
- assert_nothing_raised{ @pipe.name }
23
- assert_equal("\\\\.\\pipe\\foo", @pipe.name)
24
- end
23
+ def test_name
24
+ assert_respond_to(@pipe, :name)
25
+ assert_nothing_raised{ @pipe.name }
26
+ assert_equal("\\\\.\\pipe\\foo", @pipe.name)
27
+ end
25
28
 
26
- def test_pipe_mode
27
- assert_respond_to(@pipe, :pipe_mode)
28
- assert_nothing_raised{ @pipe.pipe_mode }
29
- assert_equal(Pipe::DEFAULT_PIPE_MODE, @pipe.pipe_mode)
30
- end
29
+ def test_pipe_mode
30
+ assert_respond_to(@pipe, :pipe_mode)
31
+ assert_nothing_raised{ @pipe.pipe_mode }
32
+ assert_equal(Pipe::DEFAULT_PIPE_MODE, @pipe.pipe_mode)
33
+ end
31
34
 
32
- def test_open_mode
33
- assert_respond_to(@pipe, :open_mode)
34
- assert_nothing_raised{ @pipe.open_mode }
35
- assert_equal(Pipe::DEFAULT_OPEN_MODE, @pipe.open_mode)
36
- end
37
-
38
- def test_buffer
39
- assert_respond_to(@pipe, :buffer)
40
- assert_nothing_raised{ @pipe.buffer }
41
- end
42
-
43
- def test_size
44
- assert_respond_to(@pipe, :size)
45
- assert_nothing_raised{ @pipe.size }
46
- end
47
-
48
- def test_length_alias
49
- assert_respond_to(@pipe, :length)
50
- assert_equal(true, @pipe.method(:length) == @pipe.method(:size))
51
- end
52
-
53
- def test_pending
54
- assert_respond_to(@pipe, :pending?)
55
- assert_nothing_raised{ @pipe.pending? }
56
- assert_equal(false, @pipe.pending?)
57
- end
35
+ def test_open_mode
36
+ assert_respond_to(@pipe, :open_mode)
37
+ assert_nothing_raised{ @pipe.open_mode }
38
+ assert_equal(Pipe::DEFAULT_OPEN_MODE, @pipe.open_mode)
39
+ end
40
+
41
+ def test_buffer
42
+ assert_respond_to(@pipe, :buffer)
43
+ assert_nothing_raised{ @pipe.buffer }
44
+ end
45
+
46
+ def test_size
47
+ assert_respond_to(@pipe, :size)
48
+ assert_nothing_raised{ @pipe.size }
49
+ end
50
+
51
+ def test_length_alias
52
+ assert_respond_to(@pipe, :length)
53
+ assert_true(@pipe.method(:length) == @pipe.method(:size))
54
+ assert_alias_method(@pipe, :length, :size)
55
+ end
56
+
57
+ def test_pending
58
+ assert_respond_to(@pipe, :pending?)
59
+ assert_nothing_raised{ @pipe.pending? }
60
+ assert_false(@pipe.pending?)
61
+ end
58
62
 
59
- def test_asynchronous
60
- assert_respond_to(@pipe, :asynchronous?)
61
- assert_nothing_raised{ @pipe.asynchronous? }
62
- assert_equal(false, @pipe.asynchronous?)
63
- end
64
-
65
- def test_read
66
- assert_respond_to(@pipe, :read)
67
- assert_raises(Pipe::Error){ @pipe.read } # Nothing to read
68
- end
69
-
70
- def test_transferred
71
- assert_respond_to(@pipe, :transferred)
72
- assert_nothing_raised{ @pipe.transferred }
73
- end
74
-
75
- def test_wait
76
- assert_respond_to(@pipe, :wait)
77
- assert_raises(Pipe::Error){ @pipe.wait } # Can't wait in blocking mode
78
- end
79
-
80
- def test_write
81
- assert_respond_to(@pipe, :write)
82
- assert_raises(ArgumentError){ @pipe.write } # Must have 1 argument
83
- assert_raises(Pipe::Error){ @pipe.write("foo") } # Nothing to write to
84
- end
63
+ def test_asynchronous
64
+ assert_respond_to(@pipe, :asynchronous?)
65
+ assert_nothing_raised{ @pipe.asynchronous? }
66
+ assert_false(@pipe.asynchronous?)
67
+ end
68
+
69
+ def test_read
70
+ assert_respond_to(@pipe, :read)
71
+ assert_raises(Pipe::Error){ @pipe.read } # Nothing to read
72
+ end
73
+
74
+ def test_transferred
75
+ assert_respond_to(@pipe, :transferred)
76
+ assert_nothing_raised{ @pipe.transferred }
77
+ end
78
+
79
+ def test_wait
80
+ assert_respond_to(@pipe, :wait)
81
+ assert_raises(Pipe::Error){ @pipe.wait } # Can't wait in blocking mode
82
+ end
83
+
84
+ def test_write
85
+ assert_respond_to(@pipe, :write)
86
+ assert_raises(ArgumentError){ @pipe.write } # Must have 1 argument
87
+ assert_raises(Pipe::Error){ @pipe.write("foo") } # Nothing to write to
88
+ end
85
89
 
86
- def test_disconnect
87
- assert_respond_to(@pipe, :disconnect)
88
- assert_nothing_raised{ @pipe.disconnect }
89
- end
90
+ def test_disconnect
91
+ assert_respond_to(@pipe, :disconnect)
92
+ assert_nothing_raised{ @pipe.disconnect }
93
+ end
90
94
 
91
- def test_close
92
- assert_respond_to(@pipe, :close)
93
- assert_nothing_raised{ @pipe.close }
94
- end
95
-
96
- def test_pipe_mode_constants
97
- assert_not_nil(Pipe::WAIT)
98
- assert_not_nil(Pipe::NOWAIT)
99
- assert_not_nil(Pipe::TYPE_BYTE)
100
- assert_not_nil(Pipe::TYPE_MESSAGE)
101
- assert_not_nil(Pipe::READMODE_BYTE)
102
- assert_not_nil(Pipe::READMODE_MESSAGE)
103
- end
95
+ def test_close
96
+ assert_respond_to(@pipe, :close)
97
+ assert_nothing_raised{ @pipe.close }
98
+ end
99
+
100
+ def test_pipe_mode_constants
101
+ assert_not_nil(Pipe::WAIT)
102
+ assert_not_nil(Pipe::NOWAIT)
103
+ assert_not_nil(Pipe::TYPE_BYTE)
104
+ assert_not_nil(Pipe::TYPE_MESSAGE)
105
+ assert_not_nil(Pipe::READMODE_BYTE)
106
+ assert_not_nil(Pipe::READMODE_MESSAGE)
107
+ end
104
108
 
105
- def test_open_mode_constants
106
- assert_not_nil(Pipe::ACCESS_DUPLEX)
107
- assert_not_nil(Pipe::ACCESS_INBOUND)
108
- assert_not_nil(Pipe::ACCESS_OUTBOUND)
109
- assert_not_nil(Pipe::FIRST_PIPE_INSTANCE)
110
- assert_not_nil(Pipe::WRITE_THROUGH)
111
- assert_not_nil(Pipe::OVERLAPPED)
112
- end
109
+ def test_open_mode_constants
110
+ assert_not_nil(Pipe::ACCESS_DUPLEX)
111
+ assert_not_nil(Pipe::ACCESS_INBOUND)
112
+ assert_not_nil(Pipe::ACCESS_OUTBOUND)
113
+ assert_not_nil(Pipe::FIRST_PIPE_INSTANCE)
114
+ assert_not_nil(Pipe::WRITE_THROUGH)
115
+ assert_not_nil(Pipe::OVERLAPPED)
116
+ end
113
117
 
114
- def test_other_constants
115
- assert_not_nil(Pipe::INFINITE)
116
- end
117
-
118
- def teardown
119
- @pipe.close
120
- @pipe = nil
121
- end
118
+ def test_other_constants
119
+ assert_not_nil(Pipe::INFINITE)
120
+ end
121
+
122
+ def teardown
123
+ @pipe.close
124
+ @pipe = nil
125
+ end
122
126
  end
@@ -6,23 +6,55 @@
6
6
  ##########################################################################
7
7
  require 'test/unit'
8
8
  require 'win32/pipe'
9
- include Win32
10
9
 
11
10
  class TC_Win32_Pipe_Client < Test::Unit::TestCase
12
- def setup
13
- @pipe = nil
14
- end
15
-
16
- def test_constructor_basic
17
- assert_respond_to(Pipe::Client, :new)
18
- end
19
-
20
- def test_constructor_expected_errors
21
- assert_raise(ArgumentError){ Pipe::Client.new }
22
- assert_raise(TypeError){ Pipe::Client.new(1) }
23
- end
24
-
25
- def teardown
26
- @pipe = nil
27
- end
11
+ def setup
12
+ @server = Win32::Pipe::Server.new('test')
13
+ @pipe = nil
14
+ @name = 'test'
15
+ @pmode = Win32::Pipe::PIPE_NOWAIT
16
+ @omode = Win32::Pipe::DEFAULT_OPEN_MODE
17
+ end
18
+
19
+ test "constructor basic functionality" do
20
+ assert_respond_to(Win32::Pipe::Client, :new)
21
+ assert_nothing_raised{ @pipe = Win32::Pipe::Client.new(@name) }
22
+ end
23
+
24
+ test "constructor accepts an optional pipe mode" do
25
+ assert_nothing_raised{ @pipe = Win32::Pipe::Client.new(@name, @pmode) }
26
+ end
27
+
28
+ test "constructor accepts an optional open mode" do
29
+ assert_nothing_raised{ @pipe = Win32::Pipe::Client.new(@name, @pmode, @omode) }
30
+ end
31
+
32
+ test "constructor requires a pipe name" do
33
+ assert_raise(ArgumentError){ Win32::Pipe::Client.new }
34
+ end
35
+
36
+ test "pipe name must be a string" do
37
+ assert_raise(TypeError){ Win32::Pipe::Client.new(1) }
38
+ end
39
+
40
+ test "an error is raised if the named pipe cannot be found" do
41
+ assert_raise(Win32::Pipe::Error){ Win32::Pipe::Client.new('bogus') }
42
+ end
43
+
44
+ def teardown
45
+ if @pipe
46
+ @pipe.disconnect
47
+ @pipe.close
48
+ end
49
+
50
+ if @server
51
+ @server.disconnect
52
+ @server.close
53
+ end
54
+
55
+ @pmode = nil
56
+ @omode = nil
57
+ @pipe = nil
58
+ @server = nil
59
+ end
28
60
  end
@@ -15,7 +15,7 @@ class TC_Win32_Pipe_Server < Test::Unit::TestCase
15
15
 
16
16
  def test_constructor_basic
17
17
  assert_respond_to(Pipe::Server, :new)
18
- assert_nothing_raised{ Pipe::Server.new('foo') }
18
+ assert_nothing_raised{ @pipe = Pipe::Server.new('foo') }
19
19
  end
20
20
 
21
21
  def test_connect
data/win32-pipe.gemspec CHANGED
@@ -1,28 +1,25 @@
1
1
  require 'rubygems'
2
2
 
3
- spec = Gem::Specification.new do |gem|
4
- gem.name = 'win32-pipe'
5
- gem.version = '0.2.1'
6
- gem.author = 'Daniel J. Berger'
7
- gem.license = 'Artistic 2.0'
8
- gem.email = 'djberg96@gmail.com'
9
- gem.homepage = 'http://www.rubyforge.org/projects/win32utils'
10
- gem.platform = Gem::Platform::RUBY
11
- gem.summary = 'An interface for named pipes on MS Windows'
12
- gem.test_files = Dir['test/test_*.rb']
13
- gem.has_rdoc = true
14
- gem.files = Dir['**/*'].reject{ |f| f.include?('CVS') }
3
+ Gem::Specification.new do |spec|
4
+ spec.name = 'win32-pipe'
5
+ spec.version = '0.2.2'
6
+ spec.author = 'Daniel J. Berger'
7
+ spec.license = 'Artistic 2.0'
8
+ spec.email = 'djberg96@gmail.com'
9
+ spec.homepage = 'http://www.rubyforge.org/projects/win32utils'
10
+ spec.summary = 'An interface for named pipes on MS Windows'
11
+ spec.test_files = Dir['test/test_*.rb']
12
+ spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
15
13
 
16
- gem.rubyforge_project = 'win32utils'
17
- gem.extra_rdoc_files = ['CHANGES', 'README', 'MANIFEST']
14
+ spec.rubyforge_project = 'win32utils'
15
+ spec.extra_rdoc_files = ['CHANGES', 'README', 'MANIFEST']
18
16
 
19
- gem.add_dependency('windows-pr', '>= 1.0.6')
17
+ spec.add_dependency('windows-pr', '>= 1.0.6')
18
+ spec.add_development_dependency('test-unit', '>= 2.1.0')
20
19
 
21
- gem.description = <<-EOF
22
- The win32-pipe library provides an interface for named pipes on Windows.
23
- A named pipe is a named, one-way or duplex pipe for communication
24
- between the pipe server and one or more pipe clients.
25
- EOF
20
+ spec.description = <<-EOF
21
+ The win32-pipe library provides an interface for named pipes on Windows.
22
+ A named pipe is a named, one-way or duplex pipe for communication
23
+ between the pipe server and one or more pipe clients.
24
+ EOF
26
25
  end
27
-
28
- Gem::Builder.new(spec).build
metadata CHANGED
@@ -1,38 +1,49 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: win32-pipe
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.2
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Daniel J. Berger
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2009-08-09 00:00:00 -06:00
13
- default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-03-19 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: windows-pr
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
16
+ requirement: &21666690 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
23
21
  version: 1.0.6
24
- version:
25
- description: " The win32-pipe library provides an interface for named pipes on Windows.\n A named pipe is a named, one-way or duplex pipe for communication\n between the pipe server and one or more pipe clients. \n"
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *21666690
25
+ - !ruby/object:Gem::Dependency
26
+ name: test-unit
27
+ requirement: &21666430 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 2.1.0
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *21666430
36
+ description: ! " The win32-pipe library provides an interface for named pipes on
37
+ Windows.\n A named pipe is a named, one-way or duplex pipe for communication\n
38
+ \ between the pipe server and one or more pipe clients. \n"
26
39
  email: djberg96@gmail.com
27
40
  executables: []
28
-
29
41
  extensions: []
30
-
31
- extra_rdoc_files:
42
+ extra_rdoc_files:
32
43
  - CHANGES
33
44
  - README
34
45
  - MANIFEST
35
- files:
46
+ files:
36
47
  - CHANGES
37
48
  - examples/example_client.rb
38
49
  - examples/example_client_async.rb
@@ -48,35 +59,32 @@ files:
48
59
  - test/test_win32_pipe_client.rb
49
60
  - test/test_win32_pipe_server.rb
50
61
  - win32-pipe.gemspec
51
- has_rdoc: true
52
62
  homepage: http://www.rubyforge.org/projects/win32utils
53
- licenses:
63
+ licenses:
54
64
  - Artistic 2.0
55
65
  post_install_message:
56
66
  rdoc_options: []
57
-
58
- require_paths:
67
+ require_paths:
59
68
  - lib
60
- required_ruby_version: !ruby/object:Gem::Requirement
61
- requirements:
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: "0"
65
- version:
66
- required_rubygems_version: !ruby/object:Gem::Requirement
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: "0"
71
- version:
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ! '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
72
81
  requirements: []
73
-
74
82
  rubyforge_project: win32utils
75
- rubygems_version: 1.3.5
83
+ rubygems_version: 1.8.11
76
84
  signing_key:
77
85
  specification_version: 3
78
86
  summary: An interface for named pipes on MS Windows
79
- test_files:
87
+ test_files:
80
88
  - test/test_win32_pipe.rb
81
89
  - test/test_win32_pipe_client.rb
82
90
  - test/test_win32_pipe_server.rb