Skip to content

Instantly share code, notes, and snippets.

View caseykulm's full-sized avatar
🔲

Casey Kulm caseykulm

🔲
View GitHub Profile
@caseykulm
caseykulm / LibOptions.kt
Last active July 23, 2017 19:43
Reverse before
class LibOptions(config1: String, config2: String) {
fun toHttpUrl(): HttpUrl {
httpUrlBuilder = super().newBuilder()
httpUrlBuilder.addQueryParameter("option_1", option1)
httpUrlBuilder.addQueryParameter("option_2", option2)
return httpUrlBuilder.build()
}
}
@caseykulm
caseykulm / LibClient.kt
Created July 23, 2017 19:43
Reversed After
class LibClient(val libOptions: LibOptions) {
lazy val reqFactory: OkRequestFactory
fun init() {
reqFactory = OkRequestFactory(libOptions)
}
fun getUser(userRequest: UserRequest): UserResponse {
val okRequest = reqFactory.toOkRequest(userRequest)
// execute request, and parse response
public class App extends Application {
private AppComponent appComponent;
@Override
public void onCreate() {
appComponent = DaggerAppComponent
.module1(new Module1())
.etcModule(new EtcModule())
.build();
}
@caseykulm
caseykulm / build.gradle
Last active August 14, 2017 20:08
Simple Gradle Version Templating
dependencies {
implementation "com.google.dagger:dagger:2.11"
}
@caseykulm
caseykulm / build.gradle
Last active August 14, 2017 20:08
Basic Version Templating Gradle
dependencies {
implementation “com.google.dagger:dagger:$versions.daggerVersion”
}
@caseykulm
caseykulm / build.gradle
Last active August 14, 2017 20:08
Full version templating Gradle
dependencies {
implementation deps.dagger
}
@caseykulm
caseykulm / build.gradle
Last active August 14, 2017 20:28
Case 1 (Templating Solution): Many dependencies from one project used
dependencies {
implementation deps.retrofit
implementation deps.retrofitGson
}
@caseykulm
caseykulm / build.gradle
Last active August 14, 2017 20:14
Case 1 (Naiive Solution): Many dependencies from one project used
dependencies {
implementation "com.squareup.retrofit2:retrofit:2.3.0"
implementation "com.squareup.retrofit2:converter-gson:2.3.0"
}
@caseykulm
caseykulm / module1-build.gradle
Created August 14, 2017 20:17
Case 2 (Naiive Solution): Same dependency used by many modules
dependencies {
implementation "com.google.dagger:dagger:2.11"
}
@caseykulm
caseykulm / module1-build.gradle
Created August 14, 2017 20:19
Case 2 (Templating Solution): Same dependency used by many modules
dependencies {
implementation deps.dagger
}