class Penumbra::Catalog
Attributes
path[R]
Public Class Methods
new(path)
click to toggle source
# File lib/penumbra/catalog.rb, line 7 def initialize(path) @path = path end
Public Instance Methods
[](index_name)
click to toggle source
# File lib/penumbra/catalog.rb, line 11 def [](index_name) index_for(index_name) end
close()
click to toggle source
# File lib/penumbra/catalog.rb, line 45 def close raise NotOpenError unless open? indexes.values.map(&:close) end
destroy()
click to toggle source
# File lib/penumbra/catalog.rb, line 50 def destroy remove_path end
get(index_name, key)
click to toggle source
# File lib/penumbra/catalog.rb, line 28 def get(index_name, key) index_for(index_name).get(key) end
index_for(index_name)
click to toggle source
# File lib/penumbra/catalog.rb, line 19 def index_for(index_name) index_name = index_name.to_s indexes[index_name] ||= Index.new(File.join(path, index_name)) end
indexes()
click to toggle source
# File lib/penumbra/catalog.rb, line 15 def indexes @indexes ||= {} end
keys_for(index_name)
click to toggle source
# File lib/penumbra/catalog.rb, line 32 def keys_for(index_name) index_for(index_name).keys end
open()
click to toggle source
# File lib/penumbra/catalog.rb, line 40 def open create_path @opened = true end
put(index_name, key, value)
click to toggle source
# File lib/penumbra/catalog.rb, line 24 def put(index_name, key, value) index_for(index_name).put(key, value) end
values_for(index_name)
click to toggle source
# File lib/penumbra/catalog.rb, line 36 def values_for(index_name) index_for(index_name).values end
Private Instance Methods
create_path()
click to toggle source
# File lib/penumbra/catalog.rb, line 55 def create_path FileUtils.mkdir_p(path) end
open?()
click to toggle source
# File lib/penumbra/catalog.rb, line 59 def open? @opened end
remove_path()
click to toggle source
# File lib/penumbra/catalog.rb, line 63 def remove_path FileUtils.rm_rf(path) end