hash-save 0.0.8 → 0.0.9

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.
Files changed (2) hide show
  1. data/lib/hash-save.rb +10 -5
  2. metadata +2 -2
@@ -23,21 +23,26 @@ class Hash
23
23
  end
24
24
 
25
25
  def save(base_dir=BASE_DIR)
26
- self.each do |k,v|
27
- File.open("#{base_dir}/#{k}", 'wb') do |f|
28
- Marshal.dump(v, f)
26
+ retry_count = 0
27
+ begin
28
+
29
+ self.each do |k,v|
30
+ File.open("#{base_dir}/#{k}", 'wb') do |f|
31
+ Marshal.dump(v, f)
32
+ end
29
33
  end
30
- end
31
34
 
32
35
  rescue Errno::ENOENT => e
36
+ retry_count += 1
33
37
  before = Dir.exists?(base_dir)
34
38
  FileUtils.mkdir_p(base_dir)
35
39
  after = Dir.exists?(base_dir)
36
- if before == false && after == true
40
+ if before == false && after == true && retry_count < 2
37
41
  retry
38
42
  else
39
43
  raise e
40
44
  end
45
+ end
41
46
  end
42
47
 
43
48
  def load!(base_dir=BASE_DIR)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hash-save
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
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: 2011-02-22 00:00:00.000000000 -08:00
12
+ date: 2011-02-23 00:00:00.000000000 -08:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
  description: ! '{:a => 1, :b => 2}.save