tadb 0.2.0 → 0.3.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
- metadata +1 -5
- data/lib/tadb/db.rb +0 -18
- data/lib/tadb/table.rb +0 -70
- data/lib/tadb/utils.rb +0 -7
- data/lib/tadb/version.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39b25407fdc5f64769e5bd0b767d4a74beb64f58
|
4
|
+
data.tar.gz: 5564d2c5ae7d8cbc9a32edbd7347619340ae5fa2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dac28aa3c536c92ef842de756268f0291de6482dfa3655b8fb8127f3018c9b846a78ccf1b974941865a79a78a0ff76e08d8e07235215e1132cc5a20f01c98a3f
|
7
|
+
data.tar.gz: 79806770d43411204b6109515f616aed0e15f9c409188874363d2c383b3b2336f10080da0a99edc763553c68081bc40ce92097ae94d36c7de5b61cec5f00bc92
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tadb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- UTN FRBA - TADP
|
@@ -74,10 +74,6 @@ extensions: []
|
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
76
|
- lib/tadb.rb
|
77
|
-
- lib/tadb/db.rb
|
78
|
-
- lib/tadb/table.rb
|
79
|
-
- lib/tadb/utils.rb
|
80
|
-
- lib/tadb/version.rb
|
81
77
|
homepage: http://tadp-utn-frba.github.io/
|
82
78
|
licenses:
|
83
79
|
- MIT
|
data/lib/tadb/db.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'fileutils'
|
2
|
-
module TADB
|
3
|
-
module DB
|
4
|
-
|
5
|
-
def self.table(table_name)
|
6
|
-
Table.new(table_name)
|
7
|
-
end
|
8
|
-
|
9
|
-
def self.clear_all
|
10
|
-
#FileUtils.remove_dir('./db', true)
|
11
|
-
Utils.db_files.each do |filename|
|
12
|
-
FileUtils.chdir('./db') do
|
13
|
-
File.delete(filename)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
data/lib/tadb/table.rb
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
require 'securerandom'
|
2
|
-
require 'json'
|
3
|
-
|
4
|
-
class TADB::Table
|
5
|
-
|
6
|
-
def initialize(name)
|
7
|
-
@name = name
|
8
|
-
end
|
9
|
-
|
10
|
-
def entries
|
11
|
-
file('r') do |f|
|
12
|
-
f.readlines.map do |line|
|
13
|
-
JSON.parse(line).map {|k, v| [k.to_sym, v]}.to_h
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def insert(_entry)
|
19
|
-
entry = _entry.clone
|
20
|
-
entry[:id] ||= SecureRandom.uuid
|
21
|
-
|
22
|
-
validate_types(entry)
|
23
|
-
|
24
|
-
file('a') do |f|
|
25
|
-
f.puts(JSON.generate(entry))
|
26
|
-
end
|
27
|
-
entry[:id]
|
28
|
-
end
|
29
|
-
|
30
|
-
def delete(id)
|
31
|
-
remaining = entries.reject {|entry| entry[:id] === id}
|
32
|
-
|
33
|
-
file('w') do |f|
|
34
|
-
remaining.each do |entry|
|
35
|
-
f.puts(JSON.generate(entry))
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def clear
|
41
|
-
File.open(db_path, 'w') {}
|
42
|
-
end
|
43
|
-
|
44
|
-
private
|
45
|
-
|
46
|
-
def file(mode, &block)
|
47
|
-
Dir.mkdir('./db') unless File.exists?('./db')
|
48
|
-
clear unless File.exists?(db_path)
|
49
|
-
|
50
|
-
File.open(db_path, mode) {|file| block.call(file)}
|
51
|
-
end
|
52
|
-
|
53
|
-
def db_path
|
54
|
-
"./db/#{@name}"
|
55
|
-
end
|
56
|
-
|
57
|
-
def validate_types(entry)
|
58
|
-
invalid_pairs = entry.select do |_, value|
|
59
|
-
!value.is_a?(String) && !value.is_a?(Numeric) && value != true && value != false
|
60
|
-
end
|
61
|
-
|
62
|
-
unless invalid_pairs.empty?
|
63
|
-
separator = '/n/t'
|
64
|
-
pairs_description = invalid_pairs
|
65
|
-
.map {|key, value| " #{key}: #{value}"}
|
66
|
-
.join(",#{separator}")
|
67
|
-
raise TypeError.new("Can't persist field(s) because they contain non-primitive values at" + separator + pairs_description)
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
data/lib/tadb/utils.rb
DELETED
data/lib/tadb/version.rb
DELETED