44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/chef/resource_inspector.rb', line 44
def self.(resource, complete = false)
data = {}
data[:description] = resource.description
data[:default_action] = resource.default_action
data[:actions] = {}
resource.allowed_actions.each do |action|
data[:actions][action] = resource.new(resource.to_s, nil).action_description(action)
end
data[:examples] = resource.examples
data[:introduced] = resource.introduced
data[:preview] = resource.preview_resource
properties = unless complete
resource.properties.reject { |_, k| k.options[:declared_in] == Chef::Resource || k.options[:skip_docs] }
else
resource.properties.reject { |_, k| k.options[:skip_docs] }
end
data[:properties] = properties.each_with_object([]) do |(n, k), acc|
opts = k.options
acc << { name: n, description: opts[:description],
introduced: opts[:introduced], is: opts[:is],
deprecated: opts[:deprecated] || false,
required: opts[:required] || false,
default: opts[:default_description] || get_default(opts[:default]),
name_property: opts[:name_property] || false,
equal_to: sort_equal_to(opts[:equal_to]) }
end
data
end
|