I znów problem - pliki

Tutaj macie kod:

#Definiujemy klasę:
class Lost

  #dołączamy gem:
  require 'rubygems'
  require 'highline/import'

  #potrzebujemy akcesora zwracającego wskaźnik do pliku:
  attr_reader :fp

  #Konstruktor otwiera plik:
  def initialize(file)
    @fp = File.open(file)
  end

  #Metoda do dodawania rekordów:
  def add_record

    #Pobieramy informacje:
    name = ask('Imię? ') { |q| q.validate = /\A[a-z .'-]+\Z/i }
    id = ask('ID? ', Integer) { |q| q.above = 0}

    #Zapisujemy dane do pliku:
    @fp.puts "#{id},#{name}"
  end

  #Metoda zamykania pliku
  def close
    @fp.close
  end

end #Koniec klasy Lost

#Tworzymy obiekt:
lost = Lost.new('dane.txt')

#Dodajemy dwa kolene rekordy:
2.times { lost.add_record }

#Zamykamy plik

a tutaj błąd:

ruby -w lost.rb

Imię? Dominik
ID? 231
lost.rb:26:in `write': not opened for writing (IOError)
	from lost.rb:26:in `puts'
	from lost.rb:26:in `add_record'
	from lost.rb:40:in `block in <main>'
	from lost.rb:40:in `times'
	from lost.rb:40:in `<main>'

Pytanie przy okazji: czy takie kody warte są wrzucania na Github? dodam że jeszcze nic nie wrzuciłem bo nawet nie umiem :smiley:

Imo wystarczy zmienić @fp = File.open(file) na @fp = File.open(file, 'w')