marquise 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/marquise.rb CHANGED
@@ -47,7 +47,8 @@ class Marquise
47
47
  raise RuntimeError,
48
48
  "libmarquise failed; check syslog (no, seriously)"
49
49
  end
50
-
50
+
51
+ $stderr.puts "Consumer is #{@consumer.inspect}" if $DEBUG
51
52
  @connections = {}
52
53
 
53
54
  @janitor = Janitor.new(@consumer, @connections)
@@ -55,6 +56,11 @@ class Marquise
55
56
  end
56
57
 
57
58
  def tell(*args)
59
+ if @consumer.nil?
60
+ raise IOError,
61
+ "Connection has been closed"
62
+ end
63
+
58
64
  val, ts, opts = parse_tell_opts(args)
59
65
 
60
66
  k, v, len = if opts.length == 0
@@ -152,7 +158,9 @@ class Marquise
152
158
  if @connections[th].nil?
153
159
  raise RuntimeError.new("marquise_connect() failed... consult syslog (no, seriously)")
154
160
  end
155
-
161
+
162
+ $stderr.puts "Created new connection #{@connections[th].inspect} for #{th.inspect}" if $DEBUG
163
+
156
164
  nil
157
165
  end
158
166
 
@@ -175,8 +183,15 @@ class Marquise
175
183
  end
176
184
 
177
185
  def call(*args)
178
- @conns.values.each { |c| Marquise::FFI.marquise_close(c) }
186
+ $stderr.puts "Janitor is running for #{@ptr.inspect}/#{@conns.inspect}" if $DEBUG
187
+ @conns.values.each do |c|
188
+ $stderr.puts "Pre-clean #{c.inspect}" if $DEBUG
189
+ Marquise::FFI.marquise_close(c)
190
+ $stderr.puts "Post-clean #{c.inspect}" if $DEBUG
191
+ end
192
+ $stderr.puts "Pre-clean #{@ptr.inspect}" if $DEBUG
179
193
  Marquise::FFI.marquise_consumer_shutdown(@ptr)
194
+ $stderr.puts "Cleaned up #{@ptr.inspect} and #{@conns.inspect}" if $DEBUG
180
195
  end
181
196
  end
182
197
 
@@ -23,5 +23,19 @@ describe Marquise do
23
23
  /Invalid call to Marquise#tell/
24
24
  )
25
25
  end
26
+
27
+ it "assplodes if #close has previously been called" do
28
+ Marquise::FFI.
29
+ should_receive(:marquise_consumer_shutdown).
30
+ with('#tell')
31
+
32
+ marquise.close
33
+
34
+ expect { marquise.tell }.
35
+ to raise_error(
36
+ IOError,
37
+ /Connection has been closed/
38
+ )
39
+ end
26
40
  end
27
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marquise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-21 00:00:00.000000000 Z
12
+ date: 2014-03-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi
@@ -240,7 +240,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
240
240
  version: '0'
241
241
  segments:
242
242
  - 0
243
- hash: 4428946624076758222
243
+ hash: 4388250139847967772
244
244
  required_rubygems_version: !ruby/object:Gem::Requirement
245
245
  none: false
246
246
  requirements:
@@ -249,7 +249,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
249
249
  version: '0'
250
250
  segments:
251
251
  - 0
252
- hash: 4428946624076758222
252
+ hash: 4388250139847967772
253
253
  requirements: []
254
254
  rubyforge_project:
255
255
  rubygems_version: 1.8.23