Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. import WeatherCore
  2. import RealmSwift
  3.  
  4. // For correct script work name your Realm object as domain object name plus "Object" (Dog/DogObject)
  5.  
  6. {% for domainModel in types.implementing.AutoObjectInit|struct where domainModel.accessLevel == "public" %}
  7. {% for realmModel in domainModel.allVariables where realmModel.name == "object" %}
  8. {% for objectClass in types.all|class where objectClass.name == realmModel.typeName|replace:".Type","" %}
  9. public extension {{ domainModel.name }} {
  10. public static func new(object: {{ objectClass.name }}) -> {{ domainModel.name }} {
  11. {% for domainVariable in domainModel.variables %}
  12. {% if not domainVariable.name == "object" %}
  13. 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 %}
  14. {% endfor %}
  15. {% endfor %}
  16. {% endfor %}
  17. return {{domainModel.name}}.new({% for argument in domainModel.variables where not argument.isComputed %}{{argument.name}}: {{argument.name}}{% if not forloop.last %}, {% endif %}{% endfor %})
  18. }
  19. }
  20. {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement