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