Class: Sc4ry::Backends::Redis
- Inherits:
-
Object
- Object
- Sc4ry::Backends::Redis
- Defined in:
- lib/sc4ry/backends/redis.rb
Overview
Redis backend definition
Instance Method Summary collapse
-
#del(key:) ⇒ Boolean
delete a specific record.
-
#exist?(key:) ⇒ Boolean
verifiy a specific record existence.
-
#flush ⇒ Boolean
flush all records in backend.
-
#get(key:) ⇒ String
return value of queried record.
-
#initialize(config) ⇒ Sc4ry::Backends::Redis
constructor
Constructor.
-
#list ⇒ Array
return the list of find records in backend for a specific pattern.
-
#put(key:, value:) ⇒ String
defined and store value for specified key.
Constructor Details
#initialize(config) ⇒ Sc4ry::Backends::Redis
Constructor
10 11 12 13 14 15 |
# File 'lib/sc4ry/backends/redis.rb', line 10 def initialize(config) @auth = config.slice(:auth)[:auth] @config = config.slice(:host, :port, :db) @be = ::Redis.new @config @be.auth(@auth) if @auth end |
Instance Method Details
#del(key:) ⇒ Boolean
delete a specific record
45 46 47 |
# File 'lib/sc4ry/backends/redis.rb', line 45 def del(key:) @be.del key end |
#exist?(key:) ⇒ Boolean
verifiy a specific record existence
58 59 60 |
# File 'lib/sc4ry/backends/redis.rb', line 58 def exist?(key:) !@be.get(key).nil? end |
#flush ⇒ Boolean
flush all records in backend
51 52 53 |
# File 'lib/sc4ry/backends/redis.rb', line 51 def flush @be.flushdb end |
#get(key:) ⇒ String
return value of queried record
26 27 28 29 30 |
# File 'lib/sc4ry/backends/redis.rb', line 26 def get(key:) res = YAML.load(@be.get(key)) res[:exceptions].map! { |item| Object.const_get(item) if item.instance_of?(String) } res end |
#list ⇒ Array
return the list of find records in backend for a specific pattern
19 20 21 |
# File 'lib/sc4ry/backends/redis.rb', line 19 def list @be.keys('*').map(&:to_sym) end |
#put(key:, value:) ⇒ String
defined and store value for specified key
36 37 38 39 40 |
# File 'lib/sc4ry/backends/redis.rb', line 36 def put(key:, value:) data = value.dup data[:exceptions].map! { |item| item.name.to_s if item.instance_of?(Class) } @be.set key, data.to_yaml end |