gembase 1.0.3 → 1.0.4

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/gembase.gemspec +1 -1
  3. data/lib/gembase.rb +54 -64
  4. data/lib/services.rb +23 -63
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a5dd8f0dc7114c2dd3358f727b2562519e8e0de8dbd87fdfec35dadfcf15fd2
4
- data.tar.gz: 4a77535908143149366ee0cac4fe8c1f89afd10854c244d6958408c9d7d1acc8
3
+ metadata.gz: c0d61c434709d93ce0dd83191f5a7be0629f29a8143a9a0cdc388a4905692c8b
4
+ data.tar.gz: 24be9d9c13eeacc61631c67547c10459d3818c0d882dad6979a53507ca3cb8a3
5
5
  SHA512:
6
- metadata.gz: 3928db959e5871a20a75384766527b16ae495784c49a543ea3a3de2fe3d249a9a255bbb986da35d7fede02d926490680edffd956c042d88c4f4619716273642b
7
- data.tar.gz: bca2833011e03354deacaa4daef5e6a2c7c75f5d42ab2e35fc35e086554af432a33128fd16535c19acabb28601d5c40cc6e82fbd7258b9b20d7ec38c4beb7148
6
+ metadata.gz: 9cfa072e1bedc937fe59c32e2e52753c0bb2dadf3e0fd1ec6a020221c7c14076c729fbeeaaf598d6fab9edd7c527e8623f5869e2215e48ec7aab829dd9c9b8b7
7
+ data.tar.gz: 602e6500e3b3dfabdc41da9e1be98070a6e2fbc7f958e4c0d81d2268d21fbb2ff6742a1f863c28e14babb9cdd8d26e68891a0f2860157fe4d636eaa7b1c63354
data/gembase.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'gembase'
3
- s.version = '1.0.3'
3
+ s.version = '1.0.4'
4
4
  s.date = '2020-02-26'
5
5
  s.summary = "Gembase is a YAML database manager gem for Ruby."
6
6
  s.description = "Gembase is a YAML database manager gem for Ruby. Very powerful, simple and effective."
data/lib/gembase.rb CHANGED
@@ -9,6 +9,7 @@ require_relative 'services'
9
9
 
10
10
  # @author NTBBloodbath
11
11
  module Gembase
12
+ attr_reader :data, :dbo
12
13
 
13
14
  # @!method settings(db, protect_db, path)
14
15
  # Settings for your database manager
@@ -50,11 +51,9 @@ module Gembase
50
51
  @protect_db = protect_db.to_s
51
52
  if @protect_db == 'true'
52
53
  system('clear')
53
- Errors::no_dependency('package', 'figlet', '-c Logger')
54
54
  puts(%x(figlet -c Logger).colorize(:red), '====================================================================================='.colorize(:light_black), "\n", ">> [SecurityEnabled] | Now you can remove, modify, encrypt and rename your db.".colorize(:light_red))
55
55
  elsif @protect_db == 'false'
56
56
  system('clear')
57
- Errors::no_dependency('package', 'figlet', '-c Logger')
58
57
  puts(%x(figlet -c Logger).colorize(:red), '====================================================================================='.colorize(:light_black))
59
58
  puts "\n>> [SecurityBreach] | If you don't protect your db, it'll be vulnerable to hackers. \n You must need to enable protection and use Gembase.encrypt".colorize(:light_red)
60
59
  end
@@ -82,10 +81,14 @@ module Gembase
82
81
  if @dbf == 0
83
82
  if @path.eql?('root')
84
83
  FileUtils.touch("#{db}.rudb")
84
+ @dbo = File.open("#{db}.rudb")
85
85
  else
86
86
  FileUtils.touch("#{@path}/#{db}.rudb")
87
+ @dbo = File.open("#{@path}/#{db}.rudb")
87
88
  end
88
89
  end
90
+
91
+ @data = YAML.load(@dbo)
89
92
  end
90
93
 
91
94
  # @!method create_category(db, category)
@@ -154,17 +157,9 @@ module Gembase
154
157
  e
155
158
  end
156
159
 
157
- if @dbf == 0
158
- if @path.eql?('root')
159
- @@database = File.open("#{db}.rudb")
160
- else
161
- @@database = File.open("#{@path}/#{db}.rudb")
162
- end
163
-
164
- @@data = YAML.load(@@database)
165
- @@data[parent_category.to_s].store(nested_category.to_s, {})
166
- File.write(@@database, @@data.to_yaml)
167
- end
160
+ @data
161
+ @data[parent_category.to_s].store(nested_category.to_s, {})
162
+ File.write(@dbo, @data.to_yaml)
168
163
  end
