heliodor 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/heliodor/db.rb +11 -14
- data/lib/heliodor/query_internal.rb +2 -1
- data/lib/heliodor/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a4d81f47221cdf37f6fd4c34cbc20f567a34ca6
|
4
|
+
data.tar.gz: 35ea0462d89150c2b6fce25f0fd1883f028ff072
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34b08ad5331ff8b2a049868f675c4278e690240a095c606b6a6be4215f3adb22c5a8e1c1965954b98de15a27a712ee00578b7235e523bbfb5e3a664f6f4a1235
|
7
|
+
data.tar.gz: da58e9a7eb748b0dcbe4a5e2ed1219808a5b75ff8b94545efade526edb3c97099d5c5927ddd4f0b7d3fb2682f9d609b427a3690e7a0a21c53222bbabc0ac7aac
|
data/lib/heliodor/db.rb
CHANGED
@@ -19,18 +19,15 @@ class Heliodor::DB
|
|
19
19
|
@file = File.expand_path(file.to_s)
|
20
20
|
|
21
21
|
if File.exist?(@file)
|
22
|
-
Zlib::GzipReader.open(File.expand_path(@file))
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
end
|
22
|
+
f = Zlib::GzipReader.open(File.expand_path(@file))
|
23
|
+
bb = BSON::ByteBuffer.new(f.read)
|
24
|
+
@dat = Hash.from_bson(bb)
|
25
|
+
f.close
|
27
26
|
else
|
28
|
-
Zlib::GzipWriter.open(File.expand_path(@file))
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
f.close
|
33
|
-
end
|
27
|
+
f = Zlib::GzipWriter.open(File.expand_path(@file))
|
28
|
+
f.write(@dtable.to_bson.to_s)
|
29
|
+
@dat = @dtable.clone
|
30
|
+
f.close
|
34
31
|
end
|
35
32
|
end
|
36
33
|
|
@@ -54,10 +51,10 @@ class Heliodor::DB
|
|
54
51
|
if @tsafe
|
55
52
|
@mutex.synchronize do
|
56
53
|
@dat.delete(table)
|
57
|
-
write(dat)
|
54
|
+
write(@dat)
|
58
55
|
end
|
59
56
|
else
|
60
|
-
write(dat)
|
57
|
+
write(@dat)
|
61
58
|
@dat.delete(table)
|
62
59
|
end
|
63
60
|
end
|
@@ -65,7 +62,7 @@ class Heliodor::DB
|
|
65
62
|
# Returns array of table names
|
66
63
|
# @return [Array<String>] Array of table names
|
67
64
|
def tables
|
68
|
-
|
65
|
+
@dat.keys
|
69
66
|
end
|
70
67
|
|
71
68
|
# Writes database to file
|
@@ -67,6 +67,7 @@ class Heliodor::Query
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
end
|
70
|
+
@dat.delete(nil)
|
70
71
|
@dat
|
71
72
|
end
|
72
73
|
|
@@ -97,7 +98,7 @@ class Heliodor::Query
|
|
97
98
|
when 'rename'
|
98
99
|
_rename(action['to'])
|
99
100
|
when 'delete'
|
100
|
-
_delete(
|
101
|
+
_delete(action['dat'])
|
101
102
|
when 'write'
|
102
103
|
_write
|
103
104
|
else
|
data/lib/heliodor/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: heliodor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nickolay
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|