heliodor 0.1.2 → 0.2.0

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