Class: Mamiya::Storages::Mock
- Defined in:
- lib/mamiya/storages/mock.rb
Instance Attribute Summary
Attributes inherited from Abstract
Class Method Summary collapse
Instance Method Summary collapse
- #fetch(package_name, destination) ⇒ Object
-
#initialize ⇒ Mock
constructor
A new instance of Mock.
- #meta(package_name) ⇒ Object
- #packages ⇒ Object
- #push(package) ⇒ Object
Methods inherited from Abstract
Constructor Details
#initialize ⇒ Mock
Returns a new instance of Mock.
21 22 23 24 |
# File 'lib/mamiya/storages/mock.rb', line 21 def initialize(*) super self.class.storage[application] ||= {} end |
Class Method Details
.clear ⇒ Object
12 13 14 |
# File 'lib/mamiya/storages/mock.rb', line 12 def self.clear @storage = {} end |
.find(config = {}) ⇒ Object
16 17 18 19 |
# File 'lib/mamiya/storages/mock.rb', line 16 def self.find(config={}) # TODO: FIXME: Should be an Hash storage.keys end |
.storage ⇒ Object
8 9 10 |
# File 'lib/mamiya/storages/mock.rb', line 8 def self.storage @storage ||= {} end |
Instance Method Details
#fetch(package_name, destination) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# 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") = File.join(destination, "#{package_name}.json") if File.exists?(package_path) && File.exists?() raise AlreadyFetched end package = self.class.storage[application][package_name][:package] FileUtils.cp package.path, package_path FileUtils.cp package., return package end |
#meta(package_name) ⇒ Object
54 55 56 57 58 59 |
# File 'lib/mamiya/storages/mock.rb', line 54 def (package_name) package = self.class.storage[application][package_name] return unless package package[:package]. end |
#packages ⇒ Object
26 27 28 |
# File 'lib/mamiya/storages/mock.rb', line 26 def packages self.class.storage[application].keys end |
#push(package) ⇒ Object
30 31 32 33 34 35 36 |
# 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 |