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.


798
799
800
801
802
# File 'lib/berkshelf/lockfile.rb', line 798

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.


795
796
797
# File 'lib/berkshelf/lockfile.rb', line 795

def dependencies
  @dependencies
end

#nameString (readonly)

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

Returns:

  • (String)

    the name of the cookbook


781
782
783
# File 'lib/berkshelf/lockfile.rb', line 781

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)


787
788
789
# File 'lib/berkshelf/lockfile.rb', line 787

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


810
811
812
# File 'lib/berkshelf/lockfile.rb', line 810

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

#to_sObject


815
816
817
# File 'lib/berkshelf/lockfile.rb', line 815

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