Class: Dam::Storage

Inherits:
Object
  • Object
show all
Defined in:
lib/dam/storage.rb

Class Method Summary collapse

Class Method Details

.databaseObject



10
11
12
# File 'lib/dam/storage.rb', line 10

def self.database
  return @database if instance_variable_defined? '@database'
end

.database=(database) ⇒ Object



14
15
16
# File 'lib/dam/storage.rb', line 14

def self.database=(database)
  @database = database
end

.get(stream_name) ⇒ Object



26
27
28
# File 'lib/dam/storage.rb', line 26

def self.get(stream_name)
  self.database.list_range("stream:#{stream_name}", 0, -1)
end

.head(stream_name) ⇒ Object



30
31
32
# File 'lib/dam/storage.rb', line 30

def self.head(stream_name)
  self.database.list_index("stream:#{stream_name}", 0)
end

.insert(stream, activity) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/dam/storage.rb', line 18

def self.insert(stream, activity)
  key = stream.name
  
  self.database.push_head("stream:#{key}", activity.to_json)
  self.database.ltrim("stream:#{key}", 0, (stream.limit || 10) - 1)
  
end

.register(name, engine) ⇒ Object



5
6
7
8
# File 'lib/dam/storage.rb', line 5

def Storage.register(name, engine)
  @engines ||= {}
  @engines[name] = engine
end