From 7b89c3229526ca552d1cb312a7f6c06ac44d0f5f Mon Sep 17 00:00:00 2001 From: Marius Rackwitz Date: Sun, 26 Oct 2014 13:13:06 +0000 Subject: [PATCH] Reduced code-duplication --- Stencil/Tokenizer.swift | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Stencil/Tokenizer.swift b/Stencil/Tokenizer.swift index d78b764..53a1268 100644 --- a/Stencil/Tokenizer.swift +++ b/Stencil/Tokenizer.swift @@ -18,16 +18,20 @@ public enum Token : Equatable { func components() -> [String] { // TODO: Make this smarter and treat quoted strings as a single component let characterSet = NSCharacterSet.whitespaceAndNewlineCharacterSet() + + func strip(value: String) -> [String] { + return value.stringByTrimmingCharactersInSet(characterSet).componentsSeparatedByCharactersInSet(characterSet) + } switch self { case .Block(let value): - return value.value.stringByTrimmingCharactersInSet(characterSet).componentsSeparatedByCharactersInSet(characterSet) + return strip(value) case .Variable(let value): - return value.value.stringByTrimmingCharactersInSet(characterSet).componentsSeparatedByCharactersInSet(characterSet) + return strip(value) case .Text(let value): - return value.value.stringByTrimmingCharactersInSet(characterSet).componentsSeparatedByCharactersInSet(characterSet) + return strip(value) case .Comment(let value): - return value.value.stringByTrimmingCharactersInSet(characterSet).componentsSeparatedByCharactersInSet(characterSet) + return strip(value) } }