Class: Mack::BootLoader::Loader

Inherits:
Object
  • Object
show all
Defined in:
lib/mack/initialization/boot_loader.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, *dependencies, &block) ⇒ Loader

Returns a new instance of Loader.



47
48
49
50
51
52
# File 'lib/mack/initialization/boot_loader.rb', line 47

def initialize(name, *dependencies, &block)
  self.name = name.to_sym
  self.dependencies = dependencies
  self.sequence = block
  @run = false
end

Instance Attribute Details

#dependenciesObject

Returns the value of attribute dependencies.



44
45
46
# File 'lib/mack/initialization/boot_loader.rb', line 44

def dependencies
  @dependencies
end

#nameObject

Returns the value of attribute name.



43
44
45
# File 'lib/mack/initialization/boot_loader.rb', line 43

def name
  @name
end

#sequenceObject

Returns the value of attribute sequence.



45
46
47
# File 'lib/mack/initialization/boot_loader.rb', line 45

def sequence
  @sequence
end

Instance Method Details

#runObject



54
55
56
57
58
59
60
61
# File 'lib/mack/initialization/boot_loader.rb', line 54

def run
  return if @run
  self.dependencies.each do |dep|
    Mack::BootLoader.run(dep)
  end
  self.sequence.call
  @run = true
end

#run!Object



63
64
65
66
67
68
# File 'lib/mack/initialization/boot_loader.rb', line 63

def run!
  self.dependencies.each do |dep|
    Mack::BootLoader.run!(dep)
  end
  self.sequence.call
end