geode 0.4.0 → 0.5.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
- data/lib/geode/redis.rb +5 -0
- data/lib/geode/sequel.rb +7 -3
- data/lib/geode.rb +7 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40101d539252b136e868fd1a800b063480f900d2d6950fdb49692b9b46f2d840
|
4
|
+
data.tar.gz: c5169f3c0240530b10c7ecf479dec602d6ac4c1edfffb85fa93ba3713a97a6ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d92a44091dd02cf1c9a406cf642dc6e906b40177d07081b2f898c0a0c3153d2e43850c4391900f4bc8dcd9294c4f9e7c71306c2467ad5a60a0f84855deeee328
|
7
|
+
data.tar.gz: a44edfb5d28948066504fa7d65bf9c331a7b6dc2abb19001a96a9bfcb329a48218412262bbf4fb539a01934d0dbcec7b0392421236ab87666e8fe9146bd977f4
|
data/lib/geode/redis.rb
CHANGED
data/lib/geode/sequel.rb
CHANGED
@@ -19,8 +19,7 @@ module Geode
|
|
19
19
|
connection ||= { adapter: 'postgres' }
|
20
20
|
db = Sequel.connect(connection)
|
21
21
|
db.create_table? :geode do
|
22
|
-
primary_key
|
23
|
-
String :name
|
22
|
+
String :name, primary_key: true
|
24
23
|
File :value
|
25
24
|
end
|
26
25
|
|
@@ -29,7 +28,7 @@ module Geode
|
|
29
28
|
|
30
29
|
def open
|
31
30
|
store = @db.where(name: @name)
|
32
|
-
table = if store.
|
31
|
+
table = if store.empty?
|
33
32
|
store.insert(name: @name, value: '')
|
34
33
|
{}
|
35
34
|
else
|
@@ -40,5 +39,10 @@ module Geode
|
|
40
39
|
store.update(value: Sequel.blob(Marshal.dump(table)))
|
41
40
|
end
|
42
41
|
end
|
42
|
+
|
43
|
+
def destroy
|
44
|
+
@db.where(name: @name).delete
|
45
|
+
nil
|
46
|
+
end
|
43
47
|
end
|
44
48
|
end
|
data/lib/geode.rb
CHANGED
@@ -19,7 +19,7 @@ module Geode
|
|
19
19
|
# "store.open { |table| table[:key] } #=> 5"
|
20
20
|
# @return [Object] The return value of the block
|
21
21
|
def open
|
22
|
-
raise
|
22
|
+
raise 'subclasses must implement #open'
|
23
23
|
end
|
24
24
|
|
25
25
|
# "Peek" inside the store, returning a copy of its table.
|
@@ -44,5 +44,11 @@ module Geode
|
|
44
44
|
def [](key)
|
45
45
|
peek[key]
|
46
46
|
end
|
47
|
+
|
48
|
+
# "Destroy" the store, deleting all data.
|
49
|
+
# The store can be opened again, recreating it in a blank state.
|
50
|
+
def destroy
|
51
|
+
raise 'subclasses must implement #destroy'
|
52
|
+
end
|
47
53
|
end
|
48
54
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geode
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- biqqles
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10-
|
11
|
+
date: 2021-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|
@@ -76,7 +76,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
76
76
|
requirements:
|
77
77
|
- - ">="
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version:
|
79
|
+
version: 2.2.0
|
80
80
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - ">="
|
@@ -86,5 +86,5 @@ requirements: []
|
|
86
86
|
rubygems_version: 3.1.2
|
87
87
|
signing_key:
|
88
88
|
specification_version: 4
|
89
|
-
summary:
|
89
|
+
summary: Store Ruby objects in Redis or Sequel
|
90
90
|
test_files: []
|