Module: Neo4j::Wrapper::ClassMethods
- Defined in:
- lib/neo4j-wrapper/class_methods.rb
Class Method Summary collapse
-
.extended(klass) ⇒ Object
Creates an alias to the original new method:
orig_new
.
Instance Method Summary collapse
-
#_load_wrapper(node) ⇒ Object
Loads the wrapper by using the original new method and initialize it.
- #setup_neo4j_subclass(sub_klass) ⇒ Object
- #setup_node_index(sub_klass = self) ⇒ Object
- #setup_rel_index(sub_klass = self) ⇒ Object
Class Method Details
.extended(klass) ⇒ Object
Creates an alias to the original new method: orig_new
51 52 53 54 55 56 57 58 |
# File 'lib/neo4j-wrapper/class_methods.rb', line 51 def self.extended(klass) klass.instance_eval do class << self alias_method :orig_new, :new end end unless klass.respond_to?(:orig_new) super end |
Instance Method Details
#_load_wrapper(node) ⇒ Object
Loads the wrapper by using the original new method and initialize it
7 8 9 10 11 |
# File 'lib/neo4j-wrapper/class_methods.rb', line 7 def _load_wrapper(node) wrapped_node = self.orig_new wrapped_node.init_on_load(node) wrapped_node end |
#setup_neo4j_subclass(sub_klass) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/neo4j-wrapper/class_methods.rb', line 13 def setup_neo4j_subclass(sub_klass) return if self.to_s == sub_klass.to_s # make the base class trigger on the sub class nodes _indexer.config.trigger_on :_classname => sub_klass.to_s sub_klass.inherit_rules_from(self) if sub_klass.respond_to?(:inherit_rules_from) if sub_klass.ancestors.include?(Neo4j::NodeMixin) setup_node_index(sub_klass) else setup_rel_index(sub_klass) end superclass.setup_neo4j_subclass(sub_klass) if superclass.respond_to?(:setup_neo4j_subclass) end |
#setup_node_index(sub_klass = self) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/neo4j-wrapper/class_methods.rb', line 29 def setup_node_index(sub_klass=self) base_class = self sub_klass.node_indexer do inherit_from base_class unless base_class == sub_klass index_names :exact => "#{sub_klass._index_name}_exact", :fulltext => "#{sub_klass._index_name}_fulltext" trigger_on :_classname => sub_klass.to_s prefix_index_name &sub_klass.method(:index_prefix) end end |
#setup_rel_index(sub_klass = self) ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/neo4j-wrapper/class_methods.rb', line 39 def setup_rel_index(sub_klass=self) base_class = self sub_klass.rel_indexer do inherit_from base_class unless base_class == sub_klass index_names :exact => "#{sub_klass}_exact", :fulltext => "#{sub_klass}_fulltext" trigger_on :_classname => sub_klass.to_s prefix_index_name &sub_klass.method(:index_prefix) end end |