Class: Node

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

Constant Summary collapse

@@auto_increment =
0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Node

Returns a new instance of Node.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/honey_mushroom/node.rb', line 7

def initialize(args={})
  @value  = args.fetch(:value,  nil)
  @edges  = args.fetch(:edges,  nil) if args.include?(:edges )
  @next   = args.fetch(:next,   nil) if args.include?(:next  )
  @last   = args.fetch(:last,   nil) if args.include?(:last  )
  @left   = args.fetch(:left,   nil) if args.include?(:left  )
  @right  = args.fetch(:right,  nil) if args.include?(:right )
  @value2 = args.fetch(:value2, nil) if args.include?(:value2)
  @value3 = args.fetch(:value3, nil) if args.include?(:value3)
  @value4 = args.fetch(:value4, nil) if args.include?(:value4)

  @id     = args.fetch(:id, @@auto_increment)

  @@auto_increment += 1
end

Instance Attribute Details

#edgesObject

Returns the value of attribute edges.



4
5
6
# File 'lib/honey_mushroom/node.rb', line 4

def edges
  @edges
end

#idObject (readonly)

Returns the value of attribute id.



3
4
5
# File 'lib/honey_mushroom/node.rb', line 3

def id
  @id
end

#lastObject

Returns the value of attribute last.



4
5
6
# File 'lib/honey_mushroom/node.rb', line 4

def last
  @last
end

#leftObject

Returns the value of attribute left.



4
5
6
# File 'lib/honey_mushroom/node.rb', line 4

def left
  @left
end

#nextObject

Returns the value of attribute next.



4
5
6
# File 'lib/honey_mushroom/node.rb', line 4

def next
  @next
end

#rightObject

Returns the value of attribute right.



4
5
6
# File 'lib/honey_mushroom/node.rb', line 4

def right
  @right
end

#valueObject

Returns the value of attribute value.



4
5
6
# File 'lib/honey_mushroom/node.rb', line 4

def value
  @value
end

#value2Object

Returns the value of attribute value2.



4
5
6
# File 'lib/honey_mushroom/node.rb', line 4

def value2
  @value2
end

#value3Object

Returns the value of attribute value3.



4
5
6
# File 'lib/honey_mushroom/node.rb', line 4

def value3
  @value3
end

#value4Object

Returns the value of attribute value4.



4
5
6
# File 'lib/honey_mushroom/node.rb', line 4

def value4
  @value4
end