object-channel 0.1.4 → 0.1.5
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/lib/object-channel.rb +3 -2
- data/lib/object-channel/version.rb +1 -1
- metadata +62 -73
data/lib/object-channel.rb
CHANGED
|
@@ -7,8 +7,9 @@ class ObjectChannel
|
|
|
7
7
|
#
|
|
8
8
|
def create(endpoints=2)
|
|
9
9
|
endpoints.times.to_a.map do |index|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
read, write = IO.pipe
|
|
11
|
+
write.sync = true
|
|
12
|
+
{:index=>index, :pipe=>[read, write]}
|
|
12
13
|
end.permutation(2).to_a.inject(Hash.new{|h,k|h[k]=Hash.new}) do |channels,pipes|
|
|
13
14
|
from = pipes[0]
|
|
14
15
|
to = pipes[1]
|
metadata
CHANGED
|
@@ -1,74 +1,72 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: object-channel
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.5
|
|
5
5
|
prerelease:
|
|
6
|
-
segments:
|
|
7
|
-
- 0
|
|
8
|
-
- 1
|
|
9
|
-
- 4
|
|
10
|
-
version: 0.1.4
|
|
11
6
|
platform: ruby
|
|
12
|
-
authors:
|
|
7
|
+
authors:
|
|
13
8
|
- Ryan Biesemeyer
|
|
14
9
|
autorequire:
|
|
15
10
|
bindir: bin
|
|
16
11
|
cert_chain: []
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- !ruby/object:Gem::Dependency
|
|
12
|
+
date: 2013-02-08 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
21
15
|
name: rspec
|
|
22
|
-
|
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
24
17
|
none: false
|
|
25
|
-
requirements:
|
|
26
|
-
- -
|
|
27
|
-
- !ruby/object:Gem::Version
|
|
28
|
-
|
|
29
|
-
segments:
|
|
30
|
-
- 0
|
|
31
|
-
version: "0"
|
|
18
|
+
requirements:
|
|
19
|
+
- - ! '>='
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '0'
|
|
32
22
|
type: :development
|
|
33
|
-
version_requirements: *id001
|
|
34
|
-
- !ruby/object:Gem::Dependency
|
|
35
|
-
name: rake
|
|
36
23
|
prerelease: false
|
|
37
|
-
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
38
25
|
none: false
|
|
39
|
-
requirements:
|
|
40
|
-
- -
|
|
41
|
-
- !ruby/object:Gem::Version
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
26
|
+
requirements:
|
|
27
|
+
- - ! '>='
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '0'
|
|
30
|
+
- !ruby/object:Gem::Dependency
|
|
31
|
+
name: rake
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
34
|
+
requirements:
|
|
35
|
+
- - ! '>='
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: '0'
|
|
46
38
|
type: :development
|
|
47
|
-
version_requirements: *id002
|
|
48
|
-
- !ruby/object:Gem::Dependency
|
|
49
|
-
name: bundler
|
|
50
39
|
prerelease: false
|
|
51
|
-
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
52
41
|
none: false
|
|
53
|
-
requirements:
|
|
54
|
-
- -
|
|
55
|
-
- !ruby/object:Gem::Version
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
42
|
+
requirements:
|
|
43
|
+
- - ! '>='
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '0'
|
|
46
|
+
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: bundler
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
none: false
|
|
50
|
+
requirements:
|
|
51
|
+
- - ! '>='
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0'
|
|
60
54
|
type: :development
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ! '>='
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
description: Wraps around Process.fork(), providing parent and child each an ObjectChannel
|
|
63
|
+
to transmit objects to and receive objects from the other.
|
|
64
|
+
email:
|
|
64
65
|
- ryan@yaauie.com
|
|
65
66
|
executables: []
|
|
66
|
-
|
|
67
67
|
extensions: []
|
|
68
|
-
|
|
69
68
|
extra_rdoc_files: []
|
|
70
|
-
|
|
71
|
-
files:
|
|
69
|
+
files:
|
|
72
70
|
- .gitignore
|
|
73
71
|
- Gemfile
|
|
74
72
|
- LICENSE.md
|
|
@@ -81,37 +79,28 @@ files:
|
|
|
81
79
|
- spec/spec_helper.rb
|
|
82
80
|
homepage: https://github.com/simplymeasured/object-channel
|
|
83
81
|
licenses: []
|
|
84
|
-
|
|
85
82
|
post_install_message:
|
|
86
83
|
rdoc_options: []
|
|
87
|
-
|
|
88
|
-
require_paths:
|
|
84
|
+
require_paths:
|
|
89
85
|
- lib
|
|
90
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
86
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
91
87
|
none: false
|
|
92
|
-
requirements:
|
|
93
|
-
- -
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
- 0
|
|
98
|
-
version: "0"
|
|
99
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
|
+
requirements:
|
|
89
|
+
- - ! '>='
|
|
90
|
+
- !ruby/object:Gem::Version
|
|
91
|
+
version: '0'
|
|
92
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
93
|
none: false
|
|
101
|
-
requirements:
|
|
102
|
-
- -
|
|
103
|
-
- !ruby/object:Gem::Version
|
|
104
|
-
|
|
105
|
-
segments:
|
|
106
|
-
- 0
|
|
107
|
-
version: "0"
|
|
94
|
+
requirements:
|
|
95
|
+
- - ! '>='
|
|
96
|
+
- !ruby/object:Gem::Version
|
|
97
|
+
version: '0'
|
|
108
98
|
requirements: []
|
|
109
|
-
|
|
110
99
|
rubyforge_project:
|
|
111
|
-
rubygems_version: 1.8.
|
|
100
|
+
rubygems_version: 1.8.24
|
|
112
101
|
signing_key:
|
|
113
102
|
specification_version: 3
|
|
114
103
|
summary: A library for sending objects over pipes, with convenience methods for forking
|
|
115
|
-
test_files:
|
|
104
|
+
test_files:
|
|
116
105
|
- spec/object-channel_spec.rb
|
|
117
106
|
- spec/spec_helper.rb
|