Skip to content

Swift ActiveRecord-inspired model for Firebase. Still in development.

License

Notifications You must be signed in to change notification settings

vitorfmuniz/FireRecord

 
 

Repository files navigation

FireRecord

Version License Platform Swift 4.0

FireRecord is a framework written in swift which brings the ActiveRecord architecture as a wrapper to Firebase SDK on iOS

Example

Inherit from FireRecord

class User: FireRecord {
var age: Int?
var name: String?
var photo: FirebaseImage?
}

Init your model

let user = User()
user.name = "Jhon"
user.photo = FirebaseImage(UIImage())

Save

user.save { error in print(error ?? errorMessage) }

Read

User.all { users in
users.flatMap{ $0.name }.forEach{ print($0) }
}

User.findFirst { user in
print(user.name ?? "First users doesn't have name")
}

User.findLast { user in
print(user.name ?? "Last users doesn't have name")
}

User.findFirst(3) { users in
users.forEach { user in print(user.name ?? " User doesn't have name")}
}

User.findLast(3) { users in
users.forEach { user in print(user.name ?? " User doesn't have name")}
}

Update

user.name = "My new Name"
user.update { error in print(error ?? errorMessage) }

Delete

user.destroy { error in print(error ?? errorMessage)}

Query

User.order(byProperty: "name").where(value: "Alisson").find { users in
users.flatMap{ $0.name }.forEach{ print($0) }                          //print all names
}

Professional.order(byProperty: "phone").where(value: "98984933").find { professionals in
professionals.flatMap{ $0.phone }.forEach{ print($0) }                //print all phones
}

User.order(byProperty: "name").findLast { user in
print(user.name ?? "Property not present")
}

User.order(byProperty: "name").findLast(3) { users in
print(users.count)
}

User.order(byProperty: "name").findFirst { user in
print(user.name ?? "Property not present")
}

Requirements

Installation

FireRecord is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "FireRecord"

Authors

License

FireRecord is available under the MIT license. See the LICENSE file for more info.

About

Swift ActiveRecord-inspired model for Firebase. Still in development.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 94.4%
  • Ruby 5.6%