class Occi::Core::Link

Implements the base class for all OCCI links, this class can be used directly to create link instances.

@attr source [URI] link source as URI @attr #source_kind [Occi::Core::Kind, NilClass] source kind or `nil` if unknown @attr target [URI] link target, may point outside of this domain @attr #target_kind [Occi::Core::Kind, NilClass] target kind or `nil` if ourside the domain

@author Boris Parak <parak@cesnet.cz>

Constants

URI_PATH_SEPARATOR

Separator in URI PATHs

Attributes

rel[RW]
rel=[RW]
source_kind[RW]
target_kind[RW]

Public Instance Methods

source() click to toggle source

@return [URI] link source

# File lib/occi/core/link.rb, line 19
def source
  self['occi.core.source']
end
source=(source) click to toggle source

@param source [URI] link source

# File lib/occi/core/link.rb, line 24
def source=(source)
  self['occi.core.source'] = source.is_a?(String) ? URI.parse(source) : source
end
target() click to toggle source

@return [URI] link target

# File lib/occi/core/link.rb, line 29
def target
  self['occi.core.target']
end
target=(target) click to toggle source

@param target [URI] link target

# File lib/occi/core/link.rb, line 34
def target=(target)
  self['occi.core.target'] = target.is_a?(String) ? URI.parse(target) : target
end
valid!() click to toggle source

See `#valid!` on `Occi::Core::Entity`.

Calls superclass method Occi::Core::Entity#valid!
# File lib/occi/core/link.rb, line 43
def valid!
  super

  %[source target].each do |attr|
    next if valid_uri? send(attr)
    raise Occi::Core::Errors::InstanceValidationError, "Malformed or incomplete occi.core.#{attr}"
  end
end