Recognize booleans as convertible literals on object position

This commit is contained in:
Marcel Otto 2017-07-02 19:48:38 +02:00
parent eac9446c70
commit 306b2013d5
3 changed files with 9 additions and 0 deletions

View file

@ -11,6 +11,10 @@ This project adheres to [Semantic Versioning](http://semver.org/) and
- Don't support Elixir versions < 1.4
### Fixed
- booleans weren't recognized as convertible literals on object positions
## 0.1.1 - 2017-06-25

View file

@ -57,6 +57,7 @@ defmodule RDF.Statement do
def convert_object(uri = %URI{}), do: uri
def convert_object(literal = %Literal{}), do: literal
def convert_object(bnode = %BlankNode{}), do: bnode
def convert_object(bool) when is_boolean(bool), do: Literal.new(bool)
def convert_object(atom) when is_atom(atom), do: RDF.uri(atom)
def convert_object(arg), do: Literal.new(arg)

View file

@ -88,6 +88,10 @@ defmodule RDF.DescriptionTest do
{"http://example.com/predicate", 42})
|> description_includes_predication({EX.predicate, literal(42)})
assert Description.add(description(),
{"http://example.com/predicate", true})
|> description_includes_predication({EX.predicate, literal(true)})
assert Description.add(description(),
{"http://example.com/predicate", bnode(:foo)})
|> description_includes_predication({EX.predicate, bnode(:foo)})