From 3fbe7d42bb6071e77a72c17ca3dbd75ce2cdde63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Garci=CC=81a?= Date: Thu, 14 May 2015 11:22:07 +0200 Subject: [PATCH] whitespaces issues, kzaher comments and pipelines in new lines --- .../RxExample/Examples/Dependencies.swift | 38 +++++----- .../GitHubSignup/GitHubAPI/GitHubAPI.swift | 19 +++-- .../Views/GitHubSignupViewController.swift | 73 ++++++++++--------- .../ViewModels/SearchResultViewModel.swift | 10 +-- .../ViewModels/SearchViewModel.swift | 45 +++++++----- .../Views/WikipediaSearchCell.swift | 7 +- .../Views/WikipediaSearchViewController.swift | 18 +++-- .../WikipediaAPI/WikipediaAPI.swift | 33 +++++---- 8 files changed, 135 insertions(+), 108 deletions(-) diff --git a/RxExample/RxExample/Examples/Dependencies.swift b/RxExample/RxExample/Examples/Dependencies.swift index 22fd735b..1acd1b7f 100644 --- a/RxExample/RxExample/Examples/Dependencies.swift +++ b/RxExample/RxExample/Examples/Dependencies.swift @@ -10,23 +10,23 @@ import Foundation import RxSwift class Dependencies { - - static let sharedDependencies = Dependencies() // Singleton - - let URLSession = NSURLSession.sharedSession() - let backgroundWorkScheduler: ImmediateScheduler - let mainScheduler: DispatchQueueScheduler - let wireframe: Wireframe - - private init() { - wireframe = DefaultWireframe() - - let operationQueue = NSOperationQueue() - operationQueue.maxConcurrentOperationCount = 2 - operationQueue.qualityOfService = NSQualityOfService.UserInitiated - backgroundWorkScheduler = OperationQueueScheduler(operationQueue: operationQueue) - - mainScheduler = MainScheduler.sharedInstance - } - + + static let sharedDependencies = Dependencies() // Singleton + + let URLSession = NSURLSession.sharedSession() + let backgroundWorkScheduler: ImmediateScheduler + let mainScheduler: DispatchQueueScheduler + let wireframe: Wireframe + + private init() { + wireframe = DefaultWireframe() + + let operationQueue = NSOperationQueue() + operationQueue.maxConcurrentOperationCount = 2 + operationQueue.qualityOfService = NSQualityOfService.UserInitiated + backgroundWorkScheduler = OperationQueueScheduler(operationQueue: operationQueue) + + mainScheduler = MainScheduler.sharedInstance + } + } diff --git a/RxExample/RxExample/Examples/GitHubSignup/GitHubAPI/GitHubAPI.swift b/RxExample/RxExample/Examples/GitHubSignup/GitHubAPI/GitHubAPI.swift index 904a3601..16e4eefc 100644 --- a/RxExample/RxExample/Examples/GitHubSignup/GitHubAPI/GitHubAPI.swift +++ b/RxExample/RxExample/Examples/GitHubSignup/GitHubAPI/GitHubAPI.swift @@ -43,16 +43,19 @@ class GitHubAPI { let URL = NSURL(string: "https://github.com/\(URLEscape(username))")! let request = NSURLRequest(URL: URL) - return self.URLSession.rx_response(request) >- map { (maybeData, maybeResponse) in - if let response = maybeResponse as? NSHTTPURLResponse { - return response.statusCode == 404 + return self.URLSession.rx_response(request) + >- map { (maybeData, maybeResponse) in + if let response = maybeResponse as? NSHTTPURLResponse { + return response.statusCode == 404 + } + else { + return false + } } - else { - return false + >- observeSingleOn(self.dataScheduler) + >- catch { result in + return returnElement(false) } - } >- observeSingleOn(self.dataScheduler) >- catch { result in - return returnElement(false) - } } func signup(username: String, password: String) -> Observable { diff --git a/RxExample/RxExample/Examples/GitHubSignup/Views/GitHubSignupViewController.swift b/RxExample/RxExample/Examples/GitHubSignup/Views/GitHubSignupViewController.swift index c801e457..55e9d80e 100644 --- a/RxExample/RxExample/Examples/GitHubSignup/Views/GitHubSignupViewController.swift +++ b/RxExample/RxExample/Examples/GitHubSignup/Views/GitHubSignupViewController.swift @@ -40,14 +40,16 @@ class ValidationService { let loadingValue = (valid: nil as Bool?, message: "Checking availabilty ..." as String?) - return API.usernameAvailable(username) >- map { available in - if available { - return (true, "Username available") + return API.usernameAvailable(username) + >- map { available in + if available { + return (true, "Username available") + } + else { + return (false, "Username already taken") + } } - else { - return (false, "Username already taken") - } - } >- startWith(loadingValue) + >- startWith(loadingValue) } func validatePassword(password: String) -> ValidationResult { @@ -176,33 +178,38 @@ class GitHubSignupViewController : ViewController { validationErrorLabel: self.repeatedPasswordValidationOutlet ) - signupEnabled >- subscribeNext { [unowned self] valid in - self.signupOutlet.enabled = valid - self.signupOutlet.alpha = valid ? 1.0 : 0.5 - } >- disposeBag.addDisposable - - - signingProcess >- subscribeNext { [unowned self] signingResult in - switch signingResult { - case .SigningUp: - self.signingUpOulet.hidden = false - case .SignedUp(let signed): - self.signingUpOulet.hidden = true - - let controller: UIAlertController - if signed { - controller = UIAlertController(title: "GitHub", message: "Mock signed up to GitHub", preferredStyle: .Alert) - } - else { - controller = UIAlertController(title: "GitHub", message: "Mock signed up failed", preferredStyle: .Alert) - } - - controller.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)) - self.presentViewController(controller, animated: true, completion: nil) - default: - self.signingUpOulet.hidden = true + signupEnabled + >- subscribeNext { [unowned self] valid in + self.signupOutlet.enabled = valid + self.signupOutlet.alpha = valid ? 1.0 : 0.5 } - } >- disposeBag.addDisposable + >- disposeBag.addDisposable + + + signingProcess + >- subscribeNext { [unowned self] signingResult in + switch signingResult { + case .SigningUp: + self.signingUpOulet.hidden = false + case .SignedUp(let signed): + self.signingUpOulet.hidden = true + + let controller: UIAlertController + + if signed { + controller = UIAlertController(title: "GitHub", message: "Mock signed up to GitHub", preferredStyle: .Alert) + } + else { + controller = UIAlertController(title: "GitHub", message: "Mock signed up failed", preferredStyle: .Alert) + } + + controller.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)) + self.presentViewController(controller, animated: true, completion: nil) + default: + self.signingUpOulet.hidden = true + } + } + >- disposeBag.addDisposable } // This is one of the reasons why it's a good idea for disposal to be detached from allocations. diff --git a/RxExample/RxExample/Examples/WikipediaImageSearch/ViewModels/SearchResultViewModel.swift b/RxExample/RxExample/Examples/WikipediaImageSearch/ViewModels/SearchResultViewModel.swift index 5e001716..9f8e2a97 100644 --- a/RxExample/RxExample/Examples/WikipediaImageSearch/ViewModels/SearchResultViewModel.swift +++ b/RxExample/RxExample/Examples/WikipediaImageSearch/ViewModels/SearchResultViewModel.swift @@ -14,11 +14,11 @@ class SearchResultViewModel { let searchResult: WikipediaSearchResult var title: Observable - var imageURLs: Observable<[NSURL]> - - let API = DefaultWikipediaAPI.sharedAPI - let $: Dependencies = Dependencies.sharedDependencies - + var imageURLs: Observable<[NSURL]> + + let API = DefaultWikipediaAPI.sharedAPI + let $: Dependencies = Dependencies.sharedDependencies + init(searchResult: WikipediaSearchResult) { self.searchResult = searchResult diff --git a/RxExample/RxExample/Examples/WikipediaImageSearch/ViewModels/SearchViewModel.swift b/RxExample/RxExample/Examples/WikipediaImageSearch/ViewModels/SearchViewModel.swift index f3aca682..65c062cb 100644 --- a/RxExample/RxExample/Examples/WikipediaImageSearch/ViewModels/SearchViewModel.swift +++ b/RxExample/RxExample/Examples/WikipediaImageSearch/ViewModels/SearchViewModel.swift @@ -20,27 +20,34 @@ class SearchViewModel: Disposable { // public methods init(searchText: Observable, - selectedResult: Observable) { - - let $: Dependencies = Dependencies.sharedDependencies - let wireframe = Dependencies.sharedDependencies.wireframe - let API = DefaultWikipediaAPI.sharedAPI - - self.rows = searchText >- throttle(300, $.mainScheduler) >- distinctUntilChanged >- map { query in - API.getSearchResults(query) - >- startWith([]) // clears results on new search term - >- catch([]) - } >- switchLatest >- map { results in - results.map { - SearchResultViewModel( - searchResult: $0 - ) + selectedResult: Observable) { + + let $: Dependencies = Dependencies.sharedDependencies + let wireframe = Dependencies.sharedDependencies.wireframe + let API = DefaultWikipediaAPI.sharedAPI + + self.rows = searchText + >- throttle(300, $.mainScheduler) + >- distinctUntilChanged + >- map { query in + API.getSearchResults(query) + >- startWith([]) // clears results on new search term + >- catch([]) } + >- switchLatest + >- map { results in + results.map { + SearchResultViewModel( + searchResult: $0 + ) + } } - - selectedResult >- subscribeNext { searchResult in - wireframe.openURL(searchResult.searchResult.URL) - } >- disposeBag.addDisposable + + selectedResult + >- subscribeNext { searchResult in + wireframe.openURL(searchResult.searchResult.URL) + } + >- disposeBag.addDisposable } func dispose() { diff --git a/RxExample/RxExample/Examples/WikipediaImageSearch/Views/WikipediaSearchCell.swift b/RxExample/RxExample/Examples/WikipediaImageSearch/Views/WikipediaSearchCell.swift index 3667211c..8592b493 100644 --- a/RxExample/RxExample/Examples/WikipediaImageSearch/Views/WikipediaSearchCell.swift +++ b/RxExample/RxExample/Examples/WikipediaImageSearch/Views/WikipediaSearchCell.swift @@ -18,8 +18,8 @@ public class WikipediaSearchCell: UITableViewCell { @IBOutlet var imagesOutlet: UICollectionView! var disposeBag: DisposeBag! - - let imageService = DefaultImageService.sharedImageService + + let imageService = DefaultImageService.sharedImageService public override func awakeFromNib() { super.awakeFromNib() @@ -44,7 +44,8 @@ public class WikipediaSearchCell: UITableViewCell { >- map { $0 as UIImage? } >- catch(nil) >- startWith(loadingPlaceholder) - } >- disposeBag.addDisposable + } + >- disposeBag.addDisposable self.disposeBag = disposeBag } diff --git a/RxExample/RxExample/Examples/WikipediaImageSearch/Views/WikipediaSearchViewController.swift b/RxExample/RxExample/Examples/WikipediaImageSearch/Views/WikipediaSearchViewController.swift index 8d415ebb..7ea109d1 100644 --- a/RxExample/RxExample/Examples/WikipediaImageSearch/Views/WikipediaSearchViewController.swift +++ b/RxExample/RxExample/Examples/WikipediaImageSearch/Views/WikipediaSearchViewController.swift @@ -40,18 +40,22 @@ class WikipediaSearchViewController: ViewController { // map table view rows // { - viewModel.rows >- resultsTableView.rx_subscribeRowsToCellWithIdentifier("WikipediaSearchCell") { (_, _, viewModel, cell: WikipediaSearchCell) in - cell.viewModel = viewModel - } >- disposeBag.addDisposable + viewModel.rows + >- resultsTableView.rx_subscribeRowsToCellWithIdentifier("WikipediaSearchCell") { (_, _, viewModel, cell: WikipediaSearchCell) in + cell.viewModel = viewModel + } + >- disposeBag.addDisposable // } // dismiss keyboard on scroll // { - resultsTableView.rx_contentOffset() >- subscribeNext { _ in - if searchBar.isFirstResponder() { - _ = searchBar.resignFirstResponder() + resultsTableView.rx_contentOffset() + >- subscribeNext { _ in + if searchBar.isFirstResponder() { + _ = searchBar.resignFirstResponder() + } } - } >- disposeBag.addDisposable + >- disposeBag.addDisposable disposeBag.addDisposable(viewModel) diff --git a/RxExample/RxExample/Examples/WikipediaImageSearch/WikipediaAPI/WikipediaAPI.swift b/RxExample/RxExample/Examples/WikipediaImageSearch/WikipediaAPI/WikipediaAPI.swift index 27463a22..c7eb91c9 100644 --- a/RxExample/RxExample/Examples/WikipediaImageSearch/WikipediaAPI/WikipediaAPI.swift +++ b/RxExample/RxExample/Examples/WikipediaImageSearch/WikipediaAPI/WikipediaAPI.swift @@ -26,12 +26,12 @@ func URLEscape(pathSegment: String) -> String { } class DefaultWikipediaAPI: WikipediaAPI { - - static let sharedAPI = DefaultWikipediaAPI() // Singleton - - let $: Dependencies = Dependencies.sharedDependencies - - private init() {} + + static let sharedAPI = DefaultWikipediaAPI() // Singleton + + let $: Dependencies = Dependencies.sharedDependencies + + private init() {} // Example wikipedia response http://en.wikipedia.org/w/api.php?action=opensearch&search=Rx func getSearchResults(query: String) -> Observable<[WikipediaSearchResult]> { @@ -39,11 +39,14 @@ class DefaultWikipediaAPI: WikipediaAPI { let urlContent = "http://en.wikipedia.org/w/api.php?action=opensearch&search=\(escapedQuery)" let url = NSURL(string: urlContent)! - return $.URLSession.rx_JSON(url) >- observeSingleOn($.backgroundWorkScheduler) >- mapOrDie { json in - return castOrFail(json) >== { (json: [AnyObject]) in - return WikipediaSearchResult.parseJSON(json) + return $.URLSession.rx_JSON(url) + >- observeSingleOn($.backgroundWorkScheduler) + >- mapOrDie { json in + return castOrFail(json) >== { (json: [AnyObject]) in + return WikipediaSearchResult.parseJSON(json) + } } - } >- observeSingleOn($.mainScheduler) + >- observeSingleOn($.mainScheduler) } // http://en.wikipedia.org/w/api.php?action=parse&page=rx&format=json @@ -55,10 +58,12 @@ class DefaultWikipediaAPI: WikipediaAPI { return failWith(apiError("Can't create url")) } - return $.URLSession.rx_JSON(url!) >- mapOrDie { jsonResult in - return castOrFail(jsonResult) >== { (json: NSDictionary) in - return WikipediaPage.parseJSON(json) + return $.URLSession.rx_JSON(url!) + >- mapOrDie { jsonResult in + return castOrFail(jsonResult) >== { (json: NSDictionary) in + return WikipediaPage.parseJSON(json) + } } - } >- observeSingleOn($.mainScheduler) + >- observeSingleOn($.mainScheduler) } } \ No newline at end of file