Class: Mendel::Visualizers::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/mendel/visualizers/base.rb

Direct Known Subclasses

ASCII

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(combiner) ⇒ Base

Returns a new instance of Base.



11
12
13
14
15
16
17
18
# File 'lib/mendel/visualizers/base.rb', line 11

def initialize(combiner)
  self.combiner = combiner
  combiner.add_observer(self)
  lists = combiner.lists
  check_list_validity(lists)
  self.list1, self.list2 = lists
  self.grid = Array.new(list1.size) { Array.new(list2.size, [:unscored]) }
end

Instance Attribute Details

#combinerObject

Returns the value of attribute combiner.



4
5
6
# File 'lib/mendel/visualizers/base.rb', line 4

def combiner
  @combiner
end

#gridObject

Returns the value of attribute grid.



5
6
7
# File 'lib/mendel/visualizers/base.rb', line 5

def grid
  @grid
end

#list1Object

Returns the value of attribute list1.



4
5
6
# File 'lib/mendel/visualizers/base.rb', line 4

def list1
  @list1
end

#list2Object

Returns the value of attribute list2.



4
5
6
# File 'lib/mendel/visualizers/base.rb', line 4

def list2
  @list2
end

Class Method Details

.max_list_lengthObject



7
8
9
# File 'lib/mendel/visualizers/base.rb', line 7

def self.max_list_length
  10 # To be decided
end

Instance Method Details

#update(status, combo) ⇒ Object



20
21
22
23
24
# File 'lib/mendel/visualizers/base.rb', line 20

def update(status, combo)
  y, x  = combo.fetch('coordinates')
  score = combo.fetch('score')
  grid[y][x] = [status, score]
end