Sha256: 3e266076b51ab4d923556031a7b4638a99e8ae427479bf1e2f8bd628997a385e

Contents?: true

Size: 1.31 KB

Versions: 26

Compression:

Stored size: 1.31 KB

Contents

# @@update

desc 'Update doing to the latest version'
long_desc 'Checks for the latest available version of doing and updates your local install if needed.'
command %i[update] do |c|
  c.example 'doing update', desc: 'Update to the latest version'

  c.desc 'Check for pre-release version'
  c.switch %i[p pre beta], negatable: false, default_value: false

  c.action do |global_options, options, args|
    my_version = `doing -v`.match(/doing version (?<v>[\d.]+)(?:\.?pre[,)])?/)['v']
    if options[:beta]
      latest_version = `gem search doing --pre`.match(/^doing \((?<v>[\d.]+)\.?pre[,)]/)['v']
    else
      latest_version = `gem search doing`.match(/^doing \((?<v>[\d.]+)\)/)['v']
    end
    my_version = Doing::Version.new(my_version)
    latest_version = Doing::Version.new(latest_version)

    outdated = my_version.compare(latest_version, :older)

    if outdated
      pre = options[:beta] ? '--pre' : ''
      res = `gem install doing #{pre} 2> /dev/null`
      res = `sudo gem install doing #{pre}` unless res
      ver = res.match(/doing-(?<v>[\d.]+)\n/)['v']
      if ver
        Doing.logger.info("Version #{ver} installed")
      else
        Doing.logger.error('Error installing latest version')
      end
    else
      Doing.logger.info("You have the latest version (#{my_version}) installed")
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
doing-2.1.88 bin/commands/update.rb
doing-2.1.87 bin/commands/update.rb
doing-2.1.86 bin/commands/update.rb
doing-2.1.85 bin/commands/update.rb
doing-2.1.84 bin/commands/update.rb
doing-2.1.83 bin/commands/update.rb
doing-2.1.82 bin/commands/update.rb
doing-2.1.81 bin/commands/update.rb
doing-2.1.80 bin/commands/update.rb
doing-2.1.79 bin/commands/update.rb
doing-2.1.78 bin/commands/update.rb
doing-2.1.77 bin/commands/update.rb
doing-2.1.76 bin/commands/update.rb
doing-2.1.75 bin/commands/update.rb
doing-2.1.74 bin/commands/update.rb
doing-2.1.73 bin/commands/update.rb
doing-2.1.72 bin/commands/update.rb
doing-2.1.69 bin/commands/update.rb
doing-2.1.68 bin/commands/update.rb
doing-2.1.66 bin/commands/update.rb