module Redlander

Main Redlander namespace

Constants

VERSION

Redlander version number

Public Class Methods

rdf_world() click to toggle source

@api private

# File lib/redlander.rb, line 17
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, finalize_world(@rdf_world))
    Redland.librdf_world_open(@rdf_world)
  end
  @rdf_world
end
to_rdf_options(options = {}) click to toggle source

@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')
3) Join all options as "key='value'" pairs in a comma-separated string

@example

to_rdf_options {:key => true, "key_board" => 3}
# => "key='yes',key-board='3'"
# File lib/redlander.rb, line 38
def to_rdf_options(options = {})
  options.inject([]){|opts, option_pair|
    key = option_pair[0].to_s.gsub(/_/, '-')
    value = if [TrueClass, FalseClass].include?(option_pair[1].class)
              option_pair[1] ? 'yes' : 'no'
            else
              option_pair[1]
            end
    opts << "#{key}='#{value}'"
  }.join(',')
end

Private Class Methods

finalize_world(rdf_world_ptr) click to toggle source

@api private

# File lib/redlander.rb, line 54
def finalize_world(rdf_world_ptr)
  proc { Redland.librdf_free_world(rdf_world_ptr) }
end