class Schienenzeppelin::Dependencies
Public Class Methods
new(addon, context)
click to toggle source
# File lib/schienenzeppelin/dependencies.rb, line 5 def initialize(addon, context) @addon = addon @context = context @options = context.options end
Public Instance Methods
satisfied?()
click to toggle source
# File lib/schienenzeppelin/dependencies.rb, line 11 def satisfied? @addon.dependencies.each do |dependency| return false unless dependencies_satisfied?(dependency) end true end
Private Instance Methods
dependencies_satisfied?(addon, visited = [])
click to toggle source
# File lib/schienenzeppelin/dependencies.rb, line 21 def dependencies_satisfied?(addon, visited = []) return false if @options["skip_#{addon}".to_sym] return true if @context.default_addons.include?(addon) visited << addon dependencies = AddOn.get(addon).dependencies - visited dependencies.each do |dependency| return false unless dependencies_satisfied?(dependency, visited) end end