Sha256: 5d553807716e090cf0c92c816bba086c717308d673bb373b934ef6836d7d2279

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

module Rbbt
  VERSIONS = IndiferentHash.setup({})

  def self.add_version(file)
    dir = Path.caller_lib_dir(file)
    libname = File.basename(dir).sub('rbbt-','')
    return if VERSIONS.include? libname

    version = if dir.VERSION.exists?
      dir.VERSION.read
    elsif dir[".git"].exists?
      begin
        head = dir[".git"]["HEAD"].read.split(" ").last.strip
        dir[".git"][head].read.strip
      rescue
        nil
      end
    elsif libname.include?("-")
      name,_sep, v = libname.partition("-")
      if v =~ /^\d+\.\d+\.\d+$/
        libname = name
        v
      else
        nil
      end
    else
      nil
    end
    return if version.nil?

    VERSIONS[libname] = version
  end

  def self.versions
    versions = Rbbt::VERSIONS
    Gem.loaded_specs.keys.each do |gem|
      next unless gem.include? 'rbbt'
      iii gem
      name = gem.sub('rbbt-','')
      next if versions.include? name
      version =  Gem.loaded_specs[gem].version.version
      versions[name] = version
    end
    versions
  end

  Rbbt.add_version(__FILE__)
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rbbt-util-5.25.36 lib/rbbt/util/version.rb
rbbt-util-5.25.35 lib/rbbt/util/version.rb