class Factoid::Source

Attributes

uri[R]
uuid[R]
value[R]

Public Class Methods

from_xml(elem) click to toggle source
# File lib/factoid/xml.rb, line 69
def Source.from_xml(elem)
        uuid = elem.attr('xml:id')

        uri = elem.attr('xlink:href')

        default = (elem.attr('default') == 'true')

        #value = Value.from_xml(elem)
        value = Value::EMPTY

        return Source.new(uuid, uri, default, value)
end
new(uuid, uri, default, value) click to toggle source
# File lib/factoid/source.rb, line 8
def initialize(uuid, uri, default, value)
        @uuid = uuid
        @uri = Addressable::URI.parse(uri)
        @default = default
        @value = value
end

Public Instance Methods

==(other) click to toggle source
# File lib/factoid/source.rb, line 28
def ==(other)
        if other.equal?(self)
                return true
        end

        if other.is_a?(Source)
                if other.ref?
                        return other.uri == self.uri
                else
                        return other.value == self.value
                end
        end

        if ref?
                return Addressable::URI.parse(other) == @uri
        else
                return other == @value.to_s
        end
end
default?() click to toggle source
# File lib/factoid/source.rb, line 19
def default?
        return @default
end
ref?() click to toggle source
# File lib/factoid/source.rb, line 23
def ref?
        # FIXME: separate SourceRef class
        return !@uri.nil?
end