module Delfos::Setup

Attributes

neo4j[RW]

Public Instance Methods

application_directories=(dirs) click to toggle source
# File lib/delfos/setup.rb, line 14
def application_directories=(dirs)
  dirs ||= %w(app lib)
  require "pathname"
  Delfos.application_directories = Array(dirs).map { |f| Pathname.new(File.expand_path(f.to_s)) }
end
call_site_logger() click to toggle source
# File lib/delfos/setup.rb, line 20
def call_site_logger
  @call_site_logger ||= default_call_site_logger
end
call_site_logger=(call_site_logger) click to toggle source
# File lib/delfos/setup.rb, line 24
def call_site_logger=(call_site_logger)
  @call_site_logger = call_site_logger || default_call_site_logger
end
default_call_site_logger() click to toggle source
# File lib/delfos/setup.rb, line 28
def default_call_site_logger
  Delfos.setup_neo4j!

  require "delfos/neo4j/informer"
  Delfos:: Neo4j::Informer.new
end
perform!(call_site_logger: nil, application_directories: nil) click to toggle source
# File lib/delfos/setup.rb, line 7
def perform!(call_site_logger: nil, application_directories: nil)
  self.application_directories = application_directories
  self.call_site_logger = call_site_logger

  perform_patching!
end
perform_patching!() click to toggle source
# File lib/delfos/setup.rb, line 84
def perform_patching!
  load "delfos/patching/basic_object.rb"
end
remove_cached_methods!() click to toggle source
# File lib/delfos/setup.rb, line 74
def remove_cached_methods!
  return unless defined? Delfos::Patching::MethodCache

  Delfos::Patching::MethodCache.reset!
end
remove_patching!() click to toggle source
# File lib/delfos/setup.rb, line 80
def remove_patching!
  load "delfos/patching/basic_object_remove.rb"
end
reset!() click to toggle source
# File lib/delfos/setup.rb, line 35
def reset!
  if defined? Delfos::CallStack
    Delfos::CallStack.pop_until_top!
    Delfos::CallStack.reset!
  end

  if defined? Delfos::Neo4j::Batch::Execution
    begin
      Delfos::Neo4j::Batch::Execution.flush!
    rescue
      Delfos::Neo4j::QueryExecution::ExpiredTransaction
    end

    Delfos::Neo4j::Batch::Execution.reset!
  end

  # unstubbing depends upon MethodCache being still defined
  # so this order is important
  unstub_all!
  remove_cached_methods!

  remove_patching!

  Delfos::MethodLogging.reset! if defined?(Delfos::MethodLogging) && Delfos::MethodLogging.respond_to?(:reset!)

  Delfos.neo4j                   = nil
  Delfos.logger                  = nil
  Delfos.application_directories = nil
  Delfos.call_site_logger        = nil
  @call_site_logger              = nil
  Delfos.neo4j                   = nil
end
unstub_all!() click to toggle source
# File lib/delfos/setup.rb, line 68
def unstub_all!
  return unless defined? Delfos::Patching::Unstubber

  Delfos::Patching::Unstubber.unstub_all!
end