Class: Moneta::Shared

Inherits:
Wrapper show all
Defined in:
lib/moneta/shared.rb

Overview

Shares a store between processes

Examples:

Share a store

Moneta.build do
  use :Transformer, key: :marshal, value: :marshal
  use :Shared do
    adapter :GDBM, file: 'shared.db'
  end
end

Instance Attribute Summary

Attributes inherited from Proxy

#adapter

Instance Method Summary collapse

Methods inherited from Wrapper

#clear, #create, #delete, #features, #increment, #key?, #load, #store

Methods inherited from Proxy

#clear, #create, #delete, #features, #increment, #key?, #load, #store

Methods included from Defaults

#[], #[]=, #create, #decrement, #features, #fetch, included, #increment, #key?, #supports?

Methods included from OptionSupport

#expires, #prefix, #raw, #with

Constructor Details

#initialize(options = {}, &block) ⇒ Shared

Returns a new instance of Shared.

Parameters:

  • options (Hash) (defaults to: {})

Options Hash (options):

  • :port (Integer) — default: 9000

    TCP port

  • :host (String)

    Server hostname

  • :socket (String)

    Unix socket file name



18
19
20
21
# File 'lib/moneta/shared.rb', line 18

def initialize(options = {}, &block)
  @options = options
  @builder = Builder.new(&block)
end

Instance Method Details

#closeObject

Explicitly close the store

Returns:

  • nil



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/moneta/shared.rb', line 24

def close
  if @server
    @server.stop
    @thread.join
    @server = @thread = nil
  end
  if @adapter
    @adapter.close
    @adapter = nil
  end
end