Class: DataList

Inherits:
Object
  • Object
show all
Defined in:
lib/source/data/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.



6
7
8
9
10
# File 'lib/source/data/data_list.rb', line 6

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

Instance Attribute Details

#list=(value) ⇒ Object

private_class_method :new



5
6
7
# File 'lib/source/data/data_list.rb', line 5

def list=(value)
  @list = value
end

Instance Method Details

#add_observer(observer) ⇒ Object



12
13
14
# File 'lib/source/data/data_list.rb', line 12

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

#get_dataObject



48
49
50
51
52
53
54
55
56
57
# File 'lib/source/data/data_list.rb', line 48

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

#notifyObject



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

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

#remove_observer(observer) ⇒ Object



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

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

#replace_objects(objects) ⇒ Object



59
60
61
62
# File 'lib/source/data/data_list.rb', line 59

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

#select_elem(number) ⇒ Object

def select(number) #raise ArgumentError, "arg 'number' not Integer" if number.class != Integer sel_objects.append(number) end



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

def select_elem(number)
  self.sel_object = number
end

#selected_idObject

def get_selected return [] if sel_objects.empty? list_id=[] sel_objects.each do |i| list_id.append(list.id) end list_id end



44
45
46
# File 'lib/source/data/data_list.rb', line 44

def selected_id
  list[sel_object].id
end