# File lib/ferret/index.rb, line 517 517: def delete(arg) 518: @dir.synchronize do 519: if arg.is_a?(String) or arg.is_a?(Symbol) 520: ensure_writer_open() 521: @writer.delete(@id_field, arg.to_s) 522: elsif arg.is_a?(Integer) 523: ensure_reader_open() 524: cnt = @reader.delete(arg) 525: elsif arg.is_a?(Hash) or arg.is_a?(Array) 526: batch_delete(arg) 527: else 528: raise ArgumentError, "Cannot delete for arg of type #{arg.class}" 529: end 530: flush() if @auto_flush 531: end 532: return self 533: end