Module: Pione::Util::PackageID

Defined in:
lib/pione/util/id.rb

Class Method Summary collapse

Class Method Details

.generate(env, package_name) ⇒ Object

Generate package id from the package name in the environment.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/pione/util/id.rb', line 25

def generate(env, package_name)
  begin
    env.package_get(Lang::PackageExpr.new(name: package_name, package_id: package_name))
    i = 0
    loop do
      i += 1
      name = "%s-%s" % [package_name, i]
      unless env.package_ids.include?(name)
        env.package_ids << name
        return name
      end
    end
  rescue Lang::UnboundError
    return package_name
  end
end