169
164
 
170
165
  # @!method add_object(db, category, key, value)
@@ -199,9 +194,9 @@ module Gembase
199
194
 
200
195
  puts "\n>> [WARNING] | add_object Method is deprecated. Please use create_object Method instead.".colorize(:red)
201
196
  if @dbf == 0
202
- @@database
203
- @@data
204
- @@data[category.to_s].store(key.to_s, value)
197
+ @dbo
198
+ @data
199
+ @data[category.to_s].store(key.to_s, value)
205
200
  end
206
201
  end
207
202
 
@@ -236,10 +231,10 @@ module Gembase
236
231
 
237
232
  if @dbf == 0
238
233
  if category.to_s.length.zero?
239
- @@database
240
- @@data
241
- @@data.store(key.to_s, value)
242
- File.write(@@database, @@data.to_yaml)
234
+ @dbo
235
+ @data
236
+ @data.store(key.to_s, value)
237
+ File.write(@dbo, @data.to_yaml)
243
238
  else
244
239
  begin
245
240
  raise Errors::invalid_param('category', 'String', 'Gembase.create_object') until category.is_a?(String)
@@ -247,21 +242,21 @@ module Gembase
247
242
  e
248
243
  end
249
244
  if subcategory.to_s.length.zero?
250
- @@database
251
- @@data
252
- @@data
253
- @@data[category.to_s].store(key.to_s, value)
254
- File.write(@@database, @@data.to_yaml)
245
+ @dbo
246
+ @data
247
+ @data
248
+ @data[category.to_s].store(key.to_s, value)
249
+ File.write(@dbo, @data.to_yaml)
255
250
  else
256
251
  begin
257
252
  raise Errors::invalid_param('subcategory', 'String', 'Gembase.create_object') until subcategory.is_a?(String)
258
253
  rescue => e
259
254
  e
260
255
  end
261
- @@database
262
- @@data
263
- @@data[category.to_s][subcategory.to_s].store(key.to_s, value)
264
- File.write(@@database, @@data.to_yaml)
256
+ @dbo
257
+ @data
258
+ @data[category.to_s][subcategory.to_s].store(key.to_s, value)
259
+ File.write(@dbo, @data.to_yaml)
265
260
  end
266
261
  end
267
262
  end
@@ -299,16 +294,16 @@ module Gembase
299
294
 
300
295
  if @dbf == 0
301
296
  if category.to_s.length.zero?
302
- @@database
303
- @@data
304
- @@data.delete(key.to_s)
297
+ @dbo
298
+ @data
299
+ @data.delete(key.to_s)
305
300
  if @path.eql?('root')
306
301
  File.open("#{db}.rudb", 'w+') do |f|
307
- f.write(@@data.to_yaml)
302
+ f.write(@data.to_yaml)
308
303
  end
309
304
  else
310
305
  File.open("#{@path}/#{db}.rudb", 'w+') do |f|
311
- f.write(@@data.to_yaml)
306
+ f.write(@data.to_yaml)
312
307
  end
313
308
  end
314
309
  else
@@ -318,11 +313,11 @@ module Gembase
318
313
  rescue => e
319
314
  e
320
315
  end
321
- @@database
322
- @@data
323
- @@data[category.to_s].delete(key.to_s)
316
+ @dbo
317
+ @data
318
+ @data[category.to_s].delete(key.to_s)
324
319
  File.open("#{db}.rudb", 'w+') do |f|
325
- f.write(@@data.to_yaml)
320
+ f.write(@data.to_yaml)
326
321
  end
327
322
  else
328
323
  begin
@@ -330,16 +325,16 @@ module Gembase
330
325
  rescue => e
331
326
  e
332
327
  end
333
- @@database
334
- @@data
335
- @@data[category.to_s][subcategory.to_s].delete(key.to_s)
328
+ @dbo
329
+ @data
330
+ @data[category.to_s][subcategory.to_s].delete(key.to_s)
336
331
  if @path.eql?('root')
337
332
  File.open("#{db}.rudb", 'w+') do |f|
338
- f.write(@@data.to_yaml)
333
+ f.write(@data.to_yaml)
339
334
  end
340
335
  else
341
336
  File.open("#{@path}/#{db}.rudb", 'w+') do |f|
342
- f.write(@@data.to_yaml)
337
+ f.write(@data.to_yaml)
343
338
  end
344
339
  end
345
340
  end
@@ -380,10 +375,10 @@ module Gembase
380
375
 
381
376
  if @dbf == 0
382
377
  if category.to_s.length.zero?
