Sha256: d4703cb7e43ea533677239e7c5838de50c5bdb08572496637ab3f4ec9a311044

Contents?: true

Size: 1.17 KB

Versions: 12

Compression:

Stored size: 1.17 KB

Contents

require 'puppet/module_tool'
require 'puppet/network/format_support'

module Puppet::ModuleTool

  class Dependency
    include Puppet::Network::FormatSupport

    attr_reader :full_module_name, :username, :name, :version_requirement, :repository

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

    def to_data_hash
      result = { :name => @full_module_name }
      result[:version_requirement] = @version_requirement if @version_requirement && ! @version_requirement.nil?
      result[:repository] = @repository.to_s if @repository && ! @repository.nil?
      result
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
puppet-3.6.0.rc1 lib/puppet/module_tool/dependency.rb
puppet-3.6.0.rc1-x86-mingw32 lib/puppet/module_tool/dependency.rb
puppet-3.5.1 lib/puppet/module_tool/dependency.rb
puppet-3.5.1-x86-mingw32 lib/puppet/module_tool/dependency.rb
puppet-3.5.1.rc1 lib/puppet/module_tool/dependency.rb
puppet-3.5.1.rc1-x86-mingw32 lib/puppet/module_tool/dependency.rb
puppet-3.5.0.rc3 lib/puppet/module_tool/dependency.rb
puppet-3.5.0.rc3-x86-mingw32 lib/puppet/module_tool/dependency.rb
puppet-3.5.0.rc2 lib/puppet/module_tool/dependency.rb
puppet-3.5.0.rc2-x86-mingw32 lib/puppet/module_tool/dependency.rb
puppet-3.5.0.rc1 lib/puppet/module_tool/dependency.rb
puppet-3.5.0.rc1-x86-mingw32 lib/puppet/module_tool/dependency.rb