Module: Orientdb4r::OClass

Defined in:
lib/orientdb4r/rest/oclass.rb

Overview

This module represents API to OrientDB’s class.

Instance Method Summary collapse

Instance Method Details

#clustersObject

Gets clusters of the class.



36
37
38
# File 'lib/orientdb4r/rest/oclass.rb', line 36

def clusters
  get_mandatory_attribute :clusters
end

#default_clusterObject

Gets the default cluster.



42
43
44
# File 'lib/orientdb4r/rest/oclass.rb', line 42

def default_cluster
  get_mandatory_attribute :defaultCluster
end

#get_mandatory_attribute(name) ⇒ Object

Gets an attribute value that has to be presented.



50
51
52
53
54
# File 'lib/orientdb4r/rest/oclass.rb', line 50

def get_mandatory_attribute(name)
  key = name.to_s
  raise ArgumentError "unknown attribute, name=#{key}" unless self.include? key
  self[key]
end

#nameObject

Gets name of the class.



9
10
11
# File 'lib/orientdb4r/rest/oclass.rb', line 9

def name
  get_mandatory_attribute :name
end

#propertiesObject

Gets properties of the class.



15
16
17
# File 'lib/orientdb4r/rest/oclass.rb', line 15

def properties
  get_mandatory_attribute :properties
end

#property(name) ⇒ Object

Gets a property with the given name.

Raises:

  • (ArgumentError)


21
22
23
24
25
26
# File 'lib/orientdb4r/rest/oclass.rb', line 21

def property(name)
  props = properties.select { |i| i['name'] == name.to_s }
  raise ArgumentError, "unknown property, name=#{name}" if props.empty?
  raise ArgumentError, "too many properties found, name=#{name}" if props.size > 1 # just to be sure
  props[0]
end

#super_classObject

Gets the super-class.



30
31
32
# File 'lib/orientdb4r/rest/oclass.rb', line 30

def super_class
  get_mandatory_attribute :superClass
end