Sha256: bc939d4c013e1deef7ad2c24855a99a8b0f0b5cdb92260d83953700f181e2f30
Contents?: true
Size: 965 Bytes
Versions: 3
Compression:
Stored size: 965 Bytes
Contents
module Redlander class Uri attr_reader :rdf_uri def initialize(source) @rdf_uri = case source when URI, String Redland.librdf_new_uri(Redlander.rdf_world, source.to_s) when Node if source.resource? Redland.librdf_node_get_uri(source.rdf_node) elsif source.literal? Redland.librdf_node_get_literal_value_datatype_uri(source.rdf_node) else raise NotImplementedError.new end else # TODO raise NotImplementedError.new end raise RedlandError.new("Failed to create URI from '#{source.inspect}'") if @rdf_uri.null? ObjectSpace.define_finalizer(self, proc { Redland.librdf_free_uri(@rdf_uri) }) end def to_s Redland.librdf_uri_to_string(@rdf_uri) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
redlander-0.3.3 | lib/redlander/uri.rb |
redlander-0.3.2 | lib/redlander/uri.rb |
redlander-0.3.1 | lib/redlander/uri.rb |