--- /dev/null
+module Manifest
+ module ModelModule
+ class Tree
+ attr :model, :tree_name, :parent_model_name
+ def initialize model, tree_name, parent_model_name
+ @model = model
+ @tree_name = tree_name
+ @parent_model_name = parent_model_name
+ self.set_default
+ self.init
+ end
+
+ def set_default
+ end
+
+ def init
+ end
+
+ def parent_model_manifest
+ r = ::Manifest.manifest.models[@parent_model_name]
+ raise "undefined parent model for models > #{@model.model_name} > tree > #{tree_name}\n" unless r
+ r
+ end
+
+ def parent_tree_manifest
+ self.parent_model_manifest[@tree_name]
+ end
+
+ def include_hash
+ if self.parent_tree_manifest
+ {@parent_model_name => self.parent_tree_manifest.include_hash}
+ else
+ {}
+ end
+ end
+
+ def model_manifest
+ @model.model_manifest
+ end
+
+ end
+
+ end
+end