rowdb 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rowdb.rb +15 -1
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3cf7404b803a91a97b9559d4505e3473bfc473ce9d8263611126df0a1769fb63
4
- data.tar.gz: '08f244e70a79daeea781893beac76fbc6cdfba71f5ba1745c086daf21de55553'
3
+ metadata.gz: 25dccfb912a9743e255f553123f0a8ce576a5a3a308436b84ed17b4f3587eebd
4
+ data.tar.gz: 5f44e3b3dcafda35fe3d1b2abd6514f72ae584f04200f2efab070c52c93feeda
5
5
  SHA512:
6
- metadata.gz: fae4984ed663c29927c3b0116fdc73bd0b04f8c0668f6a2b69bfc7d98568167d7d0e238dee39db06377b23b2f8d5eb9a422b89e4617b429c600901fcb437cecd
7
- data.tar.gz: ede01a4637d98a31b6956058c1069b0562edc5faa3e01c6b907754006797407d0b27b3e2ca2f6792a33567334bc386c079e234a42f64ede63aa0aa6f46863ed2
6
+ metadata.gz: 4051e0fdb7d774021c6c1d71c577c690bcf26ba1abfecd5d869ed0460c416862f4f50164a51f9941d445c84277ac0b0195318a1f7c9e50613f966809f033c3d2
7
+ data.tar.gz: de22fab9cafb0a8d9dcf00b031ad11204e5b4ef64d67ccf0e9b6102c327cc20970c72d5bbc6794cc4ec5db5b5cb8efb14598d3c2d13360b9e0cecb045a2a9397
@@ -3,9 +3,10 @@ require_relative 'adapters/Sync.rb'
3
3
 
4
4
  class Rowdb
5
5
 
6
- def initialize(adapter = :file_system, file_path)
6
+ def initialize(adapter = :sync, file_path)
7
7
  @adapter = self.send(adapter, normalize_path(file_path))
8
8
  @data = R_.chain(@adapter.read())
9
+ @get_path = nil
9
10
  end
10
11
 
11
12
  def defaults(data)
@@ -19,6 +20,7 @@ class Rowdb
19
20
  end
20
21
 
21
22
  def get(path)
23
+ @get_path = path
22
24
  @data.get(path)
23
25
  self
24
26
  end
@@ -32,8 +34,20 @@ class Rowdb
32
34
  @data.value()
33
35
  end
34
36
 
37
+ def push(value)
38
+ if @get_path.nil?
39
+ raise StandardError.new "You must get() before push()."
40
+ end
41
+
42
+ index = @data.get(@get_path).value().count
43
+ @data.set("#{@get_path}[#{index}]", value)
44
+
45
+ self
46
+ end
47
+
35
48
  def write()
36
49
  @adapter.write(@data.value())
50
+ self
37
51
  end
38
52
 
39
53
  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.2.0
4
+ version: 0.3.0
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-29 00:00:00.000000000 Z
11
+ date: 2020-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj