class Mamiya::Storages::Mock
Public Class Methods
clear()
click to toggle source
# File lib/mamiya/storages/mock.rb, line 12 def self.clear @storage = {} end
find(config={})
click to toggle source
# File lib/mamiya/storages/mock.rb, line 16 def self.find(config={}) # TODO: FIXME: Should be an Hash storage.keys end
new(*)
click to toggle source
Calls superclass method
Mamiya::Storages::Abstract::new
# File lib/mamiya/storages/mock.rb, line 21 def initialize(*) super self.class.storage[application] ||= {} end
storage()
click to toggle source
# File lib/mamiya/storages/mock.rb, line 8 def self.storage @storage ||= {} end
Public Instance Methods
fetch(package_name, destination)
click to toggle source
# File lib/mamiya/storages/mock.rb, line 38 def fetch(package_name, destination) self.class.storage[application] ||= {} raise NotFound unless self.class.storage[application][package_name] package_path = File.join(destination, "#{package_name}.tar.gz") meta_path = File.join(destination, "#{package_name}.json") if File.exists?(package_path) && File.exists?(meta_path) raise AlreadyFetched end package = self.class.storage[application][package_name][:package] FileUtils.cp package.path, package_path FileUtils.cp package.meta_path, meta_path return package end
meta(package_name)
click to toggle source
# File lib/mamiya/storages/mock.rb, line 54 def meta(package_name) package = self.class.storage[application][package_name] return unless package package[:package].meta end
packages()
click to toggle source
# File lib/mamiya/storages/mock.rb, line 26 def packages self.class.storage[application].keys end
push(package)
click to toggle source
# File lib/mamiya/storages/mock.rb, line 30 def push(package) raise TypeError, "package should be a kind of Mamiya::Package" unless package.kind_of?(Mamiya::Package) raise NotBuilt, "package not built" unless package.exists? self.class.storage[application] ||= {} raise AlreadyExists if self.class.storage[application][package.name] self.class.storage[application][package.name] = {package: package, config: config} end