rdf-ex/lib/rdf/datatypes/integer.ex

23 lines
468 B
Elixir
Raw Normal View History

defmodule RDF.Integer do
@moduledoc """
`RDF.Datatype` for XSD integer.
"""
use RDF.Datatype, id: RDF.Datatype.NS.XSD.integer
def convert(value, _) when is_integer(value), do: value
def convert(value, opts) when is_binary(value) do
case Integer.parse(value) do
{integer, ""} -> integer
2017-04-26 00:48:49 +00:00
{_, _} -> super(value, opts)
:error -> super(value, opts)
end
end
def convert(value, opts), do: super(value, opts)
2017-04-26 00:48:49 +00:00
end