Method: Datadog::Core::Pin#onto

Defined in:
lib/datadog/core/pin.rb

#onto(obj) ⇒ Object

rubocop:disable Style/TrivialAccessors



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/datadog/core/pin.rb', line 44

def onto(obj)
  unless obj.respond_to? :datadog_pin=
    obj.define_singleton_method(:datadog_pin=) do |pin|
      # Steep: https://github.com/soutaro/steep/issues/380
      # @type self: PinnedObject
      @datadog_pin = pin
    end
  end

  unless obj.respond_to? :datadog_pin
    obj.define_singleton_method(:datadog_pin) do
      # Steep: https://github.com/soutaro/steep/issues/380
      # @type self: PinnedObject
      @datadog_pin
    end
  end

  obj.datadog_pin = self
end