383
- @@database
384
- @@data
385
- @@data[key.to_s] = new_value
386
- File.write(@@database, @@data.to_yaml)
378
+ @dbo
379
+ @data
380
+ @data[key.to_s] = new_value
381
+ File.write(@dbo, @data.to_yaml)
387
382
  else
388
383
  begin
389
384
  raise Errors::invalid_param('category', 'String', 'Gembase.change_object') until category.is_a?(String)
@@ -391,20 +386,20 @@ module Gembase
391
386
  e
392
387
  end
393
388
  if subcategory.to_s.length.zero?
394
- @@database
395
- @@data
396
- @@data[category.to_s][key.to_s] = new_value
397
- File.write(@@database, @@data.to_yaml)
389
+ @dbo
390
+ @data
391
+ @data[category.to_s][key.to_s] = new_value
392
+ File.write(@dbo, @data.to_yaml)
398
393
  else
399
394
  begin
400
395
  raise Errors::invalid_param('subcategory', 'String', 'Gembase.change_object') until subcategory.is_a?(String)
401
396
  rescue => e
402
397
  e
403
398
  end
404
- @@database
405
- @@data
406
- @@data[category.to_s][subcategory.to_s][key.to_s] = new_value
407
- File.write(@@database, @@data.to_yaml)
399
+ @dbo
400
+ @data
401
+ @data[category.to_s][subcategory.to_s][key.to_s] = new_value
402
+ File.write(@dbo, @data.to_yaml)
408
403
  end
409
404
  end
410
405
  end
@@ -426,8 +421,8 @@ module Gembase
426
421
  end
427
422
 
428
423
  if @dbf == 0
429
- @@database
430
- @@data
424
+ @dbo
425
+ @data
431
426
  end
432
427
  end
433
428
 
@@ -445,8 +440,8 @@ module Gembase
445
440
  end
446
441
 
447
442
  if @dbf == 0
448
- @@database
449
- @@data.to_yaml
443
+ @dbo
444
+ @data.to_yaml
450
445
  end
451
446
  end
452
447
 
@@ -473,11 +468,9 @@ module Gembase
473
468
  if @encrypted == 0
474
469
  puts("\n>> Encrypting your database...".colorize(:light_black), "\n>> Recomendations: set a secure password with more than 8 characters and save\n it in a secure site".colorize(:light_black), "\n")
475
470
  if @path.eql?('root')
476
- Errors::no_dependency('gem', 'yaml_vault', "encrypt #{db}.rudb -o #{db}.erudb")
477
471
  system("yaml_vault encrypt #{db}.rudb -o #{db}.erudb")
478
472
  system("rm #{db}.rudb")
479
473
  else
480
- Errors::no_dependency('gem', 'yaml_vault', "encrypt #{@path}/#{db}.rudb -o #{@path}/#{db}.erudb")
481
474
  system("yaml_vault encrypt #{@path}/#{db}.rudb -o #{@path}/#{db}.erudb")
482
475
  system("rm #{@path}/#{db}.rudb")
483
476
  end
@@ -509,10 +502,8 @@ module Gembase
509
502
  if @encrypted != 0
510
503
  puts "\n>> Decrypting your database...".colorize(:light_black)
511
504
  if @path.eql('root')
512
- Errors::no_dependency('gem', 'yaml_vault', "decrypt #{db}.erudb -o #{db}.rudb")
513
505
  system("yaml_vault decrypt #{db}.erudb -o #{db}.rudb")
514
506
  else
515
- Errors::no_dependency('gem', 'yaml_vault', "decrypt #{db}.erudb -o #{db}.rudb")
516
507
  system("yaml_vault encrypt #{@path}/#{db}.erudb -o #{@path}/#{db}.rudb")
517
508
  end
518
509
  elsif @encrypted == 0
@@ -622,7 +613,6 @@ module Gembase
622
613
  #
623
614
  # @since 1.0.0
624
615
  def self.working_db
625
- Errors::no_dependency('package', 'figlet', '-c Viewer')
626
616
  puts("\n", '====================================================================================='.colorize(:light_black), "\n\n", %x(figlet -c Viewer).colorize(:red), '====================================================================================='.colorize(:light_black))
627
617
  files = 'find . -wholename "*.rudb" && find . -wholename "*.erudb"'
628
618
  count = 'find . -wholename "*.rudb" | wc -l && find . -wholename "*.erudb" | wc -l'
data/lib/services.rb CHANGED
@@ -18,9 +18,9 @@ class FalseClass
18
18
  end
19
19
 
20
20
  class Errors < StandardError
