Skip to content

Commit ec00543

Browse files
committed
Add basic requires
1 parent 1993bf5 commit ec00543

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

provider/inspec.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,5 +104,17 @@ def resource_ref? (property)
104104
def typed_array? (property)
105105
return property.is_a?(::Api::Type::Array)
106106
end
107+
108+
def nested_object? (property)
109+
return property.is_a?(::Api::Type::NestedObject)
110+
end
111+
112+
def generate_requires(properties, requires = [])
113+
nested_props = properties.select{ |type| nested_object?(type) }
114+
requires.concat(properties.reject{ |type| primitive?(type) || resource_ref?(type) || nested_object?(type) }.collect(&:requires))
115+
requires.concat(nested_props.map{|nested_prop| generate_requires(nested_prop.properties) } )
116+
requires.concat(nested_props.map{|nested_prop| nested_prop.property_file })
117+
requires
118+
end
107119
end
108120
end

templates/inspec/singular_resource.erb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,17 @@
1616

1717
<%= lines(autogen_notice :ruby) -%>
1818

19+
<%
20+
require 'google/string_utils'
21+
22+
inside_indent = 8
23+
24+
requires = generate_requires(object.all_user_properties)
25+
requires << 'inspec/resource'
26+
requires << 'google/hash_utils'
27+
-%>
28+
<%= lines(emit_requires(requires)) -%>
29+
1930
# A provider to manage <%= @api.name -%> resources.
2031
<%= lines(indent(
2132
emit_rubocop(binding, :class,

0 commit comments

Comments
 (0)