Class: Puppet::ModuleTool::Applications::Checksummer Private

Inherits:
Application show all
Defined in:
lib/puppet/module_tool/applications/checksummer.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Constant Summary

Constants included from Util::Colors

Util::Colors::BG_BLUE, Util::Colors::BG_CYAN, Util::Colors::BG_GREEN, Util::Colors::BG_HBLUE, Util::Colors::BG_HCYAN, Util::Colors::BG_HGREEN, Util::Colors::BG_HMAGENTA, Util::Colors::BG_HRED, Util::Colors::BG_HWHITE, Util::Colors::BG_HYELLOW, Util::Colors::BG_MAGENTA, Util::Colors::BG_RED, Util::Colors::BG_WHITE, Util::Colors::BG_YELLOW, Util::Colors::BLACK, Util::Colors::BLUE, Util::Colors::CYAN, Util::Colors::Colormap, Util::Colors::GREEN, Util::Colors::HBLACK, Util::Colors::HBLUE, Util::Colors::HCYAN, Util::Colors::HGREEN, Util::Colors::HMAGENTA, Util::Colors::HRED, Util::Colors::HWHITE, Util::Colors::HYELLOW, Util::Colors::MAGENTA, Util::Colors::RED, Util::Colors::RESET, Util::Colors::WHITE, Util::Colors::YELLOW

Instance Attribute Summary

Attributes inherited from Application

#options

Instance Method Summary collapse

Methods inherited from Application

#discuss, #load_metadata!, #metadata, #parse_filename, run

Methods included from Util::Colors

#colorize, #console_color, #html_color

Constructor Details

#initialize(path, options = {}) ⇒ Checksummer

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Checksummer.



9
10
11
12
# File 'lib/puppet/module_tool/applications/checksummer.rb', line 9

def initialize(path, options = {})
  @path = Pathname.new(path)
  super(options)
end

Instance Method Details

#runObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/puppet/module_tool/applications/checksummer.rb', line 14

def run
  changes = []
  sums = Puppet::ModuleTool::Checksums.new(@path)
  checksums.each do |child_path, canonical_checksum|
    # Avoid checksumming the checksums.json file
    next if File.basename(child_path) == "checksums.json"

    path = @path + child_path
    unless path.exist? && canonical_checksum == sums.checksum(path)
      changes << child_path
    end
  end

  # Return an Array of strings representing file paths of files that have
  # been modified since this module was installed. All paths are relative
  # to the installed module directory. This return value is used by the
  # module_tool face changes action, and displayed on the console.
  #
  # Example return value:
  #
  #   [ "REVISION", "manifests/init.pp"]
  #
  changes
end