Class: PuppetLibrary::Forge::Directory

Inherits:
Abstract
  • Object
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.



23
24
25
26
27
28
# File 'lib/puppet_library/forge/directory.rb', line 23

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

#get_all_metadataObject



48
49
50
# File 'lib/puppet_library/forge/directory.rb', line 48

def 
    
end

#get_metadata(author = "*", module_name = "") ⇒ Object



40
41
42
43
44
45
46
# File 'lib/puppet_library/forge/directory.rb', line 40

def (author = "*", module_name = "")
    Dir["#{@module_dir}/#{author}-#{module_name}*"].map do |module_path|
        archive = PuppetLibrary::Archive::ArchiveReader.new(module_path)
         = archive.read_entry %r[[^/]+/metadata\.json$]
        JSON.parse()
    end
end

#get_module(author, name, version) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/puppet_library/forge/directory.rb', line 30

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