Sha256: afab6746d8920d40a69ed58f9d2e24b26b69a117f859bd67742e38ffcad27d0c

Contents?: true

Size: 822 Bytes

Versions: 3

Compression:

Stored size: 822 Bytes

Contents

# Polisher Yum Operations
#
# Licensed under the MIT license
# Copyright (C) 2013-2014 Red Hat, Inc.

require 'awesome_spawn'

module Polisher
  class Yum
    YUM_CMD = '/usr/bin/yum'

    # Retrieve version of gem available in yum
    #
    # @param [String] name name of gem to loopup
    # @param [Callable] bl optional callback to invoke with version retrieved
    # @returns [String] version of gem in yum or nil if not found
    def self.version_for(name, &bl)
      version = nil
      result  = AwesomeSpawn.run "#{YUM_CMD} info rubygem-#{name}"
      out = result.output

      if out.include?("Version")
        version = out.lines.to_a.find { |l| l =~ /^Version.*/ }
        version = version.split(':').last.strip
      end
      bl.call(:yum, name, [version]) unless(bl.nil?) 
      version
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
polisher-0.9.1 lib/polisher/yum.rb
polisher-0.8.1 lib/polisher/yum.rb
polisher-0.7.1 lib/polisher/yum.rb