21
- attr_reader :dependency, :argument, :param, :type, :method, :db
21
+ attr_reader :dependency, :param, :type, :method, :db
22
22
 
23
- def self.no_dependency(type, dependency, argument=nil)
23
+ def self.no_dependency(type, dependency)
24
24
  begin
25
25
  raise Errors.invalid_param('type', 'String', 'Errors.invalid_param') until type.is_a?(String)
26
26
  rescue => e
@@ -33,75 +33,35 @@ class Errors < StandardError
33
33
  e
34
34
  end
35
35
 
36
- if argument.to_s.length == 0
37
- if !system("#{dependency}") then
38
- puts "\n>> [RuntimeError] | The package #{dependency} isn't installed. \n Do you want to install it? [y/n]".colorize(:light_red)
39
- installation = gets.chomp
40
-
41
- case installation
42
- when "y"
43
- if Dir.home == "/data/data/com.termux/files/home" # Termux installation
36
+ if system("#{dependency}") == nil
37
+ puts "\n>> [RuntimeError] | The package #{dependency} isn't installed. \n Do you want to install it? [y/n]".colorize(:light_red)
38
+ installation = gets.chomp
39
+
40
+ case installation
41
+ when "y"
42
+ if Dir.home == "/data/data/com.termux/files/home" # Termux installation
43
+ if type.eql?('package')
44
+ system("apt install #{dependency}")
45
+ elsif type.eql?('gem')
46
+ system("gem install #{dependency}")
47
+ end
48
+ else # Linux installation
49
+ if File.exist?("/usr/bin/apt-get") then # Debian-based OS
44
50
  if type.eql?('package')
45
- system("apt install #{dependency}")
51
+ system("sudo apt-get install #{dependency}")
46
52
  elsif type.eql?('gem')
47
- system("gem install #{dependency}")
48
- end
49
- else # Linux installation
50
- if File.exist?("/usr/bin/apt-get") then # Debian-based OS
51
- if type.eql?('package')
52
- system("sudo apt-get install #{dependency}")
53
- elsif type.eql?('gem')
54
- system("sudo gem install #{dependency}")
55
- end
56
- elsif File.exist?("/usr/bin/pacman") then # Arch OS
57
- if type.eql?('package')
58
- system("sudo pacman -S #{dependency}")
59
- elsif type.eql?('gem')
60
- system("sudo gem install #{dependency}")
61
- end
53
+ system("sudo gem install #{dependency}")
62
54
  end
63
- end
64
- when "n"
65
- puts "\n>> [RuntimeError] | You must install the dependencies so that the \n administrator has a good functioning".colorize(:light_red)
66
- end
67
- end
68
- else
69
- begin
70
- raise Errors.invalid_param('argument', 'String', 'Errors.invalid_param') until argument.is_a?(String)
71
- rescue => e
72
- e
73
- end
74
-
75
- if !system("#{dependency}", "#{argument}") then
76
- puts "\n>> [RuntimeError] | The package #{dependency} isn't installed. \n Do you want to install it? [y/n]".colorize(:light_red)
77
- installation = gets.chomp
78
-
79
- case installation
80
- when "y"
81
- if Dir.home == "/data/data/com.termux/files/home" # Termux installation
55
+ elsif File.exist?("/usr/bin/pacman") then # Arch OS
82
56
  if type.eql?('package')
83
- system("apt install #{dependency}")
57
+ system("sudo pacman -S #{dependency}")
84
58
  elsif type.eql?('gem')
85
- system("gem install #{dependency}")
86
- end
87
- else # Linux installation
88
- if File.exist?("/usr/bin/apt-get") then # Debian-based OS
89
- if type.eql?('package')
90
- system("sudo apt-get install #{dependency}")
91
- elsif type.eql?('gem')
92
- system("sudo gem install #{dependency}")
93
- end
94
- elsif File.exist?("/usr/bin/pacman") then # Arch OS
95
- if type.eql?('package')
96
- system("sudo pacman -S #{dependency}")
97
- elsif type.eql?('gem')
98
- system("sudo gem install #{dependency}")
99
- end
59
+ system("sudo gem install #{dependency}")
100
60
  end
101
61
  end
102
- when "n"
103
- puts "\n>> [RuntimeError] | You must install the dependencies so that the \n administrator has a good functioning".colorize(:light_red)
104
62
  end
63
+ when "n"
64
+ puts "\n>> [RuntimeError] | You must install the dependencies so that the \n administrator has a good functioning".colorize(:light_red)
105
65
  end
106
66
  end
107
67
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gembase
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - NTB Bloodbath