class KnifeCookbookDoc::RakeTask
Attributes
name[RW]
options[RW]
Public Class Methods
new(name = :knife_cookbook_doc) { |self| ... }
click to toggle source
# File lib/knife_cookbook_doc/rake_task.rb, line 19 def initialize(name = :knife_cookbook_doc) @name = name @options = {} yield self if block_given? define end
Public Instance Methods
define()
click to toggle source
# File lib/knife_cookbook_doc/rake_task.rb, line 26 def define last_description = ::Rake::Version::MAJOR.to_i < 12 ? ::Rake.application.last_comment : ::Rake.application.last_description desc 'Generate cookbook documentation' unless last_description task(name) do merged_options = default_options.merge(options) cookbook_dir = File.realpath(merged_options[:cookbook_dir]) model = ReadmeModel.new(cookbook_dir, merged_options) template = File.read(merged_options[:template_file]) eruby = Erubis::Eruby.new(template) result = eruby.result(model.get_binding) File.open("#{cookbook_dir}/#{merged_options[:output_file]}", 'wb') do |f| result.each_line do |line| f.write line.gsub(/[ \t\r\n]*$/,'') f.write "\n" end end end end
Private Instance Methods
default_options()
click to toggle source
# File lib/knife_cookbook_doc/rake_task.rb, line 47 def default_options { cookbook_dir: './', constraints: true, output_file: 'README.md', template_file: Pathname.new("#{File.dirname(__FILE__)}/../chef/knife/README.md.erb").realpath } end