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 +4 -4
- data/lib/z4db/version.rb +1 -2
- data/lib/z4db.rb +15 -45
- data/z4db.gemspec +0 -1
- metadata +2 -17
- data/Gemfile.lock +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24428ef8ae61caed79386bf9508d07f12aaffa9a3d074c3323e7fef345cd65a4
|
4
|
+
data.tar.gz: d7a5d569373030eb2693488b46c32cf1279f4c700abe86ee001446e1ffb79319
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52d58da6221b098807509fd4ed2b942025955a972efee3ed8397bd6d98920d5f418c8781230f16bc84498841acee7be4565b4285e2c00fb949d4aff29b89ed41
|
7
|
+
data.tar.gz: 24e4f1c553bc3c081c6056b8be74125b9b236b129087dcd98ab9c1d1372ac42770fa612c980b7f282cb07380916935bc32a0f0d36aefd244067f59737cc3896b
|
data/lib/z4db/version.rb
CHANGED
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
|
-
|
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
|
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
|
-
|
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);
|
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
|
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-
|
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
|