class PuppetLint::Plugins
Public: Various methods that implement puppet-lint's plugin system
Examples
PuppetLint::Plugins.load_spec_helper
Public Class Methods
load_from_gems()
click to toggle source
Internal: Find any gems containing puppet-lint plugins and load them.
Returns nothing.
# File lib/puppet-lint/plugins.rb, line 13 def self.load_from_gems gem_directories.select { |path| (path + 'puppet-lint/plugins').directory? }.each do |gem_path| Dir["#{(gem_path + 'puppet-lint/plugins').to_s}/*.rb"].each do |file| load file end end end
load_spec_helper()
click to toggle source
Public: Load the puppet-lint spec_helper.rb
Returns nothings.
# File lib/puppet-lint/plugins.rb, line 26 def self.load_spec_helper gemspec = gemspecs.select { |spec| spec.name == 'puppet-lint' }.first load Pathname.new(gemspec.full_gem_path) + 'spec/spec_helper.rb' end
Private Class Methods
gem_directories()
click to toggle source
Internal: Retrieve a list of available gem paths from RubyGems.
Returns an Array of Pathname objects.
# File lib/puppet-lint/plugins.rb, line 52 def self.gem_directories if has_rubygems? gemspecs.reject { |spec| spec.name == 'puppet-lint' }.map do |spec| Pathname.new(spec.full_gem_path) + 'lib' end else [] end end
gemspecs()
click to toggle source
Internal: Retrieve a list of avaliable gemspecs.
Returns an Array of Gem::Specification objects.
# File lib/puppet-lint/plugins.rb, line 41 def self.gemspecs @gemspecs ||= if Gem::Specification.respond_to?(:latest_specs) Gem::Specification.latest_specs else Gem.searcher.init_gemspecs end end
has_rubygems?()
click to toggle source
Internal: Check if RubyGems is loaded and available.
Returns true if RubyGems is available, false if not.
# File lib/puppet-lint/plugins.rb, line 34 def self.has_rubygems? defined? ::Gem end