ruby-fifo 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +7 -0
  2. data/lib/ruby-fifo.rb +15 -0
  3. metadata +24 -46
  4. data/ext/mkrf_conf.rb +0 -24
  5. data/lib/fifo.rb +0 -78
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9fcf27bae77b111caf248abe556705cd06b1560b
4
+ data.tar.gz: ec8e787ebcdbae3c6b1a27fe84fd398749379ce1
5
+ SHA512:
6
+ metadata.gz: 902afd3add127ef2aaf730f5b03a63ed91e9be8c72386fd78dc6a30d52de7530f23bf73c22ade093ad40b00d990b2ed3711d9370defd63da730afc93ac9bdbf1
7
+ data.tar.gz: d77fa087541717df067b42983ca0b63f540fb87b624374aac0dadf54c864f37bc1b34da1a6b6704324105cb0049a0b651ad3b60d3713fdaaf2ea8e3ab7edadeb
@@ -0,0 +1,15 @@
1
+ libdir = File.dirname(__FILE__)
2
+ $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
3
+
4
+ require 'forwardable'
5
+
6
+ if RUBY_PLATFORM =~ /mswin/
7
+ require 'web32/pipe'
8
+ $POSIX = false
9
+ else
10
+ require 'mkfifo'
11
+ $POSIX = true
12
+ end
13
+
14
+ require 'ruby-fifo/fifo'
15
+
metadata CHANGED
@@ -1,65 +1,43 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ruby-fifo
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 1
9
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - shura
13
8
  autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2010-09-16 00:00:00 +02:00
18
- default_executable:
11
+ date: 2015-10-15 00:00:00.000000000 Z
19
12
  dependencies: []
20
-
21
- description: A library to use named pipe
13
+ description: A cross-platform library to use named pipe
22
14
  email: shura1991@gmail.com
23
15
  executables: []
24
-
25
- extensions:
26
- - ext/mkrf_conf.rb
16
+ extensions: []
27
17
  extra_rdoc_files: []
28
-
29
- files:
30
- - lib/fifo.rb
31
- - ext/mkrf_conf.rb
32
- has_rdoc: true
18
+ files:
19
+ - lib/ruby-fifo.rb
33
20
  homepage: http://github.com/shurizzle/ruby-fifo
34
21
  licenses: []
35
-
22
+ metadata: {}
36
23
  post_install_message:
37
24
  rdoc_options: []
38
-
39
- require_paths:
25
+ require_paths:
40
26
  - lib
41
- required_ruby_version: !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- segments:
47
- - 0
48
- version: "0"
49
- required_rubygems_version: !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- segments:
55
- - 0
56
- version: "0"
27
+ required_ruby_version: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - '>='
30
+ - !ruby/object:Gem::Version
31
+ version: 1.9.2
32
+ required_rubygems_version: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - '>='
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
57
37
  requirements: []
58
-
59
38
  rubyforge_project:
60
- rubygems_version: 1.3.7
39
+ rubygems_version: 2.0.14
61
40
  signing_key:
62
- specification_version: 3
63
- summary: A library to use named pipe
41
+ specification_version: 4
42
+ summary: A cross-platform library to use named pipe
64
43
  test_files: []
65
-
@@ -1,24 +0,0 @@
1
- require 'rubygems'
2
- require 'rubygems/command'
3
- require 'rubygems/dependency_installer'
4
-
5
- begin
6
- Gem::Command.build_args = ARGV
7
- rescue NoMethodError
8
- end
9
-
10
- inst = Gem::DependencyInstaller.new
11
-
12
- begin
13
- if RUBY_PLATFORM =~ /mswin/
14
- inst.install 'win32-pipe'
15
- else
16
- inst.install 'mkfifo'
17
- end
18
- rescue
19
- exit(1)
20
- end
21
-
22
- f = File.open(File.join(File.dirname(__FILE__), 'Rakefile'), 'w')
23
- f.write("task :default\n")
24
- f.close
@@ -1,78 +0,0 @@
1
- require 'forwardable'
2
-
3
- begin
4
- begin
5
- require "win32/pipe"
6
- $POSIX = false
7
- rescue LoadError
8
- require 'mkfifo'
9
- $POSIX = true
10
- end
11
- rescue LoadError
12
- raise LoadError, "No such file to load, please install 'win32/pipe' or 'mkfifo'"
13
- end
14
-
15
- class Fifo
16
- include Forwardable
17
-
18
- class ::File
19
- alias :owrite :write
20
- def write(*args)
21
- owrite(*args)
22
- flush
23
- end
24
- end
25
-
26
- def initialize(file, perms = :r, mode = :nowait)
27
- perms, mode = perms.to_s, mode.to_s
28
- raise "Unknown perms." unless %w{r w}.include?(perms)
29
- raise "Unknown mode." unless %w{wait nowait}.include?(mode)
30
- perms, mode = perms.to_sym, mode.to_sym
31
- if !$POSIX
32
- include Win32
33
-
34
- mode = {:wait => Pipe::WAIT, :nowait => Pipe::NOWAIT}[mode]
35
- @pipe = perms == :r ? Pipe.new_server(file, mode) : Pipe.new_client(file)
36
- @pipe.connect if perms == :r
37
- else
38
- if !File.exists?(file)
39
- File.mkfifo(file)
40
- File.chmod(0666, file)
41
- end
42
- @pipe = File.open(file, perms.to_s + {:wait => '', :nowait => '+'}[mode])
43
- end
44
-
45
- def_delegators :@pipe, :read, :write, :close
46
- end
47
-
48
- def print(*args)
49
- args.each {|obj|
50
- self.write obj.to_s
51
- }
52
- write $\
53
- end
54
-
55
- def puts(*args)
56
- args.each {|obj|
57
- self.write "#{obj.to_s.sub(/\n$/, '')}\n"
58
- }
59
- end
60
-
61
- def getc
62
- self.read(1)
63
- end
64
-
65
- def readline
66
- str = ""
67
- while ($_ = self.read(1)) != "\n"
68
- str << $_
69
- end
70
- str << "\n"
71
- end
72
-
73
- def gets
74
- str = ""
75
- str << self.read(1) while !str.match(/#{Regexp.escape($/)}$/)
76
- str
77
- end
78
- end