Class: Niman::PackageResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/niman/package_resolver.rb

Instance Method Summary collapse

Constructor Details

#initialize(instructions) ⇒ PackageResolver

Returns a new instance of PackageResolver.



4
5
6
# File 'lib/niman/package_resolver.rb', line 4

def initialize(instructions)
  @instructions = instructions
end

Instance Method Details

#by_name(name) ⇒ Object



24
25
26
# File 'lib/niman/package_resolver.rb', line 24

def by_name(name)
  Kernel.const_get(name)
end

#load(filename) ⇒ Object



18
19
20
21
22
# File 'lib/niman/package_resolver.rb', line 18

def load(filename)
  basename = File.basename(filename ,File.extname(filename))
  require File.expand_path(File.join('packages/', basename))
  titleize(basename)
end

#resolveObject



8
9
10
11
12
13
14
15
16
# File 'lib/niman/package_resolver.rb', line 8

def resolve
  Array(@instructions).map do |instruction|
    if is_file?(instruction) && !instruction.path.empty?
      self.by_name(self.load(instruction.path))
    else
      instruction
    end
  end
end