message_dir 1.0.1 → 1.0.2

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/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