Class: HackTree::Node::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/hack_tree/node/base.rb

Direct Known Subclasses

Group, Hack

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ Base



16
17
18
# File 'lib/hack_tree/node/base.rb', line 16

def initialize(attrs = {})
  attrs.each {|k, v| send("#{k}=", v)}
end

Instance Attribute Details

#brief_descObject

Brief 1-line description, if present.



5
6
7
# File 'lib/hack_tree/node/base.rb', line 5

def brief_desc
  @brief_desc
end

#full_descObject

Multi-line description, if present.



8
9
10
# File 'lib/hack_tree/node/base.rb', line 8

def full_desc
  @full_desc
end

#nameObject

Node name, Symbol.



11
12
13
# File 'lib/hack_tree/node/base.rb', line 11

def name
  @name
end

#parentObject

Parent group or nil.



14
15
16
# File 'lib/hack_tree/node/base.rb', line 14

def parent
  @parent
end

Instance Method Details

#global_nameObject

global_name # => “hello”

global_name   # => "rails.db.tables"


22
23
24
25
26
27
28
29
30
31
# File 'lib/hack_tree/node/base.rb', line 22

def global_name
  pcs = []
  cursor = self
  begin
    pcs << cursor.name
    cursor = cursor.parent
  end while cursor

  pcs.reverse.join(".")
end