key-db 3.0.1 → 4.0.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.
- data/lib/keydb.rb +37 -20
- metadata +5 -4
data/lib/keydb.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
class KeyDB
|
2
2
|
attr_reader :filename, :version
|
3
|
-
$VERSION = "
|
3
|
+
$VERSION = "4.0.0"
|
4
4
|
def initialize filename
|
5
5
|
@filename = filename.split(".")
|
6
6
|
@filename = "#{@filename[0]}.db"
|
@@ -31,25 +31,6 @@ class KeyDB
|
|
31
31
|
@db_file.close
|
32
32
|
end
|
33
33
|
|
34
|
-
def get_key keyname
|
35
|
-
if keyname.class != String
|
36
|
-
warn "WARNING: Keyname should be a string"
|
37
|
-
end
|
38
|
-
File.open(@filename, "r").each_line do |line|
|
39
|
-
if Marshal.load(line).split("(---)")[1] == keyname
|
40
|
-
return "Key has been deleted"
|
41
|
-
elsif Marshal.load(line).split("-***-")[1] == keyname
|
42
|
-
return Marshal.load(line).split("-***-")[2]
|
43
|
-
end
|
44
|
-
end
|
45
|
-
File.open(@filename, "r").each_line do |line|
|
46
|
-
line = Marshal.load(line)
|
47
|
-
if line.split("///")[0] == keyname
|
48
|
-
return line.split("///")[1]
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
34
|
def change_key keyname, value
|
54
35
|
@db_file = File.open(@filename, "a")
|
55
36
|
@db_file.write(Marshal.dump("CK-***-#{keyname}-***-#{value}"))
|
@@ -100,4 +81,40 @@ class KeyDB
|
|
100
81
|
File.new(@filename, "w")
|
101
82
|
end
|
102
83
|
|
84
|
+
def method_missing(keyname, *value)
|
85
|
+
keyname = keyname.to_s
|
86
|
+
if keyname =~ /=/
|
87
|
+
keyname.gsub!("=", "")
|
88
|
+
value = value[0]
|
89
|
+
if keyname =~ /\/\/\/|\(---\)|-\*\*\*-/
|
90
|
+
raise "Invalid Keyname!"
|
91
|
+
return
|
92
|
+
end
|
93
|
+
File.open(@filename, "r").each_line do |line|
|
94
|
+
if Marshal.load(line).split("///")[0] == keyname
|
95
|
+
raise "Keynames must be unique"
|
96
|
+
return
|
97
|
+
end
|
98
|
+
end
|
99
|
+
@db_file = File.open(@filename, "a")
|
100
|
+
@to_write = (Marshal.dump("#{keyname}///#{value}"))
|
101
|
+
@db_file.write(@to_write)
|
102
|
+
@db_file.write("\n")
|
103
|
+
@db_file.close
|
104
|
+
else
|
105
|
+
File.open(@filename, "r").each_line do |line|
|
106
|
+
if Marshal.load(line).split("(---)")[1] == keyname
|
107
|
+
return "Key has been deleted"
|
108
|
+
elsif Marshal.load(line).split("-***-")[1] == keyname
|
109
|
+
return Marshal.load(line).split("-***-")[2]
|
110
|
+
end
|
111
|
+
end
|
112
|
+
File.open(@filename, "r").each_line do |line|
|
113
|
+
line = Marshal.load(line)
|
114
|
+
if line.split("///")[0] == keyname
|
115
|
+
return line.split("///")[1]
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
103
120
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: key-db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,10 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-19 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
|
-
description: ! 'A database acessible via keys.
|
15
|
-
''
|
14
|
+
description: ! 'A database acessible via keys. Made attributes for all database keys.
|
15
|
+
Database keys now creatable and accessible via: db.foo = ''bar''; db.foo. Cannot
|
16
|
+
change keys through attributes, you must use change_key. File to require: ''keydb'''
|
16
17
|
email: slmnwise@gmail.com
|
17
18
|
executables: []
|
18
19
|
extensions: []
|