Sha256: dce386ee4b380812e94d46da603a2cdc25a6d9fb20ec6e475cf83edc84fbe1cc

Contents?: true

Size: 697 Bytes

Versions: 8

Compression:

Stored size: 697 Bytes

Contents

class Repository < ActiveRecord::Base
  belongs_to :user
  attr_accessible :name, :path, :public

  validates :path, presence: true, 
    uniqueness: { case_sensitive: false },
    format: { with: /\A[\-\/\w\.]+\.git\z/, message: "Invalid characters in path" }
  validate :check_path_not_exists, on: :create
  
  def create_git_repository
    Grit::Repo.init_bare git_repository_path
  end

  def destroy_git_repository
    FileUtils.rm_rf git_repository_path
  end

  def git_repository_path
    File.join(GitWit.repositories_path, path)
  end

  def check_path_not_exists
    if File.exists? git_repository_path
      errors.add :path, :taken unless errors.keys.include? :path
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
git_wit-0.0.6 test/dummy/app/models/repository.rb
git_wit-0.0.6.pre test/dummy/app/models/repository.rb
git_wit-0.0.5 test/dummy/app/models/repository.rb
git_wit-0.0.4.pre2 test/dummy/app/models/repository.rb
git_wit-0.0.4.pre test/dummy/app/models/repository.rb
git_wit-0.0.3 test/dummy/app/models/repository.rb
git_wit-0.0.2 test/dummy/app/models/repository.rb
git_wit-0.0.1 test/dummy/app/models/repository.rb