bloomrb 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/bloomrb.rb +17 -9
  2. metadata +37 -17
data/lib/bloomrb.rb CHANGED
@@ -84,17 +84,25 @@ class Bloomrb
84
84
  cmd = args.join(' ')
85
85
  cmd += ' ' + opts.map{|k, v| "#{k}=#{v}"}.join(' ') unless opts.empty?
86
86
 
87
- socket.puts(cmd)
88
- result = socket.gets.chomp
89
- throw result if result =~ /^Client Error:/
90
-
91
- if result == 'START'
92
- result = []
93
- while (s = socket.gets.chomp) != 'END'
94
- result << s
87
+ retry_count = 0
88
+ begin
89
+ socket.puts(cmd)
90
+ result = socket.gets.chomp
91
+ throw result if result =~ /^Client Error:/
92
+
93
+ if result == 'START'
94
+ result = []
95
+ while (s = socket.gets.chomp) != 'END'
96
+ result << s
97
+ end
95
98
  end
99
+ result
100
+ rescue Errno::ECONNRESET, Errno::ECONNABORTED, Errno::ECONNREFUSED, Errno::EPIPE
101
+ raise if (retry_count += 1) >= 5
102
+ @socket = nil
103
+ sleep(1)
104
+ retry
96
105
  end
97
- result
98
106
  end
99
107
  end
100
108
 
metadata CHANGED
@@ -1,45 +1,65 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: bloomrb
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 2
10
+ version: 0.0.2
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Simon Kroeger
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-10-11 00:00:00.000000000Z
17
+
18
+ date: 2012-10-11 00:00:00 Z
13
19
  dependencies: []
20
+
14
21
  description: Wraps the bloomd protocol for usage in ruby projects
15
22
  email: simon.kroeger@sponsorpay.com
16
23
  executables: []
24
+
17
25
  extensions: []
26
+
18
27
  extra_rdoc_files: []
19
- files:
28
+
29
+ files:
20
30
  - lib/bloomrb.rb
21
31
  homepage: https://github.com/SponsorPay/bloomrb
22
32
  licenses: []
33
+
23
34
  post_install_message:
24
35
  rdoc_options: []
25
- require_paths:
36
+
37
+ require_paths:
26
38
  - lib
27
- required_ruby_version: !ruby/object:Gem::Requirement
39
+ required_ruby_version: !ruby/object:Gem::Requirement
28
40
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
33
- required_rubygems_version: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
49
  none: false
35
- requirements:
36
- - - ! '>='
37
- - !ruby/object:Gem::Version
38
- version: '0'
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ hash: 3
54
+ segments:
55
+ - 0
56
+ version: "0"
39
57
  requirements: []
58
+
40
59
  rubyforge_project:
41
60
  rubygems_version: 1.8.15
42
61
  signing_key:
43
62
  specification_version: 3
44
63
  summary: Ruby client for bloomd
45
64
  test_files: []
65
+