module KnifeCookbookDoc::BaseModel

Public Instance Methods

short_description() click to toggle source
# File lib/knife_cookbook_doc/base_model.rb, line 12
def short_description
  unless @short_description
    @short_description = first_sentence(top_level_description('main'))
  end
  @short_description
end
top_level_description(section) click to toggle source
# File lib/knife_cookbook_doc/base_model.rb, line 4
def top_level_description(section)
  (top_level_descriptions[section.to_s] || []).join("\n").gsub(/\n+$/m,"\n")
end
top_level_descriptions() click to toggle source
# File lib/knife_cookbook_doc/base_model.rb, line 8
def top_level_descriptions
  @top_level_descriptions ||= {}
end

Private Instance Methods

extract_description() click to toggle source
# File lib/knife_cookbook_doc/base_model.rb, line 28
def extract_description
  description = []
  IO.read(@filename).gsub(/^=begin *\n *\# ?\<\n(.*?)^ *\# ?\>\n=end *\n/m) do
    description << $1
    ""
  end.gsub(/^ *\# ?\<\n(.*?)^ *\# ?\>\n/m) do
    description << $1.gsub(/^ *\# ?/, '')
    ""
  end.gsub(/^ *\# ?\<\> (.*?)$/) do
    description << $1
    ""
  end
  description.join("\n")
end
first_sentence(string) click to toggle source
# File lib/knife_cookbook_doc/base_model.rb, line 21
def first_sentence(string)
  string.gsub(/^(.*?\.(\z|\s))/m) do |match|
    return $1.gsub("\n",' ').strip
  end
  return nil
end