GitHub API orchestration with RxJava
$ git clone https://github.com/asufana/rxjava-githubapi.git
$ cd rxjava-githubapi
$ mvn install
rx.Observable<UserDto> user = new GithubClient().user("asufana");
user.forEach(u -> System.out.println("LoginName: " + u.login()));
rx.Observable<RepositoryDto> repositories = new GithubClient().repositories("asufana");
repositories.forEach(r -> System.out.println("RepoName: " + r.name()));
rx.Observable<UserDto> user = new GithubClient().user("asufana");
rx.Observable<RepositoryDto> repositories = user.flatMap(UserDto::fetchRepositories);
repositories.forEach(r -> System.out.println("RepoName: " + r.name()));
BlockingObservable<UserDto> user = new GithubClient().userAndRepositories("asufana");
user.forEach(u -> {
System.out.println("User: " + u);
System.out.println("Repo:" + u.repositories());
});
Most of the code was taken from rejasupotaro/octodroid