z4db 0.0.6 → 0.1.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: 4ad35f624b798bc3e35e22383912333cb0391f3575a112497040f8e24b47a3f2
4
- data.tar.gz: bff791f49cbcc07a47e0249526d12fed9b27164f9fe3e3dc2463919fe3f3caf0
3
+ metadata.gz: 24428ef8ae61caed79386bf9508d07f12aaffa9a3d074c3323e7fef345cd65a4
4
+ data.tar.gz: d7a5d569373030eb2693488b46c32cf1279f4c700abe86ee001446e1ffb79319
5
5
  SHA512:
6
- metadata.gz: 0acd4df0a67a2637995b4223f34402e8862ce00d73434f081bc5701ebc3e03645ec53d6927c15ff2de27cb8768b52a29e2c4105df9313874b183a89750b874a2
7
- data.tar.gz: 2bddf759f2ef0bd0a7059f0053f14e91a6e1f4f98667778a8f5a257f929b04d2b68992a1836d689ee3b9e0c72823c1123dcea3720f1858c9a4fd56f441261153
6
+ metadata.gz: 52d58da6221b098807509fd4ed2b942025955a972efee3ed8397bd6d98920d5f418c8781230f16bc84498841acee7be4565b4285e2c00fb949d4aff29b89ed41
7
+ data.tar.gz: 24e4f1c553bc3c081c6056b8be74125b9b236b129087dcd98ab9c1d1372ac42770fa612c980b7f282cb07380916935bc32a0f0d36aefd244067f59737cc3896b
data/lib/z4db/version.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Z4db
4
- VERSION = '0.0.6'
5
- COMMIT = `git log --format="%H" -n 1`.strip
4
+ VERSION = "0.1.0"
6
5
  end
data/lib/z4db.rb CHANGED
@@ -2,15 +2,9 @@
2
2
 
3
3
  require 'pstore'
4
4
 
5
- require 'z4blockchain'
6
-
7
5
  require_relative "z4db/version"
8
6
 
9
- if !Dir.exist? "db"
10
- Dir.mkdir "db"
11
- end
12
-
13
- module Z4DB
7
+ module Z4db
14
8
  class Error < StandardError; end
15
9
  class DB
16
10
  def initialize(*k);
@@ -25,22 +19,15 @@ module Z4DB
25
19
  @current = %[]
