Sha256: 564d6fcb6e495d09be8e92d40ddd22b5702a1730e5492fbbe1b76106549ec82f

Contents?: true

Size: 1005 Bytes

Versions: 4

Compression:

Stored size: 1005 Bytes

Contents

module Puppet::Module::Tool

  class Dependency

    # Instantiates a new module dependency with a +full_name+ (e.g.
    # "myuser-mymodule"), and optional +version_requirement+ (e.g. "0.0.1") and
    # optional repository (a URL string).
    def initialize(full_name, version_requirement = nil, repository = nil)
      @full_name = full_name
      # TODO: add error checking, the next line raises ArgumentError when +full_name+ is invalid
      @username, @name = Puppet::Module::Tool.username_and_modname_from(full_name)
      @version_requirement = version_requirement
      @repository = repository ? Repository.new(repository) : nil
    end

    # Return PSON representation of this data.
    def to_pson(*args)
      result = { :name => @full_name }
      result[:version_requirement] = @version_requirement if @version_requirement && ! @version_requirement.nil?
      result[:repository] = @repository.to_s if @repository && ! @repository.nil?
      result.to_pson(*args)
    end
    
  end
  
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-module-0.3.4 lib/puppet/module/tool/dependency.rb
puppet-module-0.3.3 lib/puppet/module/tool/dependency.rb
puppet-module-0.3.2 lib/puppet/module/tool/dependency.rb
puppet-module-0.3.0 lib/puppet/module/tool/dependency.rb