Class: Avm::Data::Package
- Inherits:
-
Object
- Object
- Avm::Data::Package
show all
- Includes:
- Callbacks
- Defined in:
- lib/avm/data/package.rb,
lib/avm/data/package/dump.rb,
lib/avm/data/package/load.rb,
lib/avm/data/package/clear.rb,
lib/avm/data/package/base_performer.rb,
lib/avm/data/package/build_directory.rb
Defined Under Namespace
Modules: BuildDirectory
Classes: BasePerformer, Clear, Dump, Load
Constant Summary
collapse
- DATA_FILE_EXTENSION =
'.tar'
Instance Method Summary
collapse
Constructor Details
#initialize(options) ⇒ Package
Returns a new instance of Package.
11
12
13
14
15
16
17
18
|
# File 'lib/avm/data/package.rb', line 11
def initialize(options)
options = options.to_options_consumer
units = options.consume(:units)
options.validate
units.if_present do |v|
v.each { |identifier, unit| add_unit(identifier, unit) }
end
end
|
Instance Method Details
21
22
23
24
25
|
# File 'lib/avm/data/package.rb', line 21
def add_unit(identifier, unit)
units[identifier.to_sym] = unit
self
end
|
#data_file_extension ⇒ String
28
29
30
|
# File 'lib/avm/data/package.rb', line 28
def data_file_extension
DATA_FILE_EXTENSION
end
|
#dump_units_to_directory(directory, selected_units = nil) ⇒ Object
32
33
34
35
36
37
38
|
# File 'lib/avm/data/package.rb', line 32
def dump_units_to_directory(directory, selected_units = nil)
run_callbacks :dump do
(selected_units || units).each do |identifier, unit|
unit.dump_to_directory(directory, identifier)
end
end
end
|
#load_units_from_directory(directory, selected_units = nil) ⇒ Object
40
41
42
43
44
45
46
|
# File 'lib/avm/data/package.rb', line 40
def load_units_from_directory(directory, selected_units = nil)
run_callbacks :load do
(selected_units || units).each do |identifier, unit|
unit.load_from_directory(directory, identifier)
end
end
end
|
50
51
52
|
# File 'lib/avm/data/package.rb', line 50
def unit(identifier)
units[identifier.to_sym] || raise("No unit found with identifier \"#{identifier}\"")
end
|
#units ⇒ Object
54
55
56
|
# File 'lib/avm/data/package.rb', line 54
def units
@units ||= {}
end
|
#units_ids ⇒ Enumerable<String>
59
60
61
|
# File 'lib/avm/data/package.rb', line 59
def units_ids
units.keys
end
|