Home

Awesome

Github.swift

❤️ Support my apps ❤️

❤️❤️😇😍🤘❤️❤️

CI Status Version Carthage Compatible License Platform

Description

Usage

Client

let _ =
  Client.signInUsingWebBrowser(Server.dotComServer, scopes: [.Repository])
    .flatMap { client in
      return client.fetchUserRepositories()
    }.subscribeNext { repositories in
      repositories.forEach { print($0.name)
    }
  }

Request Descriptor

Make your own request using RequestDescriptor, using syntax from Construction

let requestDescriptor: RequestDescriptor = construct {
  $0.path = "repos/\(owner)/\(name)"
  $0.etag = "12345"
  $0.offset = 2
  $0.perPage = 50
  $0.parameters["param"] = "value"
  $0.headers["header"] = "value"
  $0.method = .PUT  
}

return enqueue(requestDescriptor).map {
  return Parser.one($0)
}

Pagination

client
.fetchUserRepositories()
.subscribeNext { repositories in
  // This gets called many times depending pagination
  repositories.forEach { print($0.name)
}
client
.fetchUserRepositories()
.toArray()
.subscribeNext { repositories: [[Repository]] in
  repositories.flatMap({$0}).forEach { print($0.name)
}

Features

Metadata

Sign in

User

Repository

Pull request

Issue

Organization

Search

Event

Gists

Git

Activity

Notification

Installation

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

pod 'GithubSwift'

GithubSwift is also available through Carthage. To install just write into your Cartfile:

github "onmyway133/Github.swift"

Author

Khoa Pham, onmyway133@gmail.com

Contributing

We would love you to contribute to GithubSwift, check the CONTRIBUTING file for more info.

License

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