1
0

ActiveRecord.swift 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //
  2. // ActiveRecord.swift
  3. // Swifter
  4. //
  5. // Created by Damian Kolakowski on 13/11/14.
  6. // Copyright (c) 2014 Damian Kołakowski. All rights reserved.
  7. //
  8. import Foundation
  9. struct SwifterActiveRecordField {
  10. let name: String?
  11. }
  12. class SwifterActiveRecord<T: NSObject> {
  13. init() {
  14. let properties = scheme()
  15. }
  16. private func scheme() -> [SwifterActiveRecordField] {
  17. var results = [SwifterActiveRecordField]()
  18. let classInfoDump = reflect(self)
  19. for var index = 1; index < classInfoDump.count; ++index {
  20. let field = classInfoDump[index]
  21. results.append(SwifterActiveRecordField(name: field.0))
  22. }
  23. return results
  24. }
  25. class func find(T -> Bool) -> [T] {
  26. return []
  27. }
  28. class func all() -> Array<String> {
  29. return []
  30. }
  31. func commit(error: NSErrorPointer) -> Bool {
  32. return false
  33. }
  34. }
  35. // An example model class.
  36. class Person: NSObject {
  37. var firstName: String? = "firstName"
  38. var lastName: String? = "lastName"
  39. var age: UInt? = 1
  40. }
  41. let peopleWithNameFoo = SwifterActiveRecord<Person>.find({ $0.firstName == "Foo" })