44 lines
1.6 KiB
Cheetah
44 lines
1.6 KiB
Cheetah
<% if cls.type == 'object' -%>
|
|
|
|
# <%= block_comment(cls.description, 0, 1) %>
|
|
class <%= cls.generated_class_name %><% if cls.base_ref %> < <%= cls.base_ref.generated_type %><% end %>
|
|
include Google::Apis::Core::Hashable
|
|
<% for property in cls.properties.values -%>
|
|
|
|
# <%= block_comment(property.description, 2, 1) %>
|
|
# Corresponds to the JSON property `<%= property.name %>`
|
|
<% if property.format == 'byte' -%>
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
<% end -%>
|
|
# @return [<%= property.generated_type %>]
|
|
attr_accessor :<%= property.generated_name %>
|
|
<% if property.type == 'boolean' -%>
|
|
alias_method :<%= property.generated_name %>?, :<%= property.generated_name %>
|
|
<% end -%>
|
|
<% end -%>
|
|
|
|
def initialize(**args)
|
|
<% if cls.discriminant -%>
|
|
@<%= cls.properties[cls.discriminant].generated_name %> = '<%= cls.discriminant_value %>'
|
|
<% end -%>
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
<% for property in cls.properties.values -%>
|
|
@<%= property.generated_name %> = args[:<%= property.generated_name %>] if args.key?(:<%= property.generated_name %>)
|
|
<% end -%>
|
|
end
|
|
<% for child_class in cls.properties.values -%>
|
|
<% if child_class._ref.nil? -%>
|
|
<%= indent(include('class', :cls => child_class, :api => api), 2) -%>
|
|
<% end -%>
|
|
<% end -%>
|
|
end
|
|
<% elsif cls.items && cls.items._ref.nil? -%>
|
|
<%= include('class', :cls => cls.items, :api => api) -%>
|
|
<% elsif cls.additional_properties && cls.additional_properties._ref.nil? -%>
|
|
<%= include('class', :cls => cls.additional_properties, :api => api) -%>
|
|
<% end -%>
|