class Taketo::Constructs::BaseConstruct
Attributes
default_server_config[W]
name[R]
parent[RW]
Public Class Methods
new(name)
click to toggle source
Calls superclass method
# File lib/taketo/constructs/base_construct.rb, line 14 def initialize(name) super @name = name @default_server_config = proc {} @parent = NullConstruct end
Public Instance Methods
default_server_config()
click to toggle source
# File lib/taketo/constructs/base_construct.rb, line 46 def default_server_config parent_default_server_config = parent.default_server_config own_default_server_config = @default_server_config proc { instance_eval(&parent_default_server_config); instance_eval(&own_default_server_config)} end
node_type()
click to toggle source
# File lib/taketo/constructs/base_construct.rb, line 21 def node_type demodulized = self.class.name.gsub(/.*::/, '') demodulized.gsub(/([a-z])([A-Z])/, '\\1_\\2').downcase.to_sym end
parent=(parent)
click to toggle source
Override in subclasses if needed
# File lib/taketo/constructs/base_construct.rb, line 28 def parent=(parent) @parent = parent end
parents()
click to toggle source
# File lib/taketo/constructs/base_construct.rb, line 32 def parents result = [] p = parent while p != NullConstruct result << p p = p.parent end result end
path()
click to toggle source
# File lib/taketo/constructs/base_construct.rb, line 42 def path parents.reverse_each.map(&:name).concat([self.name]).reject(&:nil?).join(":") end
qualified_name()
click to toggle source
# File lib/taketo/constructs/base_construct.rb, line 52 def qualified_name "#{node_type} #{self.name}" end