module Chef::Knife::ManageBase
Public Class Methods
included(klass)
click to toggle source
# File lib/chef/knife/manage_base.rb, line 7 def self.included(klass) klass.class_eval do deps do require 'pathname' end option :file_dir, :long => '--file-dir DIRECTORY', :description => 'Path to knife.rb configuration files directory (default: ~/.chef)' end end
Public Instance Methods
config_dir()
click to toggle source
# File lib/chef/knife/manage_base.rb, line 20 def config_dir @dir ||= config[:file_dir] || "#{ENV['HOME']}/.chef" if !::File.directory?(@dir) ui.error "Could not locate configuration files because #{@dir} doesn't exist. Use --file-dir to specify where your knife files live" exit 1 end @dir end
default_file()
click to toggle source
# File lib/chef/knife/manage_base.rb, line 35 def default_file @default ||= Pathname.new("#{config_dir}/knife.rb") end
knife_files()
click to toggle source
# File lib/chef/knife/manage_base.rb, line 29 def knife_files @files ||= Pathname.new(config_dir).children.select do |file| file.basename.to_s =~ /^(knife)(?:_?|-?)(\w+)?.rb$/ end end
show_knife(basename)
click to toggle source
# File lib/chef/knife/manage_base.rb, line 39 def show_knife(basename) basename =~ /^(knife)(?:_?|-?)(\w+)?.rb$/ if $2 puts "#{$2}\n" elsif $1 puts "default\n" end end