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