palombe 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +5 -5
  2. data/lib/palombe.rb +11 -9
  3. metadata +4 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 69d03c441fd5bdccf57b9aac488b08ed6e328d58
4
- data.tar.gz: 623b015b7ae44b271da76a32a7493ca8ccfe30d9
2
+ SHA256:
3
+ metadata.gz: a52a818a693590a76ff953c1dc74b56d0487cfed44ca9f96c1d4b5ff18725e70
4
+ data.tar.gz: b5d4972efed3de8d06d14e52dda7f9ecc1aeb1450c8c467ac14aa14000f50c17
5
5
  SHA512:
6
- metadata.gz: 702f0ed8c02aea2beea6f099959c7309ed1d6bf5306e80536c6a7bf337d58af662ee2cf070d845ee12a5c4b5cecd919af5bfa932f469ba7b908db442245b8468
7
- data.tar.gz: 9d0ed17f4c9db0f25afe15e4774793fa132355b8c8ab813d20fa67d2abe1be47b3419112a3ccdfa9f76a07714513bfd5d8341b356b54d8a44fca370b24f208fb
6
+ metadata.gz: 052a3b9d41fa59bb8c98f6f297889e470cc52eca5982c2f4af781a1c3a8fae61b3c4c4312d39fa35885aeebbb6f7d31644ea9f834d28545059b4b121af263fc5
7
+ data.tar.gz: a8bf0a2ecd2bc9f7d8bc5839164c7482f94f24cc45a90ab68bb114756ed78ee45c4b260c2629021a2da308d039cf777938c6019cdd212152621be53d255da935
data/lib/palombe.rb CHANGED
@@ -1,25 +1,27 @@
1
- require "mkfifo"
2
-
3
1
  class Palombe
4
- PREFIX = "/tmp/palombe/"
2
+ def self.mkfifo name
3
+ prefix = "/tmp/palombe/"
4
+ Dir.mkdir prefix if !Dir.exist? prefix
5
+ path = "#{prefix}#{name}"
6
+ File.mkfifo(path) if !File.exist? path
7
+ path
8
+ end
5
9
 
6
10
  def self.send name, value
7
- Dir.mkdir PREFIX
8
- path = "#{PREFIX}#{name}"
9
- File.mkfifo(path)
10
- File.open(path, "w") do |f|
11
+ File.open((mkfifo name), "w") do |f|
11
12
  f.puts value
12
13
  end
13
14
  end
14
15
 
15
16
  def self.receive name
16
- path = "#{PREFIX}#{name}"
17
17
  value = ""
18
+ path = mkfifo name
18
19
  File.open(path, "r") do |f|
19
20
  while line = f.gets
20
21
  value += line
21
22
  end
22
23
  end
23
- value
24
+ File.delete path
25
+ value.chomp
24
26
  end
25
27
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: palombe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yvan Sraka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-16 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: mkfifo
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 0.1.1
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 0.1.1
11
+ date: 2018-10-17 00:00:00.000000000 Z
12
+ dependencies: []
27
13
  description:
28
14
  email: yvan@sraka.pw
29
15
  executables: []
@@ -51,7 +37,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
51
37
  version: '0'
52
38
  requirements: []
53
39
  rubyforge_project:
54
- rubygems_version: 2.5.2.3
40
+ rubygems_version: 2.7.6
55
41
  signing_key:
56
42
  specification_version: 4
57
43
  summary: Palombe lets you send and receive messages synchronously through different