class Eternity::CollectionIndex
Attributes
index[R]
Public Class Methods
new(options)
click to toggle source
# File lib/eternity/collection_index.rb, line 7 def initialize(options) @index = Restruct::Hash.new options end
Public Instance Methods
[](id)
click to toggle source
# File lib/eternity/collection_index.rb, line 19 def [](id) include?(id) ? Blob.new(:data, index[id]) : nil end
collection_name()
click to toggle source
# File lib/eternity/collection_index.rb, line 11 def collection_name index.id.sections.last end
delete(id)
click to toggle source
# File lib/eternity/collection_index.rb, line 33 def delete(id) raise "#{collection_name.capitalize} #{id} not found" unless index.key? id index.delete id end
ids()
click to toggle source
# File lib/eternity/collection_index.rb, line 38 def ids index.keys end
include?(id)
click to toggle source
# File lib/eternity/collection_index.rb, line 15 def include?(id) index.key? id end
insert(id, data)
click to toggle source
# File lib/eternity/collection_index.rb, line 23 def insert(id, data) raise "#{collection_name.capitalize} #{id} already exists" if index.key? id index[id] = Blob.write :data, data end
update(id, data)
click to toggle source
# File lib/eternity/collection_index.rb, line 28 def update(id, data) raise "#{collection_name.capitalize} #{id} not found" unless index.key? id index[id] = Blob.write :data, data end