Class: ChefDK::Policyfile::PolicyGroupRevIDMap

Inherits:
Object
  • Object
show all
Defined in:
lib/chef-dk/policyfile/lister.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(policy_name, revision_ids_by_group) ⇒ PolicyGroupRevIDMap

Returns a new instance of PolicyGroupRevIDMap.



73
74
75
76
# File 'lib/chef-dk/policyfile/lister.rb', line 73

def initialize(policy_name, revision_ids_by_group)
  @policy_name = policy_name
  @revision_ids_by_group = revision_ids_by_group
end

Instance Attribute Details

#policy_nameObject (readonly)

Returns the value of attribute policy_name.



70
71
72
# File 'lib/chef-dk/policyfile/lister.rb', line 70

def policy_name
  @policy_name
end

#revision_ids_by_groupObject (readonly)

Returns the value of attribute revision_ids_by_group.



71
72
73
# File 'lib/chef-dk/policyfile/lister.rb', line 71

def revision_ids_by_group
  @revision_ids_by_group
end

Instance Method Details

#eachObject



101
102
103
104
105
# File 'lib/chef-dk/policyfile/lister.rb', line 101

def each
  revision_ids_by_group.each do |group_name, rev_id|
    yield group_name, rev_id
  end
end

#empty?Boolean

Returns:

  • (Boolean)


97
98
99
# File 'lib/chef-dk/policyfile/lister.rb', line 97

def empty?
  policy_group_names.empty?
end

#format_revision_idsObject



90
91
92
93
94
95
# File 'lib/chef-dk/policyfile/lister.rb', line 90

def format_revision_ids
  revision_ids_by_group.inject({}) do |map, (group_name, rev_id)|
    map[group_name] = yield rev_id
    map
  end
end

#max_group_name_lengthObject



86
87
88
# File 'lib/chef-dk/policyfile/lister.rb', line 86

def max_group_name_length
  policy_group_names.map(&:size).max
end

#policy_group_namesObject



82
83
84
# File 'lib/chef-dk/policyfile/lister.rb', line 82

def policy_group_names
  revision_ids_by_group.keys
end

#unique_revision_idsObject



78
79
80
# File 'lib/chef-dk/policyfile/lister.rb', line 78

def unique_revision_ids
  revision_ids_by_group.values.uniq
end