Class: Berkshelf::Lockfile::Graph::GraphItem

Inherits:
Object
  • Object
show all
Defined in:
lib/berkshelf/lockfile.rb

Overview

A single item inside the graph.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, version, dependencies = {}) ⇒ GraphItem

Create a new graph item.



834
835
836
837
838
# File 'lib/berkshelf/lockfile.rb', line 834

def initialize(name, version, dependencies = {})
  @name         = name.to_s
  @version      = version.to_s
  @dependencies = dependencies
end

Instance Attribute Details

#dependenciesHash<String, String> (readonly)

The list of dependencies and their constraints.

Returns:

  • (Hash<String, String>)

    the list of dependencies for this graph item, where the key corresponds to the name of the dependency and the value is the version constraint.



831
832
833
# File 'lib/berkshelf/lockfile.rb', line 831

def dependencies
  @dependencies
end

#nameString (readonly)

The name of the cookbook that corresponds to this graph item.

Returns:

  • (String)

    the name of the cookbook



817
818
819
# File 'lib/berkshelf/lockfile.rb', line 817

def name
  @name
end

#versionString (readonly)

The locked version for this graph item.

Returns:

  • (String)

    the locked version of the graph item (as a string)



823
824
825
# File 'lib/berkshelf/lockfile.rb', line 823

def version
  @version
end

Instance Method Details

#add_dependency(name, constraint) ⇒ Object

Add a new dependency to the list.

Parameters:

  • name (#to_s)

    the name to use

  • constraint (#to_s)

    the version constraint to use



846
847
848
# File 'lib/berkshelf/lockfile.rb', line 846

def add_dependency(name, constraint)
  @dependencies[name.to_s] = constraint.to_s
end

#set_dependencies(dependencies) ⇒ Object



850
851
852
# File 'lib/berkshelf/lockfile.rb', line 850

def set_dependencies(dependencies)
  @dependencies = dependencies.to_hash
end

#to_sObject



855
856
857
# File 'lib/berkshelf/lockfile.rb', line 855

def to_s
  "#{name} (#{version})"
end