Sha256: 5d99a02556039cc01c1f1277c48777e244c83b81d7aede6d46832a99a094ded1
Contents?: true
Size: 1021 Bytes
Versions: 1
Compression:
Stored size: 1021 Bytes
Contents
module Repomen # The Retriever retrieved repos and discards at will. # # url = "git@bitbucket.org:atlassian_tutorial/helloworld.git" # Retriever.new(url) # # When called with a block, the repo is automatically deleted afterwards # # Retriever.new(url) do |local_path| # # repo is cloned in +local_path+ # end # # repo is gone # class Retriever include WithDefaultConfig attr_reader :url, :path def initialize(url, config = default_config, &block) service = Repo::Service.for(url) @handler = service.handler_class.new(url, repo_dir(service), config) @handler.retrieve @path = @handler.path if block block.call(@path) discard_repo end end # Removes the repo from the filesystem def discard_repo @handler.discard end private def repo_dir(service) parts = [ service.name, service.user_name, service.repo_name ].map(&:to_s) File.join(*parts) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
repomen-0.1.0 | lib/repomen/retriever.rb |