Sha256: 03c65dfb3cd2ae2132a4de590c80a3985ef16d491cdc0cc2e6058346a744e982
Contents?: true
Size: 1.27 KB
Versions: 3
Compression:
Stored size: 1.27 KB
Contents
module ShnaiderCode module DataListObserver def notify(data) raise 'not implemented' end end module DataListNotifier attr_accessor :data_list_observers def notify raise 'not implemented' end end class DataList attr_accessor :list attr_private_accessor :selected_objects def initialize(list:) self.data_list_observers = [] self.list = list end def select(index) selected_objects << index end def get_selected_objects (0...list.size) .filter { |x| selected_objects.include? x } end def get_names raise "Метод не реализован" end def get_data raise "Метод не реализован" end end class DataList include DataListNotifier def notify data_list_observers.each { |observer| observer.notify(self.get_data) } end def add_observer(observer) self.data_list_observers << observer end def remove_observer(observer) self.data_list_observers.delete(observer) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
shnaider_code-2.0.4 | lib/source/data_list.rb |
shnaider_code-2.0.3 | lib/source/data_list.rb |
shnaider_code-2.0.2 | lib/source/data_list.rb |