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.11492 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11491 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11487 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11485 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11481 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11480 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11478 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11475 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11473 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11471 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11466 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11465 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11463 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11460 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11450 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11447 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11444 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11439 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11435 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11432 lib/types/private/caller_utils.rb