Skip to content

Instantly share code, notes, and snippets.

@romainmenke
Created June 19, 2016 09:24
Show Gist options
  • Save romainmenke/69cd549c01e2682ad2511166afc4007c to your computer and use it in GitHub Desktop.
Save romainmenke/69cd549c01e2682ad2511166afc4007c to your computer and use it in GitHub Desktop.
// Generated with Jenerator : github.com/romainmenke/Jenerator
import Foundation
/**
* Your Description For GFSRestaurants Goes Here
*/
class GFSRestaurants {
var restaurant_logo : String
var branch_text : String
var branch_status : String
var branch_keywords : String
var city_name : String
var branch_twitter : String
var branch_skype : String
var branch_description : String
var province_name : String
var branch_google : String
var restaurant_status : String
var id : String
var updated_on : String
var branch_x_coordinate : String
var distance : String
var branch_email : String
var branch_mobile : String
var branch_facebook : String
var created_on : String
var branch_name : String
var branch_image : String
var branch_wifi_text : String
var city_id : String
var branch_deal : String
var branch_address : String
var branch_linkedin : String
var branch_parking_text : String
var branch_instagram : String
var restaurant_id : String
var country_id : String
var updated_by : String
var country_name : String
var branch_y_coordinate : String
var branch_postalcode : String
var created_by : String
var branch_parking : String
var branch_phone : String
var branch_youtube : String
var branch_fax : String
var branch_workhours : Any?
var branch_orderlink : String
var branch_wifi : String
var restaurant_name : String
var province_id : String
init(data:[String:AnyObject]) {
self.restaurant_logo = (data["restaurant_logo"] as? String) ?? ""
self.branch_text = (data["branch_text"] as? String) ?? ""
self.branch_status = (data["branch_status"] as? String) ?? ""
self.branch_keywords = (data["branch_keywords"] as? String) ?? ""
self.city_name = (data["city_name"] as? String) ?? ""
self.branch_twitter = (data["branch_twitter"] as? String) ?? ""
self.branch_skype = (data["branch_skype"] as? String) ?? ""
self.branch_description = (data["branch_description"] as? String) ?? ""
self.province_name = (data["province_name"] as? String) ?? ""
self.branch_google = (data["branch_google"] as? String) ?? ""
self.restaurant_status = (data["restaurant_status"] as? String) ?? ""
self.id = (data["id"] as? String) ?? ""
self.updated_on = (data["updated_on"] as? String) ?? ""
self.branch_x_coordinate = (data["branch_x_coordinate"] as? String) ?? ""
self.distance = (data["distance"] as? String) ?? ""
self.branch_email = (data["branch_email"] as? String) ?? ""
self.branch_mobile = (data["branch_mobile"] as? String) ?? ""
self.branch_facebook = (data["branch_facebook"] as? String) ?? ""
self.created_on = (data["created_on"] as? String) ?? ""
self.branch_name = (data["branch_name"] as? String) ?? ""
self.branch_image = (data["branch_image"] as? String) ?? ""
self.branch_wifi_text = (data["branch_wifi_text"] as? String) ?? ""
self.city_id = (data["city_id"] as? String) ?? ""
self.branch_deal = (data["branch_deal"] as? String) ?? ""
self.branch_address = (data["branch_address"] as? String) ?? ""
self.branch_linkedin = (data["branch_linkedin"] as? String) ?? ""
self.branch_parking_text = (data["branch_parking_text"] as? String) ?? ""
self.branch_instagram = (data["branch_instagram"] as? String) ?? ""
self.restaurant_id = (data["restaurant_id"] as? String) ?? ""
self.country_id = (data["country_id"] as? String) ?? ""
self.updated_by = (data["updated_by"] as? String) ?? ""
self.country_name = (data["country_name"] as? String) ?? ""
self.branch_y_coordinate = (data["branch_y_coordinate"] as? String) ?? ""
self.branch_postalcode = (data["branch_postalcode"] as? String) ?? ""
self.created_by = (data["created_by"] as? String) ?? ""
self.branch_parking = (data["branch_parking"] as? String) ?? ""
self.branch_phone = (data["branch_phone"] as? String) ?? ""
self.branch_youtube = (data["branch_youtube"] as? String) ?? ""
self.branch_fax = (data["branch_fax"] as? String) ?? ""
self.branch_workhours = (data["branch_workhours"] as? Any) ?? nil
self.branch_orderlink = (data["branch_orderlink"] as? String) ?? ""
self.branch_wifi = (data["branch_wifi"] as? String) ?? ""
self.restaurant_name = (data["restaurant_name"] as? String) ?? ""
self.province_id = (data["province_id"] as? String) ?? ""
}
}
/**
* Your Description For GFSJenerator Goes Here
*/
class GFSJenerator {
var state : String
var restaurants : [GFSRestaurants]
init(data:[String:AnyObject]) {
self.state = (data["state"] as? String) ?? ""
self.restaurants = []
if let array = data["restaurants"] as? [AnyObject] {
for element in array {
if let element = element as? [String:AnyObject] {
self.restaurants.append(GFSRestaurants(data: element))
}
}
}
}
/**
Give this function some parameters to make the query a bit more dynamic
- returns: Your Return Description Here.
*/
#if swift(>=3.0)
static func fetch(restaurant: String?, latitude: String?, longitude: String?, limit: String?) -> GFSJenerator? {
let restaurant = restaurant ?? "1"
let restaurantItem = URLQueryItem(name: "restaurant", value: restaurant)
let latitude = latitude ?? "42.9797824"
let latitudeItem = URLQueryItem(name: "latitude", value: latitude)
let longitude = longitude ?? "-81.2443568"
let longitudeItem = URLQueryItem(name: "longitude", value: longitude)
let limit = limit ?? "0"
let limitItem = URLQueryItem(name: "limit", value: limit)
guard var urlComponents = URLComponents(string: "http://globalfoodsystem.com/Api/RestaurantsDirectory/Restaurants/") else {
return nil
}
urlComponents.queryItems = [restaurantItem,latitudeItem,longitudeItem,limitItem]
guard let url = urlComponents.url, data = try? Data(contentsOf: url) else {
return nil
}
do {
let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers)
if let dict = json as? [String:AnyObject] {
return GFSJenerator(data: dict)
}
} catch {}
return nil
}
#elseif swift(>=2.2)
static func fetch(restaurant: String?, latitude: String?, longitude: String?, limit: String?) -> GFSJenerator? {
let restaurantEncoded = (restaurant ?? "1").stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()) ?? ""
let latitudeEncoded = (latitude ?? "42.9797824").stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()) ?? ""
let longitudeEncoded = (longitude ?? "-81.2443568").stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()) ?? ""
let limitEncoded = (limit ?? "0").stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()) ?? ""
guard let url = NSURL(string: "http://globalfoodsystem.com/Api/RestaurantsDirectory/Restaurants/?restaurant=\(restaurantEncoded)&latitude=\(latitudeEncoded)&longitude=\(longitudeEncoded)&limit=\(limitEncoded)"), data = NSData(contentsOfURL: url) else {
return nil
}
do {
let json = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)
if let dict = json as? [String:AnyObject] {
return GFSJenerator(data: dict)
}
} catch {}
return nil
}
#endif
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment