mirror of
https://github.com/twitter/the-algorithm.git
synced 2024-06-13 06:38:52 +02:00
![twitter-team](/assets/img/avatar_default.png)
Please note we have force-pushed a new initial commit in order to remove some publicly-available Twitter user information. Note that this process may be required in the future.
34 lines
1.2 KiB
Scala
34 lines
1.2 KiB
Scala
package com.twitter.recosinjector.decider
|
|
|
|
import com.twitter.decider.{Decider, DeciderFactory, RandomRecipient, Recipient}
|
|
|
|
case class RecosInjectorDecider(isProd: Boolean, dataCenter: String) {
|
|
lazy val decider: Decider = DeciderFactory(
|
|
Some("config/decider.yml"),
|
|
Some(getOverlayPath(isProd, dataCenter))
|
|
)()
|
|
|
|
private def getOverlayPath(isProd: Boolean, dataCenter: String): String = {
|
|
if (isProd) {
|
|
s"/usr/local/config/overlays/recos-injector/recos-injector/prod/$dataCenter/decider_overlay.yml"
|
|
} else {
|
|
s"/usr/local/config/overlays/recos-injector/recos-injector/staging/$dataCenter/decider_overlay.yml"
|
|
}
|
|
}
|
|
|
|
def getDecider: Decider = decider
|
|
|
|
def isAvailable(feature: String, recipient: Option[Recipient]): Boolean = {
|
|
decider.isAvailable(feature, recipient)
|
|
}
|
|
|
|
def isAvailable(feature: String): Boolean = isAvailable(feature, Some(RandomRecipient))
|
|
}
|
|
|
|
object RecosInjectorDeciderConstants {
|
|
val TweetEventTransformerUserTweetEntityEdgesDecider =
|
|
"tweet_event_transformer_user_tweet_entity_edges"
|
|
val EnableEmitTweetEdgeFromReply = "enable_emit_tweet_edge_from_reply"
|
|
val EnableUnfavoriteEdge = "enable_unfavorite_edge"
|
|
}
|