-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
class.erb
34 lines (30 loc) · 1.21 KB
/
class.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import Foundation
<% protocols = SwiftHelper.protocol(entity) -%>
public final class <%= entity.name %><% unless protocols.empty? %>: <%= protocols.join(', ') %><% end %> {
<%# Static properties -%>
<% entity.static_properties.each do |property| -%>
public static var <%= SwiftHelper.format_name(property.name) %>: <%= SwiftHelper.type(property.return_type) %> {
<%- if property.return_type.is_class || property.return_type.is_struct -%>
return <%= SwiftHelper.type(property.return_type) %>(rawValue: TW<%= entity.name %><%= property.name %>())
<%- else -%>
return TW<%= entity.name %><%= property.name %>()
<%- end -%>
}
<% end -%>
<%# Static methods -%>
<% entity.static_methods.each do |method| -%>
<% next if method.name.start_with?('Create') || method.name.start_with?('Init') %>
<%= render('swift/static_method.erb', { method: method }) -%>
<% end -%>
<%# Properties -%>
<% if entity.is_struct -%>
<%= render('swift/struct_properties.erb') -%>
<% else -%>
<%= render('swift/class_properties.erb') -%>
<% end -%>
<%# Methods -%>
<% entity.methods.each do |method| -%>
<% next if method.name == "Delete" -%>
<%= render('swift/method.erb', { method: method }) %>
<% end -%>
}