Module: Oria

Defined in:
lib/oria.rb,
lib/oria/client.rb,
lib/oria/errors.rb,
lib/oria/server.rb

Defined Under Namespace

Classes: Client, ConnectionError, Server

Class Method Summary collapse

Class Method Details

.[](key) ⇒ Object



11
12
13
# File 'lib/oria.rb', line 11

def self.[](key)
  store(:get, :key => key)
end

.[]=(key, value) ⇒ Object



15
16
17
18
# File 'lib/oria.rb', line 15

def self.[]=(key, value)
  store(:put, :key => key, :value => value)
  value
end

.app_keyObject



20
21
22
# File 'lib/oria.rb', line 20

def self.app_key
  @@app_key ||= nil
end

.app_key=(key) ⇒ Object



24
25
26
# File 'lib/oria.rb', line 24

def self.app_key=(key)
  @@app_key = key.to_s
end

.auto_startObject



28
29
30
31
32
33
34
35
36
37
# File 'lib/oria.rb', line 28

def self.auto_start
  @@pid = fork do
    Oria::Server.start(Oria.server, Oria.port, Oria.app_key)
  end
  Process.detach(@@pid)
  at_exit {
    Process.kill("HUP", @@pid)
  }
  sleep 1
end

.clearObject



39
40
41
# File 'lib/oria.rb', line 39

def self.clear
  store(:delete)
end

.connect(server, port = nil, options = {}) ⇒ Object



43
44
45
46
# File 'lib/oria.rb', line 43

def self.connect(server, port = nil, options = {})
  @@server = server
  @@port = port.to_i unless port.to_i == 0
end

.delete(key) ⇒ Object



48
49
50
# File 'lib/oria.rb', line 48

def self.delete(key)
  store(:delete, :key => key)
end

.disconnectObject



52
53
54
# File 'lib/oria.rb', line 52

def self.disconnect
  Oria::Server.stop
end

.has_key?(key) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/oria.rb', line 56

def self.has_key?(key)
  key?(key)
end

.key?(key) ⇒ Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/oria.rb', line 60

def self.key?(key)
  !self.[](key).nil?
end

.portObject



64
65
66
# File 'lib/oria.rb', line 64

def self.port
  @@port ||= "Oria is easily the coolest in-memory, super-simple KVS. Cool people use it.".split("").inject(0) {|total, char| total += char[0]}
end

.serverObject



68
69
70
# File 'lib/oria.rb', line 68

def self.server
  @@server ||= '0.0.0.0'
end

.stash(value) ⇒ Object



72
73
74
# File 'lib/oria.rb', line 72

def self.stash(value)
  store(:put, :value => value)
end