Sha256: 1fa96d372de69ec59e442abf0cd15a9f558b37e12c19dcf472185e45b67bed1e

Contents?: true

Size: 605 Bytes

Versions: 90

Compression:

Stored size: 605 Bytes

Contents

# frozen_string_literal: true
# typed: false

module T::Private::CallerUtils
  if Thread.respond_to?(:each_caller_location) # RUBY_VERSION >= "3.2"
    def self.find_caller
      skipped_first = false
      Thread.each_caller_location do |loc|
        unless skipped_first
          skipped_first = true
          next
        end

        next if loc.path&.start_with?("<internal:")

        return loc if yield(loc)
      end
      nil
    end
  else
    def self.find_caller
      caller_locations(2).find do |loc|
        !loc.path&.start_with?("<internal:") && yield(loc)
      end
    end
  end
end

Version data entries

90 entries across 90 versions & 1 rubygems

Version Path
sorbet-runtime-0.5.11545 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11537 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11535 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11532 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11531 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11528 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11525 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11520 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11519 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11518 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11517 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11514 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11511 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11506 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11505 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11504 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11501 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11500 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11495 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11493 lib/types/private/caller_utils.rb