class Guard::Puppetlint
Constants
- VERSION
Public Class Methods
new(watchers = [], options = {})
click to toggle source
Calls superclass method
# File lib/guard/puppet-lint.rb, line 24 def initialize(watchers = [], options = {}) options = { :syntax_check => true }.merge(options) @linter = PuppetLint.new super end
Public Instance Methods
prepend_filename(msg, file)
click to toggle source
# File lib/guard/puppet-lint.rb, line 40 def prepend_filename(msg, file) if msg msg.map {|x| "#{file}: #{x}"} else [] end end
run_all()
click to toggle source
Call run_on_change
for all files which match this guard.
# File lib/guard/puppet-lint.rb, line 36 def run_all run_on_change(Watcher.match_files(self, Dir.glob('{,**/}*{,.*}').uniq)) end
run_on_change(res)
click to toggle source
Print the result of the command(s), if there are results to be printed.
# File lib/guard/puppet-lint.rb, line 49 def run_on_change(res) messages = [] res.each do |file| file = File.join( options[:watchdir].to_s,file ) if options[:watchdir] if options[:syntax_check] parser_messages = `puppet parser validate #{file} --color=false`.split("\n") parser_messages.reject! { |s| s =~ /puppet help parser validate/ } parser_messages.map! { |s| s.gsub 'err: Could not parse for environment production:', '' } messages += prepend_filename(parser_messages, file) end @linter.file = file @linter.clear_messages @linter.run linter_msg = @linter.messages.reject { |s| !options[:show_warnings] && s =~ /WARNING/ } messages += prepend_filename(linter_msg, file) end if messages.empty? messages = ["Files are ok:"] + res image = :success else image = :failed end Notifier.notify( messages.join("\n"), :title => "Puppet lint", :image => image ) end
start()
click to toggle source
Calls run_all
if the :all_on_start option is present.
# File lib/guard/puppet-lint.rb, line 31 def start run_all if options[:all_on_start] end