Hi,
I have some code that uploads a file, then does a git add and git commit using the 'Grit' gem. Trouble is this code sometimes commits a file, and sometimes doesn't.

It usually works when a file has already been committed and is then modified, but doesn't add then commit files that have never been added to the repo before.

Note files are always uploaded to the correct directory, even if not tracked and committed in GIT.

Code from model:

#Using active model
class Upload
require 'grit'
include Grit
include ActiveModel::Validations
  include ActiveModel::Conversion
  extend ActiveModel::Naming

  attr_accessor :message, :upload
#attr_accessible :message, :upload, :repo
#validates the presence of something in the message field
validates :message, :presence => true, :length => { :maximum =>50}
validates :upload, :presence => true
#Creates hash for storing the info about the uploaded file for validation
def initialize(attributes = {})
    attributes.each do |name, value|
      send("#{name}=", value)
    end
  end
  #takes the upload object and extracts the file.
def filesave
#Calls the .original_filename method on the upload object and stores in the variable name
   name = upload.original_filename
    directory = "/home/resource_portal/website/public/data/upload"
    # create the file path
    path = File.join(directory, name)
    # write the file
    File.open(path, "wb") { |f| f.write(upload.read) }
# commit the file to the git repo
committer = @user
repo = Grit::Repo.new("/home/resource_portal/website/public/data/upload")
repo.add(upload)
    repo.commit_all(message)
  end
end


--
You received this message because you are subscribed to the Google Groups "Ruby on 
Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to