lib/redlander.rb in redlander-0.6.1 vs lib/redlander.rb in redlander-0.6.2
- old
+ new
@@ -10,21 +10,23 @@
require 'redlander/statement'
# Main Redlander namespace
module Redlander
class << self
+
# @api private
def rdf_world
unless @rdf_world
@rdf_world = Redland.librdf_new_world
raise RedlandError, "Could not create a new RDF world" if @rdf_world.null?
- ObjectSpace.define_finalizer(self, proc { Redland.librdf_free_world(@rdf_world) })
+ ObjectSpace.define_finalizer(self, finalize_world(@rdf_world))
Redland.librdf_world_open(@rdf_world)
end
@rdf_world
end
+
# @api private
# Convert options hash into a string for librdf.
# What it does:
# 1) Convert boolean values into 'yes/no' values
# 2) Change underscores in key names into dashes ('dhar_ma' => 'dhar-ma')
@@ -41,8 +43,16 @@
else
option_pair[1]
end
opts << "#{key}='#{value}'"
}.join(',')
+ end
+
+
+ private
+
+ # @api private
+ def finalize_world(rdf_world_ptr)
+ proc { Redland.librdf_free_world(rdf_world_ptr) }
end
end
end