Sha256: bed74f2a4faacc90a2a800f015f9a66e3c41a2e922e2e34ff8937daa09fecac2
Contents?: true
Size: 1.13 KB
Versions: 46
Compression:
Stored size: 1.13 KB
Contents
module RDF; class Literal ## # A token literal. # # @see http://www.w3.org/TR/xmlschema-2/#token # @since 0.2.3 class Token < Literal DATATYPE = XSD.token GRAMMAR = /\A[^\x0D\x0A\x09]+\z/i.freeze # FIXME ## # @param [Symbol, #to_s] value # @option options [String] :lexical (nil) def initialize(value, options = {}) @datatype = RDF::URI(options[:datatype] || self.class.const_get(:DATATYPE)) @string = options[:lexical] if options.has_key?(:lexical) @string ||= value if value.is_a?(String) @object = value.is_a?(Symbol) ? value : value.to_s end ## # Converts this literal into its canonical lexical representation. # # @return [RDF::Literal] `self` # @see http://www.w3.org/TR/xmlschema-2/#boolean def canonicalize! @string = @object.to_s if @object self end ## # Returns the value as a symbol. # # @return [Symbol] def to_sym @object.to_sym end ## # Returns the value as a string. # # @return [String] def to_s @string || @object.to_s end end # Token end; end # RDF::Literal
Version data entries
46 entries across 46 versions & 2 rubygems