class Litbuild::Section
Public Class Methods
directory_name()
click to toggle source
# File lib/litbuild/section.rb, line 9 def self.directory_name 'sections' end
Public Instance Methods
accept(visitor:)
click to toggle source
Calls superclass method
Litbuild::Blueprint#accept
# File lib/litbuild/section.rb, line 13 def accept(visitor:) super visitor.in_subdirectory(name) do components.each do |bp| bp.accept(visitor: visitor) end end visitor.visit_section(section: self) return unless visitor.is_a?(MultiPartVisitor) self['other-parts']&.each do |part| part_bp = @bp_library.blueprint_for(target: part) visitor.visit_part(part_bp) end self['appendices']&.each do |app| app_bp = @bp_library.blueprint_for(target: app) visitor.visit_appendix(app_bp) end end
automatic_inclusions()
click to toggle source
# File lib/litbuild/section.rb, line 49 def automatic_inclusions auto_adds = [] @bp_library.blueprints.each_value do |bp| if bp.phases.include?(name) auto_adds << "#{bp.name}::#{name}" elsif bp['in-section']&.include?(name) auto_adds << bp.name end end if $DEBUG warn("Automatically-added blueprints for section #{name}:" \ " #{auto_adds.sort.join(', ')}") end auto_adds.sort end
components()
click to toggle source
# File lib/litbuild/section.rb, line 33 def components return @components if @components blueprints = self['blueprints'].clone || [] if $DEBUG warn("Explicit blueprints for section #{name}:" \ " #{blueprints.join(', ')}") end blueprints << automatic_inclusions deduped = blueprints.flatten.uniq @components = deduped.map do |bp| @bp_library.blueprint_for(target: bp) end @components end
failure_line()
click to toggle source
# File lib/litbuild/section.rb, line 69 def failure_line 'DISMAL FAILURE' end
success_line()
click to toggle source
# File lib/litbuild/section.rb, line 65 def success_line 'HUGE SUCCESS' end