Sha256: cfe5f0ee0464548b69d7b87ca1edad18394d54f03f267a9a2e5db27f7ffd57ba

Contents?: true

Size: 1.36 KB

Versions: 11

Compression:

Stored size: 1.36 KB

Contents

# Copied largely from activerecord/lib/active_record/log_subscriber.rb
module Neo4j
  module Core
    module Logging
      class << self
        def first_external_path_and_line(callstack)
          line = callstack.find do |frame|
            frame.absolute_path && !ignored_callstack(frame.absolute_path)
          end

          offending_line = line || callstack.first

          [offending_line.path,
           offending_line.lineno]
        end

        NEO4J_CORE_GEM_ROOT = File.expand_path('../../..', __dir__) + '/'

        def ignored_callstack(path)
          paths_to_ignore.any?(&path.method(:start_with?))
        end

        def paths_to_ignore
          @paths_to_ignore ||= [NEO4J_CORE_GEM_ROOT,
                                RbConfig::CONFIG['rubylibdir'],
                                neo4j_gem_path,
                                active_support_gem_path].compact
        end

        def neo4j_gem_path
          return if !defined?(::Rails.root)

          @neo4j_gem_path ||= File.expand_path('../../..', Neo4j::ActiveBase.method(:current_driver).source_location[0])
        end

        def active_support_gem_path
          return if !defined?(::ActiveSupport::Notifications)

          @active_support_gem_path ||= File.expand_path('../../..', ActiveSupport::Notifications.method(:subscribe).source_location[0])
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
activegraph-10.0.0.pre.alpha.11 lib/neo4j/core/logging.rb
activegraph-10.0.0.pre.alpha.10 lib/neo4j/core/logging.rb
activegraph-10.0.0.pre.alpha.9 lib/neo4j/core/logging.rb
activegraph-10.0.0.pre.alpha.8 lib/neo4j/core/logging.rb
activegraph-10.0.0.pre.alpha.7 lib/neo4j/core/logging.rb
activegraph-10.0.0.pre.alpha.6 lib/neo4j/core/logging.rb
neo4j-10.0.0.pre.alpha.5 lib/neo4j/core/logging.rb
neo4j-10.0.0.pre.alpha.4 lib/neo4j/core/logging.rb
neo4j-10.0.0.pre.alpha.3 lib/neo4j/core/logging.rb
neo4j-10.0.0.pre.alpha.2 lib/neo4j/core/logging.rb
neo4j-10.0.0.pre.alpha.1 lib/neo4j/core/logging.rb