Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/savage.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/com/getbootstrap/savage/github')
-rw-r--r--src/main/scala/com/getbootstrap/savage/github/CommitSha.scala1
-rw-r--r--src/main/scala/com/getbootstrap/savage/github/GitHubActorWithLogging.scala2
-rw-r--r--src/main/scala/com/getbootstrap/savage/github/PullRequestNumber.scala1
-rw-r--r--src/main/scala/com/getbootstrap/savage/github/SavageBranch.scala17
4 files changed, 20 insertions, 1 deletions
diff --git a/src/main/scala/com/getbootstrap/savage/github/CommitSha.scala b/src/main/scala/com/getbootstrap/savage/github/CommitSha.scala
index 75f77f3..e77deb4 100644
--- a/src/main/scala/com/getbootstrap/savage/github/CommitSha.scala
+++ b/src/main/scala/com/getbootstrap/savage/github/CommitSha.scala
@@ -8,6 +8,7 @@ object CommitSha {
case _ => None
}
}
+ def unapply(sha: String): Option[CommitSha] = CommitSha(sha)
}
class CommitSha private(val sha: String) extends AnyVal {
diff --git a/src/main/scala/com/getbootstrap/savage/github/GitHubActorWithLogging.scala b/src/main/scala/com/getbootstrap/savage/github/GitHubActorWithLogging.scala
index 2dde9de..9b231f3 100644
--- a/src/main/scala/com/getbootstrap/savage/github/GitHubActorWithLogging.scala
+++ b/src/main/scala/com/getbootstrap/savage/github/GitHubActorWithLogging.scala
@@ -4,7 +4,7 @@ import org.eclipse.egit.github.core.client.GitHubClient
import com.getbootstrap.savage.server.{Settings, ActorWithLogging}
abstract class GitHubActorWithLogging extends ActorWithLogging {
- protected val settings = Settings(context.system)
+ protected implicit val settings = Settings(context.system)
protected val gitHubClient = new GitHubClient()
gitHubClient.setUserAgent(settings.UserAgent)
gitHubClient.setCredentials(settings.BotUsername, settings.BotPassword)
diff --git a/src/main/scala/com/getbootstrap/savage/github/PullRequestNumber.scala b/src/main/scala/com/getbootstrap/savage/github/PullRequestNumber.scala
index f7043cb..1ac41b8 100644
--- a/src/main/scala/com/getbootstrap/savage/github/PullRequestNumber.scala
+++ b/src/main/scala/com/getbootstrap/savage/github/PullRequestNumber.scala
@@ -9,6 +9,7 @@ object PullRequestNumber {
None
}
}
+ def unapply(number: Int): Option[PullRequestNumber] = PullRequestNumber(number)
}
class PullRequestNumber private(val number: Int) extends AnyVal {
override def toString = s"PullRequestNumber(${number})"
diff --git a/src/main/scala/com/getbootstrap/savage/github/SavageBranch.scala b/src/main/scala/com/getbootstrap/savage/github/SavageBranch.scala
new file mode 100644
index 0000000..94aa4c3
--- /dev/null
+++ b/src/main/scala/com/getbootstrap/savage/github/SavageBranch.scala
@@ -0,0 +1,17 @@
+package com.getbootstrap.savage.github
+
+import com.getbootstrap.savage.server.SettingsImpl
+import com.getbootstrap.savage.util.{IntFromStr, PrefixedString}
+
+object SavageBranch {
+ def apply(branch: Branch)(implicit settings: SettingsImpl): Option[SavageBranch] = {
+ branch.name.unprefix(settings.BranchPrefix).map{ _.split("-") } match {
+ case Some(Array(IntFromStr(PullRequestNumber(num)), CommitSha(sha))) => Some(SavageBranch(num, sha))
+ case _ => None
+ }
+ }
+ def unapply(branch: Branch)(implicit settings: SettingsImpl): Option[(PullRequestNumber, CommitSha)] = SavageBranch(branch).map{ savBr => (savBr.prNum, savBr.commitSha) }
+}
+case class SavageBranch(prNum: PullRequestNumber, commitSha: CommitSha) {
+ def branch(implicit settings: SettingsImpl): Branch = Branch(s"${settings.BranchPrefix}${prNum.number}-${commitSha.sha}").get
+}