Class: ARake::Misc::Tree

Inherits:
Object
  • Object
show all
Defined in:
lib/arake.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value = nil, subtrees = []) ⇒ Tree

Returns a new instance of Tree.



130
131
132
133
# File 'lib/arake.rb', line 130

def initialize(value = nil, subtrees = [])
  @value = value
  @subtrees = subtrees
end

Instance Attribute Details

#subtreesObject

Returns the value of attribute subtrees.



128
129
130
# File 'lib/arake.rb', line 128

def subtrees
  @subtrees
end

#valueObject

Returns the value of attribute value.



127
128
129
# File 'lib/arake.rb', line 127

def value
  @value
end

Instance Method Details

#leaf?Boolean

Returns:

  • (Boolean)


135
136
137
# File 'lib/arake.rb', line 135

def leaf?
  subtrees.empty?
end

#leavesObject



139
140
141
142
143
144
145
# File 'lib/arake.rb', line 139

def leaves
  if leaf?
    [value]
  else
    subtrees.map{|s| s.leaves}.inject :+
  end
end