Sha256: c3f6d6d311e405204d9e16e359366366a87aeb114a9b72a131942cf90770ef9b

Contents?: true

Size: 780 Bytes

Versions: 2

Compression:

Stored size: 780 Bytes

Contents

# frozen_string_literal: true

require "redis"

module Twitch
  module Bot
    module Memory
      # Implement persistent memory based on Redis
      class Redis
        def initialize(client:)
          @client = client
          @redis = connect_db
        end

        def store(key, value)
          redis.set(key, value)
        end

        def retrieve(key)
          redis.get(key)
        end

        private

        attr_reader :client, :redis

        def connect_db
          config = client.config
          host = config.setting("redis_host") ||
            ENV["REDIS_HOST"] || "localhost"
          port = config.setting("redis_port") ||
            ENV["REDIS_PORT"] || 6379
          ::Redis.new(host: host, port: port)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
twitch-bot-3.2.1 lib/twitch/bot/memory/redis.rb
twitch-bot-3.2.0 lib/twitch/bot/memory/redis.rb