// Path: app/src/main/java/info/izumin/android/sunazuri/domain/repository/UsersRepository.java
// public interface UsersRepository {
//     Observable<AuthorizedUser> getCurrentUser();
//     Single<List<AuthorizedUser>> getAuthorizedUsers();
//     Observable<LoginInfo> getLoginInfo();
// }
// 
// Path: app/src/main/java/info/izumin/android/sunazuri/infrastructure/repository/source/oauth/OauthRepositoryModule.java
// @Module
// public class OauthRepositoryModule {
//     public static final String TAG = OauthRepositoryModule.class.getSimpleName();
// 
//     @Provides
//     @Singleton
//     OauthRepository oauthRepository(OauthRepositoryImpl repo) {
//         return repo;
//     }
// 
//     @Provides
//     @Singleton
//     OauthDataSourceFactory oauthDataSourceFactory(OauthDataSourceFactoryImpl dataSourceFactory) {
//         return dataSourceFactory;
//     }
// }
// 
// Path: app/src/main/java/info/izumin/android/sunazuri/infrastructure/repository/source/team/TeamsRepositoryModule.java
// @Module
// public class TeamsRepositoryModule {
//     public static final String TAG = TeamsRepositoryModule.class.getSimpleName();
// 
//     @Provides
//     @Singleton
//     TeamsRepository teamsRepository(TeamsRepositoryImpl repo) {
//         return repo;
//     }
// 
//     @Provides
//     @Singleton
//     TeamsDataSourceFactory teamsDataSourceFactory(TeamsDataSourceFactoryImpl dataSourceFactory) {
//         return dataSourceFactory;
//     }
// }


import dagger.Module;
import dagger.Provides;
import info.izumin.android.sunazuri.domain.repository.UsersRepository;
import info.izumin.android.sunazuri.infrastructure.repository.source.oauth.OauthRepositoryModule;
import info.izumin.android.sunazuri.infrastructure.repository.source.team.TeamsRepositoryModule;
import javax.inject.Singleton;
package info.izumin.android.sunazuri.infrastructure.repository;



/**
 * Created by izumin on 5/13/2016 AD.
 */
@Module(
        includes = {
                OauthRepositoryModule.class,
                TeamsRepositoryModule.class
        }
)
public class RepositoryModule {
    public static final String TAG = RepositoryModule.class.getSimpleName();

    @Provides
// Path: app/src/main/java/info/izumin/android/sunazuri/domain/repository/UsersRepository.java
// public interface UsersRepository {
//     Observable<AuthorizedUser> getCurrentUser();
//     Single<List<AuthorizedUser>> getAuthorizedUsers();
//     Observable<LoginInfo> getLoginInfo();
// }
// 
// Path: app/src/main/java/info/izumin/android/sunazuri/infrastructure/repository/source/oauth/OauthRepositoryModule.java
// @Module
// public class OauthRepositoryModule {
//     public static final String TAG = OauthRepositoryModule.class.getSimpleName();
// 
//     @Provides
//     @Singleton
//     OauthRepository oauthRepository(OauthRepositoryImpl repo) {
//         return repo;
//     }
// 
//     @Provides
//     @Singleton
//     OauthDataSourceFactory oauthDataSourceFactory(OauthDataSourceFactoryImpl dataSourceFactory) {
//         return dataSourceFactory;
//     }
// }
// 
// Path: app/src/main/java/info/izumin/android/sunazuri/infrastructure/repository/source/team/TeamsRepositoryModule.java
// @Module
// public class TeamsRepositoryModule {
//     public static final String TAG = TeamsRepositoryModule.class.getSimpleName();
// 
//     @Provides
//     @Singleton
//     TeamsRepository teamsRepository(TeamsRepositoryImpl repo) {
//         return repo;
//     }
// 
//     @Provides
//     @Singleton
//     TeamsDataSourceFactory teamsDataSourceFactory(TeamsDataSourceFactoryImpl dataSourceFactory) {
//         return dataSourceFactory;
//     }
// }


// Path: app/src/main/java/info/izumin/android/sunazuri/infrastructure/repository/RepositoryModule.java
import dagger.Module;
import dagger.Provides;
import info.izumin.android.sunazuri.domain.repository.UsersRepository;
import info.izumin.android.sunazuri.infrastructure.repository.source.oauth.OauthRepositoryModule;
import info.izumin.android.sunazuri.infrastructure.repository.source.team.TeamsRepositoryModule;
import javax.inject.Singleton;

package info.izumin.android.sunazuri.infrastructure.repository;



/**
 * Created by izumin on 5/13/2016 AD.
 */
@Module(
        includes = {
                OauthRepositoryModule.class,
                TeamsRepositoryModule.class
        }
)
public class RepositoryModule {
    public static final String TAG = RepositoryModule.class.getSimpleName();

    @Provides
    @Singleton