# File lib/file-storage.rb, line 28
  def save project
    dirty = false
    dirty = project.each_modelobject { |o| break true if o.changed? }
    if dirty
      Ditz::debug "project is dirty, saving #{@project_fn}"
      project.save! @project_fn
    end

    changed_issues = project.issues.select { |i| i.changed? }
    changed_issues.each do |i|
      fn = filename_for_issue i
      Ditz::debug "issue #{i.name} is dirty, saving #{fn}"
      i.save! fn
    end

    project.deleted_issues.each do |i|
      fn = filename_for_issue i
      Ditz::debug "issue #{i.name} has been deleted, deleting #{fn}"
      FileUtils.rm fn
    end
  end