module Polisher::Git::PkgUpdater

Public Instance Methods

gen_sources_for(gem) click to toggle source

Generate new sources file

# File lib/polisher/git/pkg/updater.rb, line 23
def gen_sources_for(gem)
  require_dep! 'awesome_spawn'
  require_cmd! md5sum_cmd
  in_repo do
    AwesomeSpawn.run "#{md5sum_cmd} #{gem.gem_path} > sources"
    File.write('sources', File.read('sources').gsub("#{GemCache::DIR}/", ''))
  end
end
ignore(gem) click to toggle source

Update git ignore to ignore gem

# File lib/polisher/git/pkg/updater.rb, line 33
def ignore(gem)
  in_repo do
    nl = File.exist?('.gitignore') ? "\n" : ''
    content = "#{nl}#{gem.name}-#{gem.version}.gem"
    File.open(".gitignore", 'a') { |f| f.write content }
  end
end
update_metadata(gem) click to toggle source
# File lib/polisher/git/pkg/updater.rb, line 9
def update_metadata(gem)
  @version = gem.version
end
update_spec_to(gem) click to toggle source

Update the local spec to the specified gem version

# File lib/polisher/git/pkg/updater.rb, line 14
def update_spec_to(gem)
  in_repo do
    spec.update_to(gem)
    File.write(spec_file, spec.to_string)
    @dirty_spec = true
  end
end
update_to(gem) click to toggle source

Update the local pkg to specified gem

@param [Polisher::Gem] gem instance of gem containing metadata to update to

# File lib/polisher/git/pkg/updater.rb, line 44
def update_to(gem)
  update_metadata gem
  update_spec_to gem
  gen_sources_for gem
  ignore gem
  self
end