class RDF::Node

Public Instance Methods

as(klass, *args) click to toggle source

Create a projection of this Node as the given Spira::Resource class. Equivalent to `klass.for(self, *args)`

@example Instantiating a blank node as a Spira Resource

RDF::Node.new.as(Person)

@param [Class] klass @param [*Any] args Any arguments to pass to klass.for @yield [self] Executes a given block and calls `#save!` @yieldparam [self] self The newly created instance @return [Klass] An instance of klass

# File lib/rdf/ext/uri.rb, line 32
def as(klass, *args)
  raise ArgumentError, "#{klass} is not a Spira resource" unless klass.is_a?(Class) && klass.ancestors.include?(Spira::Base)
  klass.for(self, *args)
end