Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import WeatherCore
- import RealmSwift
- // For correct script work name your Realm object as domain object name plus "Object" (Dog/DogObject)
- {% for domainModel in types.implementing.AutoObjectInit|struct where domainModel.accessLevel == "public" %}
- {% for realmModel in domainModel.allVariables where realmModel.name == "object" %}
- {% for objectClass in types.all|class where objectClass.name == realmModel.typeName|replace:".Type","" %}
- public extension {{ domainModel.name }} {
- public static func new(object: {{ objectClass.name }}) -> {{ domainModel.name }} {
- {% for domainVariable in domainModel.variables %}
- {% if not domainVariable.name == "object" %}
- let {{ domainVariable.name }} = object.value(forKey: "{{ domainVariable.name }}") as? {{ domainVariable.typeName|replace:"?","" }} ?? {% if domainVariable.type.name == "String" %}""{% endif %}{% if domainVariable.typeName|replace:"Int","Integer" == "Integer" %}0{% endif %}{% if variable.isArray %}[]{% endif %}{% if variable.isDictionary %}[:]{% endif %}{% if domainVariable.typeName|replace:"Double","Double2" == "Double2" %}0{% endif %}{% endif %}
- {% endfor %}
- {% endfor %}
- {% endfor %}
- return {{domainModel.name}}.new({% for argument in domainModel.variables where not argument.isComputed %}{{argument.name}}: {{argument.name}}{% if not forloop.last %}, {% endif %}{% endfor %})
- }
- }
- {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement