tadb 0.2.0 → 0.3.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
  SHA1:
3
- metadata.gz: 0f80b3709c6d94354ea8ba525b9831a165b6fe26
4
- data.tar.gz: eee504adeeefe58d7f33808829472a38da42bd74
3
+ metadata.gz: 39b25407fdc5f64769e5bd0b767d4a74beb64f58
4
+ data.tar.gz: 5564d2c5ae7d8cbc9a32edbd7347619340ae5fa2
5
5
  SHA512:
6
- metadata.gz: ec9a255021177f287a0c1aac98484bce94342c0ccfdad710989f3ac7e6b64ecf09603057fe3f28d04a0a4d456502802657405209b0a220f026df8e54fa7c936f
7
- data.tar.gz: 5b780f0f50eefac645aa24ad3234f541dfd10186974343bcddf45389468ba7f7f7b216c16bbac67a1914bdd37a93dd9fc43cf213c6e4cdf8149a18fb2f6a7ad9
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.2.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
@@ -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
@@ -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
@@ -1,7 +0,0 @@
1
- module Utils
2
- class << self
3
- def db_files
4
- Dir.entries('./db').reject {|filename| filename == '.' || filename == '..'}
5
- end
6
- end
7
- end
@@ -1,3 +0,0 @@
1
- module TADB
2
- VERSION = '0.2.0'
3
- end