Skip to content

Commit

Permalink
fix 'contains' operator
Browse files Browse the repository at this point in the history
  • Loading branch information
edadma committed May 5, 2018
1 parent 011c988 commit f0bf3d3
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 12 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Liquescent
[![Build Status](https://www.travis-ci.org/edadma/liquescent.svg?branch=master)](https://www.travis-ci.org/edadma/liquescent)
[![Coverage Status](https://coveralls.io/repos/github/edadma/liquescent/badge.svg?branch=master)](https://coveralls.io/github/edadma/liquescent?branch=master)
[![License](https://img.shields.io/badge/license-ISC-blue.svg)](https://github.com/edadma/liquescent/blob/master/LICENSE)
[![Version](https://img.shields.io/badge/latest_release-v0.2_snapshot_5-orange.svg)](https://github.com/edadma/liquescent/releases/tag/v0.2_snapshot_5)
[![Version](https://img.shields.io/badge/latest_release-v0.2_snapshot_5.1-orange.svg)](https://github.com/edadma/liquescent/releases/tag/v0.2_snapshot_5.1)

*Liquescent* is an implementation of the [Liquid](https://shopify.github.io/liquid/) templating language for the [Scala](http://scala-lang.org) programming language.

Expand Down Expand Up @@ -52,7 +52,7 @@ This program prints
This next example shows how to use *Liquescent* as an executable on the command line.

```bash
echo "{{ v | join: \", \" }}" | java -jar liquescent-0.2_snapshot_5.jar -j "{v: [\"one\", \"two\", \"three\"]}" --
echo "{{ v | join: \", \" }}" | java -jar liquescent-0.2_snapshot_5.1.jar -j "{v: [\"one\", \"two\", \"three\"]}" --
```

The above command prints
Expand All @@ -74,7 +74,7 @@ Use the following definition to use Liquescent in your Maven project:
<dependency>
<groupId>xyz.hyperreal</groupId>
<artifactId>liquescent</artifactId>
<version>0.2_snapshot_5</version>
<version>0.2_snapshot_5.1</version>
</dependency>
```

Expand All @@ -83,7 +83,7 @@ Add the following to your `build.sbt` file to use Liquescent in your SBT project
```sbt
resolvers += "Hyperreal Repository" at "https://dl.bintray.com/edadma/maven"

libraryDependencies += "xyz.hyperreal" %% "liquescent" % "0.2_snapshot_5"
libraryDependencies += "xyz.hyperreal" %% "liquescent" % "0.2_snapshot_5.1"
```

Building
Expand Down
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name := "liquescent"

version := "0.2_snapshot_5"
version := "0.2_snapshot_5.1"

scalaVersion := "2.12.6"

Expand Down
16 changes: 11 additions & 5 deletions src/main/scala/Interpreter.scala
Original file line number Diff line number Diff line change
Expand Up @@ -281,11 +281,17 @@ class Interpreter( filters: Map[String, Filter], tags: Map[String, Tag], setting
case GtExpressionAST( left, right ) => compare( eval(left, locals), eval(right, locals) ) > 0
case GteExpressionAST( left, right ) => compare( eval(left, locals), eval(right, locals) ) >= 0
case ContainsExpressionAST( left, right ) =>
(eval( left, locals ), eval( right, locals )) match {
case (seq: Seq[_], str: String) => seq contains str
case (s1: String, s2: String) => s1 contains s2
case (a, b) => sys.error( s"expected string/array contains string: $a, $b" )
}
val l = eval( left, locals )
val r = eval( right, locals )

if (l == nil || r == nil)
nil
else
(l, r) match {
case (seq: Seq[_], str: String) => seq contains str
case (s1: String, s2: String) => s1 contains s2
case (a, b) => sys.error( s"expected string/array contains string: $a, $b" )
}
}

class BreakException extends RuntimeException
Expand Down
4 changes: 2 additions & 2 deletions src/main/scala/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ object Main extends App {

def usage {
"""
|liquescent v0.2_snapshot_5
|liquescent v0.2_snapshot_5.1
|
|Usage: java -jar liquescent-0.2_snapshot_5.jar <options> <liquid template>
|Usage: java -jar liquescent-0.2_snapshot_5.1.jar <options> <liquid template>
|
|Options: --help display this help and exit
| -s <name> <string> assign <string> to variable <name>
Expand Down

0 comments on commit f0bf3d3

Please sign in to comment.