lib/spaarti/repo.rb in spaarti-2.0.2 vs lib/spaarti/repo.rb in spaarti-3.0.0
- old
+ new
@@ -6,11 +6,11 @@
class Repo
def initialize(data, client, params = {})
@data = data
@client = client
@options = params
- @path = @options[:format] % @data
+ @path = resolve_path(@options[:formats], @data) % @data
end
def sync!
clone
Dir.chdir(@path) do
@@ -23,9 +23,18 @@
def parent_of(repo)
repo.relative_path_from(Pathname.new(@path)).each_filename.first != '..'
end
private
+
+ def resolve_path(formats, data)
+ formats.each do |format|
+ return format[:path] if format[:match].nil?
+ next unless data[:full_name].include? format[:match]
+ return format[:path]
+ end
+ raise 'No valid path format found'
+ end
def log(msg)
puts msg unless @options[:quiet]
end