# File lib/ferret/index.rb, line 437 437: def delete(arg) 438: @dir.synchrolock do 439: ensure_writer_open() 440: if arg.is_a?(String) or arg.is_a?(Symbol) 441: ensure_writer_open() 442: @writer.delete(@id_field, arg.to_s) 443: elsif arg.is_a?(Integer) 444: ensure_reader_open() 445: cnt = @reader.delete(arg) 446: else 447: raise ArgumentError, "Cannot delete for arg of type #{arg.class}" 448: end 449: flush() if @auto_flush 450: end 451: return self 452: end