module CucumberAnalytics::Nested
A mix-in module containing methods used by elements that are nested inside of other elements.
Attributes
parent_element[RW]
The parent object that contains self
Public Instance Methods
get_ancestor(ancestor_type)
click to toggle source
Returns the ancestor of self that matches the given type.
# File lib/cucumber_analytics/nested.rb, line 13 def get_ancestor(ancestor_type) ancestor = self.parent_element target_type = {:directory => Directory, :feature_file => FeatureFile, :feature => Feature, :test => TestElement, :step => Step, :table => Table, :example => Example }[ancestor_type] raise(ArgumentError, "Unknown ancestor type '#{ancestor_type}'.") if target_type.nil? until ancestor.is_a?(target_type) || ancestor.nil? ancestor = ancestor.parent_element end ancestor end