rowdb 0.1.4 → 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
  SHA256:
3
- metadata.gz: a801c8e2801be1228481aef0e73eef1182c6f13a8d61db4fcfa9443e070170c1
4
- data.tar.gz: e05dcf84d5a322f91462b3082f9abcd65e35cf789b05923ec1857ac384825001
3
+ metadata.gz: 3cf7404b803a91a97b9559d4505e3473bfc473ce9d8263611126df0a1769fb63
4
+ data.tar.gz: '08f244e70a79daeea781893beac76fbc6cdfba71f5ba1745c086daf21de55553'
5
5
  SHA512:
6
- metadata.gz: ec59c9473e130a4cdc41444828c64935d986d9422f421654ec683d684e26c930a1945832cedf5802f59815da4066727157f9b34df227d6d4b983e37896a51307
7
- data.tar.gz: d1cf36a921addad664868c747598b81bd0111e208a3718a9e51e7b41be41dd5a23d855c9374b0cbcf1736c4eefa6e0733862c45ecc6ab1a1757210bfae12ef16
6
+ metadata.gz: fae4984ed663c29927c3b0116fdc73bd0b04f8c0668f6a2b69bfc7d98568167d7d0e238dee39db06377b23b2f8d5eb9a422b89e4617b429c600901fcb437cecd
7
+ data.tar.gz: ede01a4637d98a31b6956058c1069b0562edc5faa3e01c6b907754006797407d0b27b3e2ca2f6792a33567334bc386c079e234a42f64ede63aa0aa6f46863ed2
@@ -1,7 +1,10 @@
1
1
  require 'oj'
2
2
  require_relative 'Adapter.rb'
3
3
 
4
- class FileSystem < Adapter
4
+ ##
5
+ # Synchronous file system.
6
+ ##
7
+ class Sync < Adapter
5
8
 
6
9
  ##
7
10
  # Load a JSON string from a file.
@@ -1,35 +1,45 @@
1
1
  require 'rudash'
2
- require_relative 'adapters/FileSystem.rb'
2
+ require_relative 'adapters/Sync.rb'
3
3
 
4
4
  class Rowdb
5
5
 
6
6
  def initialize(adapter = :file_system, file_path)
7
7
  @adapter = self.send(adapter, normalize_path(file_path))
8
- @data = @adapter.read()
8
+ @data = R_.chain(@adapter.read())
9
9
  end
10
10
 
11
11
  def defaults(data)
12
- if @data.nil?
12
+ if @data.value().nil?
13
13
  # Load default data.
14
- @data = data
14
+ @data = R_.chain(data)
15
15
  # Save data to disk.
16
16
  @adapter.write(data)
17
17
  end
18
+ self
18
19
  end
19
20
 
20
21
  def get(path)
21
- R_.get(@data, path)
22
+ @data.get(path)
23
+ self
22
24
  end
23
25
 
24
26
  def set(path, value)
25
- @data = R_.set(@data, path, value)
26
- @adapter.write(@data)
27
+ @data.set(path, value)
28
+ self
29
+ end
30
+
31
+ def value()
32
+ @data.value()
33
+ end
34
+
35
+ def write()
36
+ @adapter.write(@data.value())
27
37
  end
28
38
 
29
39
  private
30
40
 
31
- def file_system(file_path)
32
- FileSystem.new(file_path)
41
+ def sync(file_path)
42
+ Sync.new(file_path)
33
43
  end
34
44
 
35
45
  ##
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rowdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maedi Prichard
@@ -45,7 +45,7 @@ extensions: []
45
45
  extra_rdoc_files: []
46
46
  files:
47
47
  - lib/adapters/Adapter.rb
48
- - lib/adapters/FileSystem.rb
48
+ - lib/adapters/Sync.rb
49
49
  - lib/rowdb.rb
50
50
  homepage: https://github.com/maedi/rowdb
51
51
  licenses: