Class: Lexicon::Common::Package::DirectoryPackageLoader

Inherits:
Object
  • Object
show all
Includes:
Mixin::LoggerAware
Defined in:
lib/lexicon/common/package/directory_package_loader.rb

Instance Attribute Summary collapse

Attributes included from Mixin::LoggerAware

#logger

Instance Method Summary collapse

Methods included from Mixin::LoggerAware

#log, #log_error

Constructor Details

#initialize(root_dir, schema_validator:) ⇒ DirectoryPackageLoader

Returns a new instance of DirectoryPackageLoader.

Parameters:

  • root_dir (Pathname)
  • schema_validator (JSONSchemer::Schema::Base)


14
15
16
17
# File 'lib/lexicon/common/package/directory_package_loader.rb', line 14

def initialize(root_dir, schema_validator:)
  @root_dir = root_dir
  @schema_validator = schema_validator
end

Instance Attribute Details

#root_dirPathname (readonly)

Returns:

  • (Pathname)


10
11
12
# File 'lib/lexicon/common/package/directory_package_loader.rb', line 10

def root_dir
  @root_dir
end

Instance Method Details

#load_package(name) ⇒ Package::Package?

Parameters:

  • name (String)

Returns:



21
22
23
24
25
26
27
28
29
# File 'lib/lexicon/common/package/directory_package_loader.rb', line 21

def load_package(name)
  package_dir = root_dir.join(name.to_s)

  if package_dir.directory?
    load_from_dir(package_dir)
  else
    nil
  end
end