class Ccp::Persistent::Versioned::Storage
Public Class Methods
complete(file, default_dir, default_kvs, default_ext)
click to toggle source
# File lib/ccp/persistent/versioned.rb, line 7 def self.complete(file, default_dir, default_kvs, default_ext) s = file.must(Storage) { path, ext, kvs = file.to_s.split(".", 3) new(default_dir, path, ext, kvs) } s.name = Pathname(s.name).basename(".*").to_s s.dir = default_dir if s.dir.blank? s.ext = default_ext if s.ext.blank? s.kvs = default_kvs if s.kvs.blank? s.ext.must.not.blank s.kvs.must.not.blank return s end
Public Instance Methods
create()
click to toggle source
# File lib/ccp/persistent/versioned.rb, line 31 def create kvs = Ccp::Persistent.lookup(self.kvs) ext = Ccp::Serializers.lookup(self.ext) kvs.new(path, ext) end
path()
click to toggle source
# File lib/ccp/persistent/versioned.rb, line 24 def path kvs = Ccp::Persistent.lookup(self.kvs) ext = Ccp::Serializers.lookup(self.ext) base = [name.to_s, ext.ext, kvs.ext].join(".").sub(/\.$/,'') return Pathname(dir) + base end