class KnifeCookbookDoc::DefinitionsModel
Attributes
name[R]
Public Class Methods
new(name, filename)
click to toggle source
# File lib/knife_cookbook_doc/definitions_model.rb, line 6 def initialize(name, filename) @name = name @filename = filename load_descriptions end
Public Instance Methods
params()
click to toggle source
# File lib/knife_cookbook_doc/definitions_model.rb, line 12 def params @params ||= {} end
Private Instance Methods
load_descriptions()
click to toggle source
# File lib/knife_cookbook_doc/definitions_model.rb, line 18 def load_descriptions description = extract_description current_section = 'main' description.each_line do |line| if /^ *\@param *([^ ]*) (.*)$/ =~ line params[$1] = {} params[$1]['descr'] = $2.strip elsif /^ *\@section (.*)$/ =~ line current_section = $1.strip else lines = (top_level_descriptions[current_section] || []) lines << line.gsub("\n", '') top_level_descriptions[current_section] = lines end end load_properties end
load_properties()
click to toggle source
# File lib/knife_cookbook_doc/definitions_model.rb, line 36 def load_properties code = IO.read(@filename) code.gsub(/^ *define (.*?) (?=do)/m) do all = $1.split(' ', 2) @name = all.shift.gsub(/:|,/, '') next if all.empty? all = eval("{#{all.last}}") rescue {} all.each do |k, v| p_name = k.to_s params[p_name] ||= {} params[p_name]['default'] = v.nil? ? 'nil' : v end end end