rowdb 0.1.3 → 0.1.4

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
  SHA256:
3
- metadata.gz: dabd84303018d21818c1930fe77d0612cd50a84699507c1913f5b21ba74d7713
4
- data.tar.gz: '038bba35d11a83ec5214fa8ef9c44c9538a604809981955c24504697590329a0'
3
+ metadata.gz: a801c8e2801be1228481aef0e73eef1182c6f13a8d61db4fcfa9443e070170c1
4
+ data.tar.gz: e05dcf84d5a322f91462b3082f9abcd65e35cf789b05923ec1857ac384825001
5
5
  SHA512:
6
- metadata.gz: b057c1358d2b4d96ed52b15ad5375563aa869b16a2ebe5d894ca10e78e718f35f581ff559b5b5b01681ec6bcbfd511e82bc9b7a2cc60bf2c4ac8bb6bccbb1e7a
7
- data.tar.gz: eb0699415e0f7d1a398f393f88efbcadb1165b4e225677ac36a2616280da273aeebb5031de1d3d33a393bec76dcf0b7ae78c909b1ef7c075122268d35022e9c0
6
+ metadata.gz: ec59c9473e130a4cdc41444828c64935d986d9422f421654ec683d684e26c930a1945832cedf5802f59815da4066727157f9b34df227d6d4b983e37896a51307
7
+ data.tar.gz: d1cf36a921addad664868c747598b81bd0111e208a3718a9e51e7b41be41dd5a23d855c9374b0cbcf1736c4eefa6e0733862c45ecc6ab1a1757210bfae12ef16
@@ -3,14 +3,31 @@ require_relative 'Adapter.rb'
3
3
 
4
4
  class FileSystem < Adapter
5
5
 
6
+ ##
7
+ # Load a JSON string from a file.
8
+ #
9
+ # @return Hash data
10
+ ##
6
11
  def read()
7
12
 
8
- Oj.load_file(@source)
13
+ json = Oj.load_file(@source)
14
+
15
+ unless json.nil?
16
+ return Oj.load(json)
17
+ end
18
+
19
+ return nil
9
20
 
10
21
  end
11
22
 
12
- def write(json)
23
+ ##
24
+ # Save a Hash to a file as JSON.
25
+ #
26
+ # @param Hash data
27
+ ##
28
+ def write(data)
13
29
 
30
+ json = Oj.dump(data)
14
31
  Oj.to_file(@source, json)
15
32
 
16
33
  end
@@ -8,17 +8,22 @@ class Rowdb
8
8
  @data = @adapter.read()
9
9
  end
10
10
 
11
- def defaults(hash)
12
- json = Oj.dump(hash)
13
- @adapter.write(json)
11
+ def defaults(data)
12
+ if @data.nil?
13
+ # Load default data.
14
+ @data = data
15
+ # Save data to disk.
16
+ @adapter.write(data)
17
+ end
14
18
  end
15
19
 
16
20
  def get(path)
17
- R_.get(@adapter.source, path)
21
+ R_.get(@data, path)
18
22
  end
19
23
 
20
24
  def set(path, value)
21
25
  @data = R_.set(@data, path, value)
26
+ @adapter.write(@data)
22
27
  end
23
28
 
24
29
  private
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rowdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maedi Prichard
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-23 00:00:00.000000000 Z
11
+ date: 2020-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj