Sha256: e62c3f0f8d9f840cbf98ed7d935f42d51cb03b4d62f7e4b54581758a786f7f8c
Contents?: true
Size: 1.26 KB
Versions: 4
Compression:
Stored size: 1.26 KB
Contents
module Neo4jr class RelationshipType include org.neo4j.graphdb.RelationshipType @@names = {} class << self def instance(name) return @@names[name] if @@names.include?(name) @@names[name] = RelationshipType.new(name) end def instances(*names) names.map{|name| instance(name)}.to_java(org.neo4j.graphdb.RelationshipType) end def outgoing(type) covert_to_relationship_type(Neo4jr::Direction::OUTGOING, type) end def incoming(type) covert_to_relationship_type(Neo4jr::Direction::INCOMING, type) end def both(type) covert_to_relationship_type(Neo4jr::Direction::BOTH, type) end private def covert_to_relationship_type(direction, type) [ Neo4jr::RelationshipType.new(type.to_s), direction ].to_java(:object) end end def to_s self.class.to_s + " name='#{@name}'" end def to_a [self].to_java(org.neo4j.graphdb.RelationshipType) end def name @name end private def initialize(name) @name = name.to_s raise ArgumentError.new("Expect type of relationship to be a name of at least one character") if @name.empty? end end end
Version data entries
4 entries across 4 versions & 1 rubygems