Method: PEROBS::IDListPage#insert

Defined in:
lib/perobs/IDListPage.rb

#insert(id) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/perobs/IDListPage.rb', line 59

def insert(id)
  if is_full?
    raise ArgumentError, "IDListPage is already full"
  end
  index = @values.bsearch_index { |v| v >= id } || @values.length

  # If the value isn't stored already, insert it.
  if @values[index] != id
    @values.insert(index, id)
    @record.page_entries = @values.length
    @page_file.mark_page_as_modified(self)
  end
end