Class: Dam::Storage
- Inherits:
-
Object
- Object
- Dam::Storage
- Defined in:
- lib/dam/storage.rb
Class Method Summary collapse
- .database ⇒ Object
- .database=(database) ⇒ Object
- .get(stream_name) ⇒ Object
- .head(stream_name) ⇒ Object
- .insert(stream, activity) ⇒ Object
- .register(name, engine) ⇒ Object
Class Method Details
.database ⇒ Object
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 |