module Neo4j::ActiveBase

To contain any base login for ActiveNode/ActiveRel which is external to the main classes

Public Class Methods

current_adaptor=(adaptor) click to toggle source
   # File lib/neo4j/active_base.rb
34 def current_adaptor=(adaptor)
35   self.current_session = Neo4j::Core::CypherSession.new(adaptor)
36 end
current_session() click to toggle source

private?

   # File lib/neo4j/active_base.rb
 7 def current_session
 8   (SessionRegistry.current_session ||= establish_session).tap do |session|
 9     fail 'No session defined!' if session.nil?
10   end
11 end
current_session=(session) click to toggle source

Should support setting session via config options

   # File lib/neo4j/active_base.rb
30 def current_session=(session)
31   SessionRegistry.current_session = make_session_wrap!(session)
32 end
current_transaction() click to toggle source
   # File lib/neo4j/active_base.rb
62 def current_transaction
63   validate_model_schema!
64   Neo4j::Transaction.current_for(current_session)
65 end
current_transaction_or_session() click to toggle source
   # File lib/neo4j/active_base.rb
21 def current_transaction_or_session
22   current_transaction || current_session
23 end
establish_session() click to toggle source
   # File lib/neo4j/active_base.rb
17 def establish_session
18   make_session_wrap!(@establish_session_block.call) if @establish_session_block
19 end
label_object(label_name) click to toggle source
   # File lib/neo4j/active_base.rb
67 def label_object(label_name)
68   Neo4j::Core::Label.new(label_name, current_session)
69 end
logger() click to toggle source
   # File lib/neo4j/active_base.rb
71 def logger
72   @logger ||= (Neo4j::Config[:logger] || ActiveSupport::Logger.new(STDOUT))
73 end
magic_query(*args) click to toggle source
   # File lib/neo4j/active_base.rb
54 def magic_query(*args)
55   if args.empty? || args.map(&:class) == [Hash]
56     ActiveBase.new_query(*args)
57   else
58     ActiveBase.current_session.query(*args)
59   end
60 end
new_query(options = {}) click to toggle source
   # File lib/neo4j/active_base.rb
49 def new_query(options = {})
50   validate_model_schema!
51   Neo4j::Core::Query.new({session: current_session}.merge(options))
52 end
new_transaction() click to toggle source
   # File lib/neo4j/active_base.rb
44 def new_transaction
45   validate_model_schema!
46   Neo4j::Transaction.new(current_session)
47 end
on_establish_session(&block) click to toggle source
   # File lib/neo4j/active_base.rb
13 def on_establish_session(&block)
14   @establish_session_block = block
15 end
query(*args) click to toggle source
   # File lib/neo4j/active_base.rb
25 def query(*args)
26   current_transaction_or_session.query(*args)
27 end
run_transaction(run_in_tx = true) { |tx| ... } click to toggle source
   # File lib/neo4j/active_base.rb
38 def run_transaction(run_in_tx = true)
39   Neo4j::Transaction.run(current_session, run_in_tx) do |tx|
40     yield tx
41   end
42 end

Private Class Methods

make_session_wrap!(session) click to toggle source
   # File lib/neo4j/active_base.rb
81 def make_session_wrap!(session)
82   session.adaptor.instance_variable_get('@options')[:wrap_level] = :proc
83   session
84 end
validate_model_schema!() click to toggle source
   # File lib/neo4j/active_base.rb
77 def validate_model_schema!
78   Neo4j::ModelSchema.validate_model_schema! unless Neo4j::Migrations.currently_running_migrations
79 end