class Mendel::Visualizers::Base
Constants
- InvalidListCount
- ListsTooLarge
- UnknownPointType
Attributes
combiner[RW]
grid[RW]
list1[RW]
list2[RW]
Public Class Methods
max_list_length()
click to toggle source
# File lib/mendel/visualizers/base.rb, line 7 def self.max_list_length 10 # To be decided end
new(combiner)
click to toggle source
# 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
Public Instance Methods
update(status, combo)
click to toggle source
# 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
Private Instance Methods
check_list_validity(lists)
click to toggle source
# File lib/mendel/visualizers/base.rb, line 30 def check_list_validity(lists) raise InvalidListCount, "Can only graph in 2 dimensions" unless lists.length == 2 raise ListsTooLarge, "Need to fit on screen" if lists.any? {|l| l.length > self.class.max_list_length } end