class Zenlish::Feature::FeatureStructDef
Attributes
parent[R]
struct[R]
Public Class Methods
new(aParent = nil)
click to toggle source
@param aParent [FeatureStructDef]
Calls superclass method
# File lib/zenlish/feature/feature_struct_def.rb, line 12 def initialize(aParent = nil) super() @parent = validated_parent(aParent) @struct = {} end
Public Instance Methods
[](aFeatureName)
click to toggle source
@param aFeatureName [String]
# File lib/zenlish/feature/feature_struct_def.rb, line 19 def [](aFeatureName) return struct[aFeatureName] if struct.include? aFeatureName if parent p_struct = parent.struct return p_struct[aFeatureName] if p_struct.include? aFeatureName end raise StandardError, "Unknown feature name #{aFeatureName}" end
add_feature_def(aFeatureDef)
click to toggle source
@param aFeatureDef [Zenlish::Feature::FeatureDef]
# File lib/zenlish/feature/feature_struct_def.rb, line 31 def add_feature_def(aFeatureDef) struct[aFeatureDef.name] = aFeatureDef end
Private Instance Methods
validated_parent(aParent)
click to toggle source
# File lib/zenlish/feature/feature_struct_def.rb, line 37 def validated_parent(aParent) if aParent.kind_of?(FeatureStructDef) aParent elsif aParent aParent.struct else nil end end