class NeoScout::GDB_Neo4j::Typer

Attributes

edge_mapper[RW]
nil_type[RW]
node_mapper[RW]
type_attr[RW]
value_type_table[RW]

Public Class Methods

new() click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 33
def initialize
  @type_attr        = '_classname'
  @nil_type         = '__NOTYPE__'
  @node_mapper      = nil
  @edge_mapper      = nil
  @value_type_table = {}
end

Public Instance Methods

checked_edge_type?(edge_type) click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 53
def checked_edge_type?(edge_type) ; edge_type != self.nil_type end
checked_node_type?(node_type) click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 52
def checked_node_type?(node_type) ; node_type != self.nil_type end
edge_type(edge) click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 47
def edge_type(edge)
  type = edge.rel_type
  if type then edge_mapped(type.to_s) else @nil_type end
end
node_type(node) click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 41
def node_type(node)
  props = node.props
  return node_mapped(props[@type_attr]) if props.has_key? @type_attr
  @nil_type
end
unknown_edge_type?(type) click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 56
def unknown_edge_type?(type) ; type == @nil_type end
unknown_node_type?(type) click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 55
def unknown_node_type?(type) ; type == @nil_type end

Protected Instance Methods

edge_mapped(t) click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 64
def edge_mapped(t)
  if self.edge_mapper then self.edge_mapper.call(t) else t end
end
node_mapped(t) click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 60
def node_mapped(t)
  if self.node_mapper then self.node_mapper.call(t) else t end
end