Module: Async::Aws::Patcher

Defined in:
lib/async/aws/patcher.rb

Defined Under Namespace

Modules: InheritedTracker

Constant Summary collapse

MUTEX =
Mutex.new

Class Method Summary collapse

Class Method Details

.patch(services = :all) ⇒ void

This method returns an undefined value.

Parameters:

  • services (Array<Symbol>, Symbol) (defaults to: :all) —

    :all or list of service identifiers



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/async/aws/patcher.rb', line 22

def self.patch(services = :all)
  MUTEX.synchronize do
    if services == :all
      patch_base!
      patch_existing_clients!
      return
    end

    Array(services).each do |service|
      client_class = resolve_client_class(service)
      next unless client_class

      patch_client!(client_class)
    end
  end
end

.unpatch(services = :all) ⇒ void

This method returns an undefined value.

Parameters:

  • services (Array<Symbol>, Symbol) (defaults to: :all) —

    :all or list of service identifiers



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/async/aws/patcher.rb', line 41

def self.unpatch(services = :all)
  MUTEX.synchronize do
    if services == :all
      unpatch_base!
      unpatch_existing_clients!
      return
    end

    Array(services).each do |service|
      client_class = resolve_client_class(service)
      next unless client_class

      unpatch_client!(client_class)
    end
  end
end