tablesalt 0.8.4 → 0.9.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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 98464db22a1b0b302a57d7000038552ca3e8752c2266afd130531ed933b188e9
|
|
4
|
+
data.tar.gz: bc6ca9ddaa87e1ab9d690d11693a14a82bacd6b5992323967887a6f430d1b766
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 848bb9e33da015bd099640490ae46894f50c0c96b5c91c9dfc3bfa5402ca6b46d45e88c3ff58a8a202b72bcfffa79cc70a0b078b095ee2e5dda99d48224435de
|
|
7
|
+
data.tar.gz: b8b37008b442ce4be113d64fbdf573300e7eb8ec3e19dd0cf2db27d95c608a0782cadca93e0ca9c50df6165ab582ca22da8ebbebe279b3e7523b6a51aa103f08
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Adapter which handles the storage and retrieval of hash data in Redis.
|
|
4
|
+
module Tablesalt
|
|
5
|
+
module RedisHash
|
|
6
|
+
module Adapter
|
|
7
|
+
extend ActiveSupport::Concern
|
|
8
|
+
|
|
9
|
+
included do
|
|
10
|
+
attr_reader :redis_key, :redis
|
|
11
|
+
|
|
12
|
+
delegate :del, :hdel, :hexists, :hget, :hgetall, :hkeys, :hlen, :hmget, :hmset, :hset, :hvals, to: :redis
|
|
13
|
+
delegate :default_redis, :default_redis_key, to: :class
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
def initialize_redis(redis, redis_key)
|
|
18
|
+
@redis = redis || default_redis
|
|
19
|
+
@redis_key = redis_key || default_redis_key
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class_methods do
|
|
24
|
+
def default_redis
|
|
25
|
+
Redis.new
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def default_redis_key
|
|
29
|
+
SecureRandom.hex
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -6,25 +6,10 @@ module Tablesalt
|
|
|
6
6
|
module Core
|
|
7
7
|
extend ActiveSupport::Concern
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
attr_reader :redis_key, :redis
|
|
11
|
-
delegate :del, :hdel, :hexists, :hget, :hgetall, :hkeys, :hlen, :hmget, :hmset, :hset, :hvals, to: :redis
|
|
12
|
-
|
|
13
|
-
private
|
|
14
|
-
|
|
15
|
-
def set_default(default, &block)
|
|
16
|
-
self.default = default if default.present?
|
|
17
|
-
self.default_proc = block if block_given?
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def initialize(default = nil, redis_key: SecureRandom.hex, redis: Redis.new, &block)
|
|
22
|
-
raise ArgumentError, "cannot specify both block and static default" if block_given? && default.present?
|
|
23
|
-
|
|
9
|
+
def initialize(default = nil, redis_key: nil, redis: nil, &block)
|
|
24
10
|
run_callbacks(:initialize) do
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
@redis = redis
|
|
11
|
+
initialize_default(default, &block)
|
|
12
|
+
initialize_redis(redis, redis_key)
|
|
28
13
|
end
|
|
29
14
|
end
|
|
30
15
|
end
|
|
@@ -11,6 +11,17 @@ module Tablesalt
|
|
|
11
11
|
|
|
12
12
|
private
|
|
13
13
|
|
|
14
|
+
def initialize_default(default, &block)
|
|
15
|
+
raise ArgumentError, "cannot specify both block and static default" if block_given? && default.present?
|
|
16
|
+
|
|
17
|
+
set_default(default, &block)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def set_default(default, &block)
|
|
21
|
+
self.default = default if default.present?
|
|
22
|
+
self.default_proc = block if block_given?
|
|
23
|
+
end
|
|
24
|
+
|
|
14
25
|
def to_default(field = nil, allow_nil_field: true)
|
|
15
26
|
@default.presence || (default_proc&.call(self, field) if !field.nil? || allow_nil_field)
|
|
16
27
|
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "redis_hash/adapter"
|
|
3
4
|
require_relative "redis_hash/default"
|
|
4
5
|
require_relative "redis_hash/callbacks"
|
|
5
6
|
require_relative "redis_hash/core"
|
|
@@ -16,6 +17,7 @@ require_relative "redis_hash/converters"
|
|
|
16
17
|
module Tablesalt
|
|
17
18
|
class RedisHashBase
|
|
18
19
|
include Technologic
|
|
20
|
+
include Tablesalt::RedisHash::Adapter
|
|
19
21
|
include Tablesalt::RedisHash::Default
|
|
20
22
|
include Tablesalt::RedisHash::Callbacks
|
|
21
23
|
include Tablesalt::RedisHash::Core
|
data/lib/tablesalt/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tablesalt
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jordan Minneti
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-05-
|
|
11
|
+
date: 2019-05-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -30,14 +30,14 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - '='
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
33
|
+
version: 0.9.0
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - '='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.
|
|
40
|
+
version: 0.9.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: redis
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -64,6 +64,7 @@ files:
|
|
|
64
64
|
- README.md
|
|
65
65
|
- lib/tablesalt.rb
|
|
66
66
|
- lib/tablesalt/redis_hash/accessors.rb
|
|
67
|
+
- lib/tablesalt/redis_hash/adapter.rb
|
|
67
68
|
- lib/tablesalt/redis_hash/callbacks.rb
|
|
68
69
|
- lib/tablesalt/redis_hash/comparisons.rb
|
|
69
70
|
- lib/tablesalt/redis_hash/converters.rb
|
|
@@ -77,7 +78,7 @@ files:
|
|
|
77
78
|
- lib/tablesalt/redis_hash/predicates.rb
|
|
78
79
|
- lib/tablesalt/redis_hash_base.rb
|
|
79
80
|
- lib/tablesalt/version.rb
|
|
80
|
-
homepage: https://
|
|
81
|
+
homepage: https://github.com/Freshly/spicerack/tree/master/tablesalt
|
|
81
82
|
licenses:
|
|
82
83
|
- MIT
|
|
83
84
|
metadata: {}
|