message_dir 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/message_dir.rb CHANGED
@@ -91,7 +91,10 @@ class MessageDir
91
91
 
92
92
  def rm(msg)
93
93
  return false if msg.locked?
94
- File.unlink(msg.path) == 1 ? true : false
94
+ files = [ msg.path ]
95
+ files << msg.error_file if msg.error?
96
+
97
+ File.unlink(*files) == files.count ? true : false
95
98
  end
96
99
 
97
100
  class Path
@@ -129,19 +129,27 @@ class MessageDir
129
129
  @locked = false
130
130
  end
131
131
 
132
+ def error_file
133
+ self.path + ".err"
134
+ end
135
+
132
136
  def error?
133
- File.exists?(self.path + ".err")
137
+ File.exists?(self.error_file)
134
138
  end
135
139
 
136
- def error
137
- return nil unless self.error?
138
- File.read(self.path + ".err")
140
+ def error(&block)
141
+ unless block_given?
142
+ return nil unless self.error?
143
+ File.read(self.error_file)
144
+ else
145
+ File.open(self.error_file, File::WRONLY|File::CREAT|File::TRUNC, &block)
146
+ end
139
147
  end
140
148
 
141
149
  def error=(msg)
142
- err = File.open(self.path + ".err", File::WRONLY|File::CREAT|File::TRUNC)
143
- err.puts msg
144
- err.close
150
+ self.error do |fh|
151
+ fh.puts msg
152
+ end
145
153
  end
146
154
 
147
155
  def method_missing(method, *args, &block)
@@ -1,3 +1,3 @@
1
1
  class MessageDir
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -334,5 +334,23 @@ describe MessageDir do
334
334
 
335
335
  subject.msgs.should_not be_empty
336
336
  end
337
+
338
+ it "should remove .err files when removing the message" do
339
+ msg = subject.new do |fh|
340
+ fh.error = "error"
341
+ end
342
+ msg.rm
343
+ File.exists?(msg.path + ".err").should_not be_true
344
+ end
345
+
346
+ it "should accept block form for error" do
347
+ msg = subject.new
348
+ msg.error do |efh|
349
+ efh.puts "Story of my live."
350
+ efh.puts "\n"
351
+ efh.puts "..."
352
+ end
353
+ msg.error.should =~ /Story of my live.\n\n.../m
354
+ end
337
355
  end
338
356
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: message_dir
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-07-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: simple_uuid
16
- requirement: &19075020 !ruby/object:Gem::Requirement
16
+ requirement: &20644340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0.2'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *19075020
24
+ version_requirements: *20644340
25
25
  description: Handle slow network messages with care
26
26
  email:
27
27
  - hartog.de.mik@gmail.com