Sha256: 0dc03e5c913f2c7a318a8888297eab08270e7b6059af8d1b107ec9688f58921c

Contents?: true

Size: 836 Bytes

Versions: 7

Compression:

Stored size: 836 Bytes

Contents

# frozen_string_literal: true

module Loco
  class WsConnectionStorage
    include Singleton

    attr_reader :storage

    class << self
      def current
        instance
      end
    end

    def initialize
      @storage = Config.redis_instance || {}
    end

    def get key
      case @storage
      when Hash
        storage[proper_key(key)]
      else
        storage.get proper_key(key)
      end
    end

    def set key, val
      case @storage
      when Hash
        storage[proper_key(key)] = val
      else
        storage.set proper_key(key), val
      end
    end

    def del key
      case @storage
      when Hash
        storage.delete proper_key(key)
      else
        storage.del proper_key(key)
      end
    end

    protected

      def proper_key key
        "#{Config.app_name}:#{key}"
      end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
loco-rails-3.0.6 lib/loco/ws_connection_storage.rb
loco-rails-3.0.5 lib/loco/ws_connection_storage.rb
loco-rails-3.0.4 lib/loco/ws_connection_storage.rb
loco-rails-3.0.3 lib/loco/ws_connection_storage.rb
loco-rails-2.5.3 lib/loco/ws_connection_storage.rb
loco-rails-2.5.2 lib/loco/ws_connection_storage.rb
loco-rails-3.0.2 lib/loco/ws_connection_storage.rb