Consistent toString() and @EqualsAndHashCode for most classes.
This commit is contained in:
parent
8352e6001d
commit
e6e20b5f3e
@ -5,15 +5,25 @@ import com.jessebrault.ssg.specialpage.SpecialPagesProvider
|
||||
import com.jessebrault.ssg.template.TemplatesProvider
|
||||
import com.jessebrault.ssg.text.TextsProvider
|
||||
import groovy.transform.Canonical
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.MapConstructor
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@Canonical
|
||||
@TupleConstructor
|
||||
@MapConstructor
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
class Config {
|
||||
|
||||
Collection<TextsProvider> textProviders
|
||||
Collection<TemplatesProvider> templatesProviders
|
||||
Collection<PartsProvider> partsProviders
|
||||
Collection<SpecialPagesProvider> specialPagesProviders
|
||||
|
||||
String toString() {
|
||||
"Config(textProviders: ${ this.textProviders }, templatesProviders: ${ this.templatesProviders }, " +
|
||||
"partsProviders: ${ this.partsProviders }, specialPagesProviders: ${ this.specialPagesProviders })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,10 +1,16 @@
|
||||
package com.jessebrault.ssg
|
||||
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.slf4j.Marker
|
||||
import org.slf4j.MarkerFactory
|
||||
|
||||
@TupleConstructor(includeFields = true)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class SimpleStaticSiteGenerator implements StaticSiteGenerator {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SimpleStaticSiteGenerator)
|
||||
@ -13,10 +19,6 @@ class SimpleStaticSiteGenerator implements StaticSiteGenerator {
|
||||
|
||||
private final Config config
|
||||
|
||||
SimpleStaticSiteGenerator(Config config) {
|
||||
this.config = config
|
||||
}
|
||||
|
||||
@Override
|
||||
void generate(File buildDir, Map globals) {
|
||||
logger.trace(enter, 'buildDir: {}, globals: {}', buildDir, globals)
|
||||
@ -92,4 +94,9 @@ class SimpleStaticSiteGenerator implements StaticSiteGenerator {
|
||||
logger.trace(exit, '')
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"SimpleStaticSiteGenerator()"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,11 +1,13 @@
|
||||
package com.jessebrault.ssg.part
|
||||
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@TupleConstructor(includeFields = true, defaults = false)
|
||||
@NullCheck
|
||||
class EmbeddablePart {
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class EmbeddablePart {
|
||||
|
||||
private final Part part
|
||||
private final Map globals
|
||||
@ -14,4 +16,9 @@ import groovy.transform.TupleConstructor
|
||||
part.type.renderer.render(this.part.text, binding, this.globals)
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"EmbeddablePart(part: ${ this.part }, globals: ${ this.globals })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
package com.jessebrault.ssg.part
|
||||
|
||||
import groovy.transform.ToString
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
|
||||
@ToString(includeFields = true)
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class EmbeddablePartsMap {
|
||||
|
||||
@Delegate
|
||||
@ -11,8 +11,13 @@ class EmbeddablePartsMap {
|
||||
EmbeddablePartsMap(Collection<Part> parts, Map globals) {
|
||||
Objects.requireNonNull(parts)
|
||||
parts.each {
|
||||
this.put(it.name, new EmbeddablePart(it, globals))
|
||||
this.put(it.path, new EmbeddablePart(it, globals))
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"EmbeddablePartsMap(partsMap: ${ this.partsMap })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,9 @@ package com.jessebrault.ssg.part
|
||||
|
||||
import groovy.text.GStringTemplateEngine
|
||||
import groovy.text.TemplateEngine
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
|
||||
@EqualsAndHashCode
|
||||
class GspPartRenderer implements PartRenderer {
|
||||
|
||||
private static final TemplateEngine engine = new GStringTemplateEngine()
|
||||
@ -15,4 +17,9 @@ class GspPartRenderer implements PartRenderer {
|
||||
])
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"GspPartRenderer()"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,14 +1,21 @@
|
||||
package com.jessebrault.ssg.part
|
||||
|
||||
import groovy.transform.Canonical
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@Canonical
|
||||
@TupleConstructor(defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
class Part {
|
||||
String name
|
||||
|
||||
String path
|
||||
PartType type
|
||||
String text
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"Part(path: ${ this.path }, type: ${ this.type })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.jessebrault.ssg.part
|
||||
|
||||
import com.jessebrault.ssg.util.FileNameHandler
|
||||
import groovy.io.FileType
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
import org.slf4j.Logger
|
||||
@ -9,6 +10,7 @@ import org.slf4j.LoggerFactory
|
||||
|
||||
@TupleConstructor(includeFields = true, defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class PartFilePartsProvider implements PartsProvider {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(PartFilePartsProvider)
|
||||
@ -18,7 +20,7 @@ class PartFilePartsProvider implements PartsProvider {
|
||||
|
||||
private PartType getPartType(File file) {
|
||||
partTypes.find {
|
||||
it.extensions.contains(new FileNameHandler(file).getExtension())
|
||||
it.ids.contains(new FileNameHandler(file).getExtension())
|
||||
}
|
||||
}
|
||||
|
||||
@ -47,4 +49,9 @@ class PartFilePartsProvider implements PartsProvider {
|
||||
this.partTypes
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"PartFilePartsProvider(partsDir: ${ this.partsDir }, partTypes: ${ this.partTypes })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,20 @@
|
||||
package com.jessebrault.ssg.part
|
||||
|
||||
import groovy.transform.Canonical
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@Canonical
|
||||
@TupleConstructor(defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
class PartType {
|
||||
Collection<String> extensions
|
||||
|
||||
Collection<String> ids
|
||||
PartRenderer renderer
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"PartType(ids: ${ this.ids }, renderer: ${ this.renderer })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,7 +6,9 @@ import com.jessebrault.ssg.text.EmbeddableTextsCollection
|
||||
import com.jessebrault.ssg.text.Text
|
||||
import groovy.text.GStringTemplateEngine
|
||||
import groovy.text.TemplateEngine
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
|
||||
@EqualsAndHashCode
|
||||
class GspSpecialPageRenderer implements SpecialPageRenderer {
|
||||
|
||||
private static final TemplateEngine engine = new GStringTemplateEngine()
|
||||
@ -25,4 +27,9 @@ class GspSpecialPageRenderer implements SpecialPageRenderer {
|
||||
])
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"GspSpecialPageRenderer()"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,14 +1,21 @@
|
||||
package com.jessebrault.ssg.specialpage
|
||||
|
||||
import groovy.transform.Canonical
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@Canonical
|
||||
@TupleConstructor(defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
class SpecialPage {
|
||||
|
||||
String text
|
||||
String path
|
||||
SpecialPageType type
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"SpecialPage(path: ${ this.path }, type: ${ this.type })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.jessebrault.ssg.specialpage
|
||||
import com.jessebrault.ssg.util.FileNameHandler
|
||||
import com.jessebrault.ssg.util.RelativePathHandler
|
||||
import groovy.io.FileType
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
import org.slf4j.Logger
|
||||
@ -10,6 +11,7 @@ import org.slf4j.LoggerFactory
|
||||
|
||||
@TupleConstructor(includeFields = true, defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class SpecialPageFileSpecialPagesProvider implements SpecialPagesProvider {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SpecialPageFileSpecialPagesProvider)
|
||||
@ -49,4 +51,9 @@ class SpecialPageFileSpecialPagesProvider implements SpecialPagesProvider {
|
||||
this.specialPageTypes
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"SpecialPageFileSpecialPagesProvider(specialPagesDir: ${ this.specialPagesDir }, specialPageTypes: ${ this.specialPageTypes })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,20 @@
|
||||
package com.jessebrault.ssg.specialpage
|
||||
|
||||
import groovy.transform.Canonical
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@Canonical
|
||||
@TupleConstructor(defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
class SpecialPageType {
|
||||
|
||||
Collection<String> ids
|
||||
SpecialPageRenderer renderer
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"SpecialPageType(ids: ${ this.ids }, renderer: ${ this.renderer })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -5,7 +5,9 @@ import com.jessebrault.ssg.part.EmbeddablePartsMap
|
||||
import com.jessebrault.ssg.text.FrontMatter
|
||||
import groovy.text.GStringTemplateEngine
|
||||
import groovy.text.TemplateEngine
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
|
||||
@EqualsAndHashCode
|
||||
class GspTemplateRenderer implements TemplateRenderer {
|
||||
|
||||
private static final TemplateEngine engine = new GStringTemplateEngine()
|
||||
@ -26,4 +28,9 @@ class GspTemplateRenderer implements TemplateRenderer {
|
||||
])
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"GspTemplateRenderer()"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,14 +1,21 @@
|
||||
package com.jessebrault.ssg.template
|
||||
|
||||
import groovy.transform.Canonical
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@Canonical
|
||||
@TupleConstructor(defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
class Template {
|
||||
|
||||
String text
|
||||
String relativePath
|
||||
TemplateType type
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"Template(path: ${ this.relativePath }, type: ${ this.type })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.jessebrault.ssg.template
|
||||
|
||||
import com.jessebrault.ssg.util.FileNameHandler
|
||||
import groovy.io.FileType
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
import org.slf4j.Logger
|
||||
@ -9,6 +10,7 @@ import org.slf4j.LoggerFactory
|
||||
|
||||
@TupleConstructor(includeFields = true, defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class TemplateFileTemplatesProvider implements TemplatesProvider {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(TemplateFileTemplatesProvider)
|
||||
@ -18,7 +20,7 @@ class TemplateFileTemplatesProvider implements TemplatesProvider {
|
||||
|
||||
private TemplateType getType(File file) {
|
||||
this.templateTypes.find {
|
||||
it.extensions.contains(new FileNameHandler(file).getExtension())
|
||||
it.ids.contains(new FileNameHandler(file).getExtension())
|
||||
}
|
||||
}
|
||||
|
||||
@ -46,4 +48,9 @@ class TemplateFileTemplatesProvider implements TemplatesProvider {
|
||||
this.templateTypes
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"TemplateFileTemplatesProvider(templatesDir: ${ this.templatesDir }, templateTypes: ${ this.templateTypes })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,20 @@
|
||||
package com.jessebrault.ssg.template
|
||||
|
||||
import groovy.transform.Canonical
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@Canonical
|
||||
@TupleConstructor(defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
class TemplateType {
|
||||
Collection<String> extensions
|
||||
|
||||
Collection<String> ids
|
||||
TemplateRenderer renderer
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"TemplateType(ids: ${ this.ids }, renderer: ${ this.renderer })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,11 +1,13 @@
|
||||
package com.jessebrault.ssg.text
|
||||
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.Memoized
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@TupleConstructor(includeFields = true, defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class EmbeddableText {
|
||||
|
||||
private final Text text
|
||||
@ -25,4 +27,9 @@ import groovy.transform.TupleConstructor
|
||||
this.text.path
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"EmbeddableText(text: ${ this.text }, globals: ${ this.globals })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
package com.jessebrault.ssg.text
|
||||
|
||||
import groovy.transform.ToString
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
|
||||
@ToString(includeFields = true)
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class EmbeddableTextsCollection {
|
||||
|
||||
@Delegate
|
||||
@ -14,6 +14,9 @@ class EmbeddableTextsCollection {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"EmbeddableTextsCollection(embeddableTexts: ${ this.embeddableTexts })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
package com.jessebrault.ssg.text
|
||||
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.ToString
|
||||
import groovy.transform.TupleConstructor
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
@TupleConstructor(includeFields = true, defaults = false)
|
||||
@NullCheck
|
||||
@ToString(includeFields = true)
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class FrontMatter {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(FrontMatter)
|
||||
@ -37,4 +37,9 @@ class FrontMatter {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"FrontMatter(data: ${ this.data })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,11 @@
|
||||
package com.jessebrault.ssg.text
|
||||
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import org.commonmark.ext.front.matter.YamlFrontMatterExtension
|
||||
import org.commonmark.ext.front.matter.YamlFrontMatterVisitor
|
||||
import org.commonmark.parser.Parser
|
||||
|
||||
@EqualsAndHashCode
|
||||
class MarkdownFrontMatterGetter implements FrontMatterGetter {
|
||||
|
||||
private static final Parser parser = Parser.builder()
|
||||
@ -18,4 +20,9 @@ class MarkdownFrontMatterGetter implements FrontMatterGetter {
|
||||
new FrontMatter(v.data)
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"MarkdownFrontMatterGetter()"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,11 @@
|
||||
package com.jessebrault.ssg.text
|
||||
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import org.commonmark.ext.front.matter.YamlFrontMatterExtension
|
||||
import org.commonmark.parser.Parser
|
||||
import org.commonmark.renderer.html.HtmlRenderer
|
||||
|
||||
@EqualsAndHashCode
|
||||
class MarkdownTextRenderer implements TextRenderer {
|
||||
|
||||
private static final Parser parser = Parser.builder()
|
||||
@ -16,4 +18,9 @@ class MarkdownTextRenderer implements TextRenderer {
|
||||
htmlRenderer.render(parser.parse(text))
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"MarkdownTextRenderer()"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,14 +1,21 @@
|
||||
package com.jessebrault.ssg.text
|
||||
|
||||
import groovy.transform.Canonical
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@Canonical
|
||||
@TupleConstructor(defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
class Text {
|
||||
|
||||
String text
|
||||
String path
|
||||
TextType type
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"Text(path: ${ this.path }, type: ${ this.type })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.jessebrault.ssg.text
|
||||
import com.jessebrault.ssg.util.FileNameHandler
|
||||
import com.jessebrault.ssg.util.RelativePathHandler
|
||||
import groovy.io.FileType
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
import org.slf4j.Logger
|
||||
@ -10,6 +11,7 @@ import org.slf4j.LoggerFactory
|
||||
|
||||
@TupleConstructor(includeFields = true, defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class TextFileTextsProvider implements TextsProvider {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(TextFileTextsProvider)
|
||||
@ -49,4 +51,9 @@ class TextFileTextsProvider implements TextsProvider {
|
||||
this.textTypes
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"TextFileTextsProvider(textsDir: ${ this.textsDir }, textTypes: ${ this.textTypes })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,14 +1,21 @@
|
||||
package com.jessebrault.ssg.text
|
||||
|
||||
import groovy.transform.Canonical
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@Canonical
|
||||
@TupleConstructor(defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode
|
||||
class TextType {
|
||||
|
||||
Collection<String> ids
|
||||
TextRenderer renderer
|
||||
FrontMatterGetter frontMatterGetter
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"TextType(ids: ${ this.ids }, renderer: ${ this.renderer }, frontMatterGetter: ${ this.renderer })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
package com.jessebrault.ssg.util
|
||||
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@TupleConstructor(includeFields = true, defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class FileNameHandler {
|
||||
|
||||
private final File file
|
||||
@ -22,4 +24,9 @@ class FileNameHandler {
|
||||
this.file.name.substring(0, this.file.name.lastIndexOf('.'))
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"FileNameHandler(file: ${ this.file })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
package com.jessebrault.ssg.util
|
||||
|
||||
import groovy.transform.EqualsAndHashCode
|
||||
import groovy.transform.NullCheck
|
||||
import groovy.transform.TupleConstructor
|
||||
|
||||
@TupleConstructor(includeFields = true, defaults = false)
|
||||
@NullCheck
|
||||
@EqualsAndHashCode(includeFields = true)
|
||||
class RelativePathHandler {
|
||||
|
||||
private final String relativePath
|
||||
@ -13,4 +15,9 @@ class RelativePathHandler {
|
||||
this.relativePath.subSequence(0, this.relativePath.lastIndexOf('.'))
|
||||
}
|
||||
|
||||
@Override
|
||||
String toString() {
|
||||
"RelativePathHandler(relativePath: ${ this.relativePath })"
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ class PartFilePartsProviderTests {
|
||||
def r = this.partsProvider.getParts()
|
||||
assertEquals(1, r.size())
|
||||
def p0 = r[0]
|
||||
assertEquals('testPart.gsp', p0.name)
|
||||
assertEquals('testPart.gsp', p0.path)
|
||||
assertEquals(gspPartType, p0.type)
|
||||
assertEquals('Hello <%= name %>!', p0.text)
|
||||
}
|
||||
@ -43,7 +43,7 @@ class PartFilePartsProviderTests {
|
||||
def r = this.partsProvider.getParts()
|
||||
assertEquals(1, r.size())
|
||||
def p0 = r[0]
|
||||
assertEquals('nested/testPart.gsp', p0.name)
|
||||
assertEquals('nested/testPart.gsp', p0.path)
|
||||
assertEquals(gspPartType, p0.type)
|
||||
assertEquals('Hello, World!', p0.text)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user