Class: PuppetLibrary::Forge::Directory
- Inherits:
-
Abstract
- Object
- Abstract
- PuppetLibrary::Forge::Directory
show all
- Defined in:
- lib/puppet_library/forge/directory.rb
Instance Method Summary
collapse
Methods inherited from Abstract
#collect_dependencies_versions, #get_module_buffer, #get_module_metadata, #get_module_metadata_with_dependencies, #retrieve_all_metadata, #retrieve_metadata, #search_modules
Constructor Details
#initialize(module_dir) ⇒ Directory
Returns a new instance of Directory.
24
25
26
27
28
29
|
# File 'lib/puppet_library/forge/directory.rb', line 24
def initialize(module_dir)
super(self)
raise "Module directory '#{module_dir}' doesn't exist" unless File.directory? module_dir
raise "Module directory '#{module_dir}' isn't readable" unless File.executable? module_dir
@module_dir = module_dir
end
|
Instance Method Details
50
51
52
|
# File 'lib/puppet_library/forge/directory.rb', line 50
def get_all_metadata
get_metadata
end
|
41
42
43
44
45
46
47
48
|
# File 'lib/puppet_library/forge/directory.rb', line 41
def get_metadata(author = "*", module_name = "")
Dir["#{@module_dir}/#{author}-#{module_name}*"].map do |module_path|
tar = Gem::Package::TarReader.new(Zlib::GzipReader.open(module_path))
tar.rewind
metadata_file = tar.find {|e| e.full_name =~ /[^\/]+\/metadata\.json/}
JSON.parse(metadata_file.read)
end
end
|
#get_module(author, name, version) ⇒ Object
31
32
33
34
35
36
37
38
39
|
# File 'lib/puppet_library/forge/directory.rb', line 31
def get_module(author, name, version)
file_name = "#{author}-#{name}-#{version}.tar.gz"
path = File.join(File.expand_path(@module_dir), file_name)
if File.exist? path
File.open(path, 'r')
else
nil
end
end
|