rowdb 0.1.4 → 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
  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: