Sha256: b2114620653c8b74a73a55d08bc262c941377d897557380efb9f00cf536756f7

Contents?: true

Size: 739 Bytes

Versions: 1

Compression:

Stored size: 739 Bytes

Contents

require 'mcrain'

# don't require 'redis' here in order to use mcrain without 'redis' gem
# require 'redis'

module Mcrain
  class Redis < Base
    self.server_name = :redis

    self.container_image = "redis:2.8.19"
    self.port = 6379

    def client
      require client_require
      @client ||= ::Redis.new(build_client_options)
    end

    def build_client_options
      {host: host, port: port}
    end

    def client_require
      'redis'
    end

    def client_script
      client
      "Redis.new(#{build_client_options.inspect})"
    end

    def wait_for_ready
      client.keys
    end

    attr_accessor :db_dir

    def docker_extra_options
      db_dir ? " -v #{File.expand_path(db_dir)}:/data" : nil
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mcrain-0.1.0 lib/mcrain/redis.rb