Module: CukeModeler::Nested
- Included in:
- Model
- Defined in:
- lib/cuke_modeler/nested.rb
Overview
NOT A PART OF THE PUBLIC API A mix-in module containing methods used by models that are nested inside of other models.
Instance Attribute Summary collapse
-
#parent_model ⇒ Object
The parent model that contains this model.
Instance Method Summary collapse
-
#get_ancestor(ancestor_type) ⇒ Object
Returns the ancestor model of this model that matches the given type.
Instance Attribute Details
#parent_model ⇒ Object
The parent model that contains this model
10 11 12 |
# File 'lib/cuke_modeler/nested.rb', line 10 def parent_model @parent_model end |
Instance Method Details
#get_ancestor(ancestor_type) ⇒ Object
Returns the ancestor model of this model that matches the given type.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/cuke_modeler/nested.rb', line 14 def get_ancestor(ancestor_type) target_type = {:directory => [Directory], :feature_file => [FeatureFile], :feature => [Feature], :test => [Scenario, Outline, Background], :background => [Background], :scenario => [Scenario], :outline => [Outline], :step => [Step], :table => [Table], :example => [Example], :row => [Row] }[ancestor_type] raise(ArgumentError, "Unknown ancestor type '#{ancestor_type}'.") if target_type.nil? ancestor = self.parent_model until target_type.include?(ancestor.class) || ancestor.nil? ancestor = ancestor.parent_model end ancestor end |