class Pod::Command::RepoSvn::Update
Public Class Methods
new(argv)
click to toggle source
Calls superclass method
# File lib/pod/command/repo_svn/update.rb, line 15 def initialize(argv) @name = argv.shift_argument super end
Public Instance Methods
run()
click to toggle source
# File lib/pod/command/repo_svn/update.rb, line 27 def run update(@name, true) #todo: dusty end
validate!()
click to toggle source
Calls superclass method
# File lib/pod/command/repo_svn/update.rb, line 20 def validate! super unless @name help! "Updating a spec-repo needs a `NAME`." end end
Private Instance Methods
svn_repo?(dir)
click to toggle source
Returns whether a source is a SVN repo.
@param [Pathname] dir
The directory where the source is stored.
@return [Bool] Whether the given source is a SVN repo.
# File lib/pod/command/repo_svn/update.rb, line 112 def svn_repo?(dir) Dir.chdir(dir) { `svn info > /dev/null` } $?.success? end
svn_source_named(name)
click to toggle source
@return [Source] The svn source with the given name. If no svn source
with given name is found it raises.
@param [String] name
The name of the source.
# File lib/pod/command/repo_svn/update.rb, line 83 def svn_source_named(name) specified_source = Config.instance.sources_manager.aggregate.sources.find { |s| s.name == name } unless specified_source raise Informative, "Unable to find the `#{name}` repo." end unless svn_repo?(specified_source.repo) raise Informative, "The `#{name}` repo is not a svn repo." end specified_source end
svn_sources()
click to toggle source
@return [Source] The list of the svn sources.
# File lib/pod/command/repo_svn/update.rb, line 96 def svn_sources # SourcesManager.all.select do |source| # svn_repo?(source.repo) # end Config.instance.sources_manager.all.select do |source| svn_repo?(source.repo) end end
update(source_name = nil, show_output = false)
click to toggle source
Updates the local copy of the spec-repo with the given name
@param [String] source_name name
@return [void]
# File lib/pod/command/repo_svn/update.rb, line 50 def update(source_name = nil, show_output = false) if source_name sources = [svn_source_named(source_name)] else sources = svn_sources end sources.each do |source| UI.section "Updating spec repo `#{source.name}`" do Dir.chdir(source.repo) do begin #output = svn('up --non-interactive --trust-server-cert') output = `svn up --non-interactive --trust-server-cert` UI.puts output if show_output && !config.verbose? rescue Informative => e UI.warn 'CocoaPods was not able to update the ' \ "`#{source.name}` repo. If this is an unexpected issue " \ 'and persists you can inspect it running ' \ '`pod repo-svn update --verbose`' end end # SourcesManager.check_version_information(source.repo) Config.instance.sources_manager.sources([source.repo.basename.to_s]).each(&:verify_compatibility!) #todo: TEST ME end end end