Skip to content

Commit 0a82efb

Browse files
committed
Calls new render limit method from filter
1 parent baae46e commit 0a82efb

2 files changed

Lines changed: 14 additions & 8 deletions

File tree

src/main/java/com/hubspot/jinjava/interpret/JinjavaInterpreter.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@
7575
public class JinjavaInterpreter implements PyishSerializable {
7676
public static final String IGNORED_OUTPUT_FROM_EXTENDS_NOTE =
7777
"ignored_output_from_extends";
78+
public static final long NO_LIMIT = -1;
79+
7880
private final Multimap<String, BlockInfo> blocks = ArrayListMultimap.create();
7981
private final LinkedList<Node> extendParentRoots = new LinkedList<>();
8082
private final Map<String, RevertibleObject> revertibleObjects = new HashMap<>();
@@ -94,7 +96,6 @@ public class JinjavaInterpreter implements PyishSerializable {
9496
private final Set<Integer> errorSet = new HashSet<>();
9597

9698
private static final int MAX_ERROR_SIZE = 100;
97-
private static final long NO_LIMIT = -1;
9899

99100
public JinjavaInterpreter(
100101
Jinjava application,
@@ -260,7 +261,11 @@ public String renderFlat(String template) {
260261
* @return rendered result
261262
*/
262263
public String render(String template) {
263-
return render(parse(template), true);
264+
return render(template, NO_LIMIT);
265+
}
266+
267+
public String render(String template, long renderLimit) {
268+
return render(parse(template), true, renderLimit);
264269
}
265270

266271
/**
@@ -287,7 +292,7 @@ public String render(Node root, boolean processExtendRoots) {
287292
}
288293

289294
/**
290-
* Rendee the given root node to a certain limit, processing extend parents.
295+
* Render the given root node to a certain limit, processing extend parents.
291296
* @param root
292297
* node to render
293298
* @param renderLimit

src/main/java/com/hubspot/jinjava/lib/filter/RenderFilter.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.hubspot.jinjava.doc.annotations.JinjavaSnippet;
66
import com.hubspot.jinjava.interpret.JinjavaInterpreter;
77
import java.util.Objects;
8+
import org.apache.commons.lang3.math.NumberUtils;
89

910
@JinjavaDoc(
1011
value = "Renders a template string early to be used by other filters and functions",
@@ -25,11 +26,11 @@ public String getName() {
2526
@Override
2627
public Object filter(Object var, JinjavaInterpreter interpreter, String... args) {
2728
if (args.length > 0) {
28-
/*
29-
This means a render limit length has been provided.
30-
Here we begin a left to right render where we add to an HTML string until the length reaches a certain limit.
31-
*/
32-
return interpreter.render(Objects.toString(var));
29+
String firstArg = args[0];
30+
return interpreter.render(
31+
Objects.toString(var),
32+
NumberUtils.toLong(firstArg, JinjavaInterpreter.NO_LIMIT)
33+
);
3334
}
3435
return interpreter.render(Objects.toString(var));
3536
}

0 commit comments

Comments
 (0)