Sha256: 638fd8ab1a2cfeab6be6bcaaee3f824dacfed2f5a72f4646449cd1f0a6c701ee

Contents?: true

Size: 685 Bytes

Versions: 1

Compression:

Stored size: 685 Bytes

Contents

require 'kvm/resource'
require 'kvm/subversion'
require 'kvm/log'

module KVM
  class Source < DirResource
    BASE_DIR=File.expand_path('src', KVM_DIR)
    
    def initialize(repo, svn_path="trunk")
      @repo = repo
      @svn_path = svn_path
      super(Subversion.checkout_path(BASE_DIR, @repo, @svn_path))
    end

    def generate!
      checkout
    end
    
    def checkout
      LOG.info "Checking out #{@repo}..."
      Subversion.checkout(BASE_DIR, @repo, @svn_path)
    end
    
    def update
      get
      Subversion.update(BASE_DIR, @repo, @svn_path)
    end

    def self.from_file(f)
      Source.new(*Subversion.parse_dirname(File.basename(f)))
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kvm-0.0.1.pre lib/kvm/source.rb