Module: Lono::Jade::Circular
- Included in:
- Lono::Jade
- Defined in:
- lib/lono/jade/circular.rb
Instance Method Summary collapse
Instance Method Details
#check_for_circular_dependency! ⇒ Object
3 4 5 6 7 8 9 10 |
# File 'lib/lono/jade/circular.rb', line 3 def check_for_circular_dependency! circular = circular_dependency? return unless circular puts "ERROR: jade circular dependency detected".color(:red) puts "circular dependency: #{parent_names.join(" => ")}" exit 1 end |
#circular_dependency? ⇒ Boolean
12 13 14 |
# File 'lib/lono/jade/circular.rb', line 12 def circular_dependency? parent_names.uniq.size != parent_names.size end |
#parent_names ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/lono/jade/circular.rb', line 16 def parent_names names = [self.name] # include initial jade name to detect circular dependency earlier parent = registry.parent while parent names << parent.name parent = parent.registry.parent end names end |