Class: DataList

Inherits:
Object
  • Object
show all
Defined in:
lib/source/repositories/containers/data_list.rb

Direct Known Subclasses

DataListStudentShort

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(objects) ⇒ DataList

Returns a new instance of DataList.



10
11
12
13
# File 'lib/source/repositories/containers/data_list.rb', line 10

def initialize(objects)
  self.objects_list = objects
  @observers = []
end

Instance Attribute Details

#objects_list=(value) ⇒ Object

Sets the attribute objects_list

Parameters:

  • value

    the value to set the attribute objects_list to.



8
9
10
# File 'lib/source/repositories/containers/data_list.rb', line 8

def objects_list=(value)
  @objects_list = value
end

Instance Method Details

#add_observer(observer) ⇒ Object



15
16
17
# File 'lib/source/repositories/containers/data_list.rb', line 15

def add_observer(observer)
  @observers.append(observer)
end

#get_dataObject

шаблон



36
37
38
39
40
41
42
43
44
45
# File 'lib/source/repositories/containers/data_list.rb', line 36

def get_data
  index_id=0
  dt = objects_list.inject([]) do |res, object|
    row=[index_id]
    row.append(*table_fields(object))
    index_id+=1
    res<<row
  end
  DataTable.new(dt)
end

#notifyObject



22
23
24
# File 'lib/source/repositories/containers/data_list.rb', line 22

def notify
  @observers.each { |observer| observer.on_datalist_changed(get_data) }
end

#remove_observer(observer) ⇒ Object



19
20
21
# File 'lib/source/repositories/containers/data_list.rb', line 19

def remove_observer(observer)
  @observers.delete(observer)
end

#replace_objects(objects) ⇒ Object



48
49
50
51
# File 'lib/source/repositories/containers/data_list.rb', line 48

def replace_objects(objects)
  self.objects_list = objects.dup
  notify
end

#select_elem(number) ⇒ Object

добавить айди в выборку



27
28
29
# File 'lib/source/repositories/containers/data_list.rb', line 27

def select_elem(number)
  self.selected_object = number
end

#selected_idObject



31
32
33
# File 'lib/source/repositories/containers/data_list.rb', line 31

def selected_id
  objects_list[selected_object].id
end