heliodor 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bdc4765c81c3f5a44aa492d2f23cd1a6499734ea
4
- data.tar.gz: 1ed2fde518e69abbd7bf011577541b048eff8c4b
3
+ metadata.gz: 65407d53e459bb1a745797ab9c2264c628698b9e
4
+ data.tar.gz: 7dbe56192cfa1bf7166e21e1f6c999affabb99d1
5
5
  SHA512:
6
- metadata.gz: a46e94d37aa2584df800597730c365b62a70b9073181467ffb450fd874cd230d07ea7c2bc5df3e115c4090ff519b9871b1a52be0b481ba4d30e63eb26f439e05
7
- data.tar.gz: f7351f52d87f18b511b60c335a3d578ad95a145c54efc261751d1df4efdf0824bc4679c5b8ea07eddb354ea99484df8f4f6f2eddcf4e0c7b8bd415e0aad97cd0
6
+ metadata.gz: 8d3ec51dea8cbad381865fc86742ab815b5a67b04e7906f3a1d73a7f0715ca00fa574e14fdc589dfeed30fcbd1348b0fd8e0eeda1289d34060eb471c4169b923
7
+ data.tar.gz: bf4cfafc97b6d0a557297b5578c1c2e9f4f4d0173961bc5459ffe45dc1b620626532495c71f1fb188107320553ca82f8a3530d085481569ec049753366636589
@@ -1,4 +1,5 @@
1
1
  require 'bson'
2
+ require 'zlib'
2
3
 
3
4
  module Heliodor
4
5
  end
@@ -19,13 +19,17 @@ class Heliodor::DB
19
19
  @file = File.expand_path(file.to_s)
20
20
 
21
21
  if File.exist?(@file)
22
- raw = File.read(File.expand_path(@file))
23
- bb = BSON::ByteBuffer.new(raw)
24
- @dat = Hash.from_bson(bb)
22
+ Zlib::GzipReader.open(File.expand_path(@file)) do |f|
23
+ bb = BSON::ByteBuffer.new(f.read)
24
+ @dat = Hash.from_bson(bb)
25
+ f.close
26
+ end
25
27
  else
26
- File.open(@file, 'w') do |f|
28
+ Zlib::GzipWriter.open(File.expand_path(@file)) do |f|
29
+ # File.open(@file, 'w') do |f|
27
30
  f.write(@dtable.to_bson.to_s)
28
31
  @dat = @dtable.clone
32
+ f.close
29
33
  end
30
34
  end
31
35
  end
@@ -69,8 +73,9 @@ class Heliodor::DB
69
73
  def write(dat)
70
74
  @dat = dat
71
75
  File.truncate(@file, 0) if File.exist?(@file)
72
- File.open(@file, 'w') do |f|
76
+ Zlib::GzipWriter.open(File.expand_path(@file)) do |f|
73
77
  f.write(dat.merge(@dtable).to_bson.to_s)
78
+ f.close
74
79
  end
75
80
  self
76
81
  end
@@ -1,3 +1,3 @@
1
1
  module Heliodor
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heliodor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nickolay