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.11604 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11602 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11600 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11597 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11595 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11592 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11589 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11585 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11582 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11581 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11577 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11572 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11566 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11558 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11557 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11554 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11553 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11551 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11549 lib/types/private/caller_utils.rb
sorbet-runtime-0.5.11547 lib/types/private/caller_utils.rb