class OrmDev::Command::Update

Public Class Methods

new(argv) click to toggle source
Calls superclass method
# File lib/ormdev/command/update.rb, line 24
def initialize(argv)
  @podspec_file = argv.shift_argument
  @podspec_files = Pathname.pwd.children.select { |pn| pn.extname == '.podspec' }
  @repo_update = argv.flag?('repo-update')
  super
end
options() click to toggle source
Calls superclass method
# File lib/ormdev/command/update.rb, line 18
def self.options
  [
      ['--no-repo-update', 'Skip running `pod repo update` before install'],
  ].concat(super)
end

Public Instance Methods

run() click to toggle source
Calls superclass method OrmDev::Command#run
# File lib/ormdev/command/update.rb, line 43
def run
  super
  OrmDev::LogUtil.info '[插件管理] 更新Pod依赖库'.green
  @spec = Pod::Specification.from_file(@podspec_path)
  OrmDev::SHUtil.run_command("pod cache clean #{@spec.name} --all",'清除Pod缓存',false)
  Dir.chdir('Example') do
    pod_update_command = ''
    pod_update_command << "#{@spec.name}_SOURCE=1"
    pod_update_command << ' pod update'
    pod_update_command << ' --no-repo-update' unless @repo_update
    OrmDev::SHUtil.run_command(pod_update_command,'更新Pod依赖库',false)
  end
end
validate!() click to toggle source
Calls superclass method
# File lib/ormdev/command/update.rb, line 31
def validate!
  super
  if @podspec_file
    help! "podspec file at #{@podspec_file} does not exist" unless File.exist? @podspec_file
    @podspec_path = @podspec_file
  else
    raise Pod::Informative, 'No podspec file found, please specify one' unless @podspec_files.length > 0
    raise Pod::Informative, 'Multiple podspec file found, please specify one' unless @podspec_files.length == 1
    @podspec_path = @podspec_files.first
  end
end