ActionCardInteractorV2 (More about Dagger multi-binding here)
@Inject
lateinit var cardHandlers : Map<String, com.coffeemeetsbagel.components.Builder>
//...
override fun didBecomeActive() {
super.didBecomeActive()
val key = theActionCard.action
val ribBuilder : Builder? = cardHandlers[key]
if (ribBuilder == null) {
ribBuilder = DefaultActionCardBuilder(component)
}
val childRouter = ribBuilder.createRouter(view)
router.attach(childRouter)
view.add(childRouter.view)
}
DefaultActionCardInteractor (very similar to ActionCard 1.0)
override fun onActionButtonClicked() {
router.routeTo(theActionCard.destination) // example of destination "cmb://discover"
}