class R10kDiff::PuppetfileDiff
Public Class Methods
new(oldfile, newfile)
click to toggle source
Represents the difference between the puppetfile from one commit to another
# File lib/r10kdiff.rb, line 86 def initialize(oldfile, newfile) @oldfile = oldfile @newfile = newfile end
Public Instance Methods
additions()
click to toggle source
# File lib/r10kdiff.rb, line 102 def additions additions = [] @newfile.modules.each do |name, new_module| additions << new_module unless @oldfile.modules[name] end additions end
changes()
click to toggle source
# File lib/r10kdiff.rb, line 91 def changes changed_modules = [] modules_in_common = Set.new(@oldfile.modules.keys).intersection Set.new(@newfile.modules.keys) modules_in_common.each do |name| new_module = @newfile.modules[name] old_module = @oldfile.modules[name] changed_modules << [old_module, new_module] if new_module.different? old_module end changed_modules end
print_differences(include_url)
click to toggle source
# File lib/r10kdiff.rb, line 118 def print_differences(include_url) # Print the additions, removals, and changes output = [] puppetfile_changes = false if removals.length > 0 puppetfile_changes = true output << "Remove:" end removals.each do |old| output << " #{old.pretty_version(include_url)}" end if additions.length > 0 puppetfile_changes = true output << "Add:" end additions.each do |new| output << " #{new.pretty_version(include_url)}" end if changes.length > 0 puppetfile_changes = true output << "Change:" end changes.each do |old, new| output << " #{old.pretty_version_diff(new, include_url)}" end if !puppetfile_changes output << "No changes in Puppetfile" end output.each { |x| puts x } end
removals()
click to toggle source
# File lib/r10kdiff.rb, line 110 def removals removals = [] @oldfile.modules.each do |name, old_module| removals << old_module unless @newfile.modules[name] end removals end