lib/app_drone/template.rb~ in app_drone-0.5.2 vs lib/app_drone/template.rb~ in app_drone-0.6.0

- old
+ new

@@ -1,6 +1,7 @@ -class AppDrone::Template +module AppDrone +class Template def initialize; @drones = {}; @directives = {} end def add(ref,*params) klass = ref.is_a?(Class)? ref : ('AppDrone::' + ref.to_s.classify).constantize @drones[klass] = klass.new(self, params.first) # no idea why `.first` is required.. @@ -20,22 +21,13 @@ def do!(d,drone); generator_method = drone.class.generator_method || :leftovers (@directives[generator_method] ||= []) << d end - def check_dependencies - drone_classes.each { |drone_class| - drone_class.dependencies.each { |d| - dependency = d.to_s.classify - raise "#{drone_class} depends on #{dependency}, but it is not included in the template." unless drone_classes.include?(d) - } - } - end - def render! return if @rendered - check_dependencies + DependencyChain.check_dependencies!(drone_classes) drone_objects.map(&:align) drone_objects.map(&:execute) @rendered = true end @@ -56,7 +48,7 @@ render! File.open('out.rb','w+') do |f| f.write(render_with_wrapper) end end - +end end