Class: Homedir::Repository

Inherits:
Object
  • Object
show all
Defined in:
lib/homedir/repository.rb

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (Repository) initialize(directory, options = {})

A new instance of Repository



7
8
9
10
11
12
13
14
# File 'lib/homedir/repository.rb', line 7

def initialize(directory, options={})
  options = {
    :package_loader => Homedir::Package,
  }.merge(options)
  @directory = Pathname.new(directory)
  @name = @directory.basename.to_s
  @package_loader = options[:package_loader]
end

Instance Attribute Details

- (Object) directory (readonly)

Returns the value of attribute directory



5
6
7
# File 'lib/homedir/repository.rb', line 5

def directory
  @directory
end

- (Object) name (readonly)

Returns the value of attribute name



5
6
7
# File 'lib/homedir/repository.rb', line 5

def name
  @name
end

- (Object) package_loader (readonly)

Returns the value of attribute package_loader



5
6
7
# File 'lib/homedir/repository.rb', line 5

def package_loader
  @package_loader
end

- (Object) packages (readonly)

Returns the value of attribute packages



5
6
7
# File 'lib/homedir/repository.rb', line 5

def packages
  @packages
end

Instance Method Details

- (Object) scan



16
17
18
19
20
21
22
23
24
25
# File 'lib/homedir/repository.rb', line 16

def scan
  packages = []
  directory.each_entry do |entry|
    next if entry.to_s.start_with? '.'
    path = directory + entry
    packages << package_loader.load_directory(path)
  end
  @packages = packages.freeze
  return @packages
end