Class: DataList

Inherits:
Object
  • Object
show all
Includes:
DataListNotifier
Defined in:
lib/model_gem_source/data_list.rb,
lib/model_gem_source/data_list.rb

Direct Known Subclasses

DataListStudentShort

Instance Attribute Summary collapse

Attributes included from DataListNotifier

#data_list_observers

Instance Method Summary collapse

Constructor Details

#initialize(list:) ⇒ DataList

Returns a new instance of DataList.



18
19
20
21
# File 'lib/model_gem_source/data_list.rb', line 18

def initialize(list:)
    self.data_list_observers = []
    self.list = list
end

Instance Attribute Details

#listObject

Returns the value of attribute list.



16
17
18
# File 'lib/model_gem_source/data_list.rb', line 16

def list
  @list
end

Instance Method Details

#add_observer(observer) ⇒ Object



50
51
52
# File 'lib/model_gem_source/data_list.rb', line 50

def add_observer(observer)
    self.data_list_observers << observer
end

#get_dataObject



36
37
38
# File 'lib/model_gem_source/data_list.rb', line 36

def get_data
    raise "Метод не реализован"
end

#get_namesObject



32
33
34
# File 'lib/model_gem_source/data_list.rb', line 32

def get_names
    raise "Метод не реализован"
end

#get_selected_objectsObject



27
28
29
30
# File 'lib/model_gem_source/data_list.rb', line 27

def get_selected_objects
    (0...list.size)
        .filter { |x| selected_objects.include? x }
end

#notifyObject



44
45
46
47
48
# File 'lib/model_gem_source/data_list.rb', line 44

def notify
    data_list_observers.each { |observer|
        observer.notify(self.get_data)
    }
end

#remove_observer(observer) ⇒ Object



54
55
56
# File 'lib/model_gem_source/data_list.rb', line 54

def remove_observer(observer)
    self.data_list_observers.delete(observer) 
end

#select(index) ⇒ Object



23
24
25
# File 'lib/model_gem_source/data_list.rb', line 23

def select(index)
    selected_objects << index
end