z4db 0.0.6 → 0.1.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: 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