26
20
  puts %[DB: #{@id}]
27
21
  end
28
-
29
- ##
30
- # the database key
22
+
31
23
  def id; @id; end;
32
- ##
33
- # the database object type
34
24
  def type; @type; end;
35
- ##
36
- # the index of object type
37
25
  def index; @index; end
38
-
39
- ##
26
+
40
27
  # incr / decr by :num
41
28
  def tick(k,h={num: 1}); @db.transaction { |db| x = db[k.to_sym].to_i; db[k.to_sym] = x + h[:num] }; end
42
- ##
43
- # push i to list and ensure uniqueness
29
+
30
+ # push i to list
44
31
  def add(l,i,*u);
45
32
  @db.transaction {|db|
46
33
  db[l] ||= [];
@@ -50,14 +37,12 @@ module Z4DB
50
37
  end
51
38
  };
52
39
  end
53
- ##
54
- # access subtable
40
+
55
41
  def sub(k)
56
42
  add(:subs, k, :uniq)
57
- Z4DB[@id, k]
43
+ Z4[k, @index]
58
44
  end
59
45
 
60
- #
61
46
  # remind "date time string in some fashion.", "event info"...
62
47
  def remind k, *a
63
48
  kk = Z4.datetime(k).strftime('%Y/%m/%d AT %H:%M');
@@ -67,8 +52,7 @@ module Z4DB
67
52
  File.open("reminders/#{@id}.rem", 'w') {|f| f.write(o.join("\n") + %[\n]); }
68
53
  return o.length
69
54
  end
70
- ##
71
- # add log entry
55
+
72
56
  def log *a
73
57
  kk = Time.now.strftime('%Y/%m/%d AT %H:%M');
74
58
  v = a.join(" ")
@@ -77,16 +61,14 @@ module Z4DB
77
61
  File.open("reminders/#{@id}.rem", 'w') {|f| f.write(o.join("\n") + %[\n]); }
78
62
  return o.length
79
63
  end
80
- ##
81
- # remove reminder
64
+
82
65
  def forget k
83
66
  kk = Z4.datetime(k).strftime('%Y/%m/%d AT %H:%m ');
84
67
  o = []
85
68
  @cal.transaction { |db| db.delete(kk); db.keys.each { |e| o << %[REM #{e} MSG #{db[e]}] } }
86
69
  File.open("reminders/#{@id}.rem", 'w') {|f| f.write(o.join("\n") + %[\n]); }
87
70
  end
88
- ##
89
- # pull agenda from reminders
71
+
90
72
  def agenda
91
73
  o = []
92
74
  `remind -s reminders/#{@id}.rem`.chomp.gsub(' *', '').split("\n").each { |e|
@@ -97,29 +79,20 @@ module Z4DB
97
79
  return o
98
80
  end
99
81
 
100
- ##
101
- # generate plaintext calendar
102
82
  def calendar
103
83
  `remind -c reminders/#{@id}.rem`.chomp.gsub("\f","").split("\n")
104
84
  end
105
-
106
- ##
107
- # define or execute db events
85
+
108
86
  def on(k, h={}, &b); if block_given?; @ev[k] = b; else; @db.transaction { |db| @ev[k.to_sym].call(db, h) }; end; end
109
- ##
110
- # key getter
87
+ # getter
111
88
  def [](k); @db.transaction { |db| db[k] }; end
112
- ##
113
- # key setter
89
+ # setter
114
90
  def []=(k,v); @db.transaction { |db| db[k]=v }; end
115
- ##
116
91
  # transaction wrapper
117
92
  def transaction(&b); @db.transaction { |db| b.call(db) }; end
118
- ##
119
93
  # defined keys
120
94
  def keys; @db.transaction { |db| db.keys }; end
121
- ##
122
- # db object to hash
95
+ # bulk output
123
96
  def to_h;
124
97
  h= {};
125
98
  @db.transaction { |db| db.keys.each { |e| h[e] = db[e]; } };
@@ -127,12 +100,9 @@ module Z4DB
127
100
  end
128
101
  private
129
102
  # get remote object from local.
130
- def get(k); Z4DB[k, to_h[k]]; end
103
+ def get(k); Z4[k, to_h[k]]; end
131
104
  end
132
- ##
133
- # access db object
134
105
  def self.[] *k
135
106
  DB.new(k)
136
107
  end
137
108
  end
138
-
data/z4db.gemspec CHANGED
@@ -31,7 +31,6 @@ Gem::Specification.new do |spec|
31
31
 
32
32
  # Uncomment to register a new dependency of your gem
33
33
  spec.add_dependency "pstore"
34
- spec.add_dependency "z4blockchain", '~> 0.1.4'
35
34
  spec.add_dependency "pry"
36
35
 
37
36
  # For more information and examples about making a new gem, check out our
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: z4db
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Olson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-07 00:00:00.000000000 Z
11
+ date: 2023-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pstore
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: z4blockchain
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 0.1.4
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 0.1.4
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: pry
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -61,7 +47,6 @@ extra_rdoc_files: []
61
47
  files:
62
48
  - CODE_OF_CONDUCT.md
63
49
  - Gemfile
64
- - Gemfile.lock
65
50
  - LICENSE.txt
66
51
  - README.md
67
52
  - Rakefile
data/Gemfile.lock DELETED
@@ -1,27 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- z4db (0.1.1)
5
- pry
6
- pstore
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- coderay (1.1.3)
12
- method_source (1.0.0)
13
- pry (0.14.2)
14
- coderay (~> 1.1)
15
- method_source (~> 1.0)
16
- pstore (0.1.3)
17
- rake (13.1.0)
18
-
19
- PLATFORMS
20
- armv7l-linux-eabihf
21
-
22
- DEPENDENCIES
23
- rake (~> 13.0)
24
- z4db!
25
-
26
- BUNDLED WITH
27
- 2.5.0.dev