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