hash-save 0.0.8 → 0.0.9

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