src/main/scala/s3/website/model/Config.scala in s3_website-2.1.16 vs src/main/scala/s3/website/model/Config.scala in s3_website-2.2.0
- old
+ new
@@ -1,7 +1,9 @@
package s3.website.model
+import java.io.File
+
import scala.util.{Failure, Try}
import scala.collection.JavaConversions._
import s3.website.Ruby.rubyRuntime
import s3.website.ErrorReport
import com.amazonaws.auth.{AWSCredentialsProvider, BasicAWSCredentials, DefaultAWSCredentialsProviderChain}
@@ -9,10 +11,11 @@
case class Config(
s3_id: Option[String], // If undefined, use IAM Roles (http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-roles.html)
s3_secret: Option[String], // If undefined, use IAM Roles (http://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-roles.html)
s3_bucket: String,
s3_endpoint: S3Endpoint,
+ site: Option[String],
max_age: Option[Either[Int, Map[String, Int]]],
gzip: Option[Either[Boolean, Seq[String]]],
gzip_zopfli: Option[Boolean],
ignore_on_server: Option[Either[String, Seq[String]]],
exclude_from_upload: Option[Either[String, Seq[String]]],
@@ -152,11 +155,11 @@
def loadOptionalValue(key: String)(implicit unsafeYaml: UnsafeYaml): Try[Option[_]] =
Try {
unsafeYaml.yamlObject.asInstanceOf[java.util.Map[String, _]].toMap get key
}
- def erbEval(erbString: String, yamlConfigPath: String): Try[String] = Try {
+ def erbEval(erbString: String, yamlConfig: S3_website_yml): Try[String] = Try {
val erbStringWithoutComments = erbString.replaceAll("^\\s*#.*", "")
rubyRuntime.evalScriptlet(
s"""|# encoding: utf-8
|require 'erb'
|
@@ -165,11 +168,15 @@
|ERBSTR
|ERB.new(str).result
""".stripMargin
).asJavaString()
} match {
- case Failure(err) => Failure(new RuntimeException(s"Failed to parse ERB in $yamlConfigPath:\n${err.getMessage}"))
+ case Failure(err) => Failure(new RuntimeException(s"Failed to parse ERB in $yamlConfig:\n${err.getMessage}"))
case x => x
}
case class UnsafeYaml(yamlObject: AnyRef)
+
+ case class S3_website_yml(file: File) {
+ override def toString = file.getPath
+ }
}
\ No newline at end of file