summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2010-05-12 16:31:25 +0200
committermguetlein <martin.guetlein@gmail.com>2010-05-12 16:31:25 +0200
commitcec1def5fb3e9c726dde0a69328540806b214fbf (patch)
tree0ffff62887a64b338c34152daa451acc5e2c1038 /lib
parent34e9a01d740780112ff5ce836754f7f51521e969 (diff)
add integer and datetime conversion to literals
Diffstat (limited to 'lib')
-rw-r--r--lib/owl.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/owl.rb b/lib/owl.rb
index 671220b..e9ddcbf 100644
--- a/lib/owl.rb
+++ b/lib/owl.rb
@@ -32,6 +32,7 @@ class Redland::Literal
@@type_date = XML["date"].uri
@@type_boolean = XML["boolean"].uri
@@type_datetime = XML["dateTime"].uri
+ @@type_integer = XML["integer"].uri
# parses value according to datatype uri
def self.parse_value(string_value, datatype_uri)
@@ -54,6 +55,8 @@ class Redland::Literal
return string_value #PENDING date as string?
when @@type_datetime.to_s
return string_value #PENDING date as string?
+ when @@type_integer.to_s
+ return string_value.to_i
else
raise "unknown literal datatype: '"+datatype_uri.to_s+"', value is "+string_value
end
@@ -74,6 +77,10 @@ class Redland::Literal
return @@type_float
elsif value.is_a?(TrueClass) or value.is_a?(FalseClass)
return @@type_boolean
+ elsif value.is_a?(Integer)
+ return @@type_integer
+ elsif value.is_a?(DateTime)
+ return @@type_datetime
else
raise "illegal datatype: "+value.class.to_s+" "+value.to_s
end