blob: bc037d1af507b78c02b496dce19c22a6c147e342 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# frozen_string_literal: true
module Bundler
module Plugin
module Events
def self.define(const, event)
const = const.to_sym.freeze
if const_defined?(const) && const_get(const) != event
raise ArgumentError, "Attempting to reassign #{const} to a different value"
end
const_set(const, event) unless const_defined?(const)
@events ||= {}
@events[event] = const
end
private_class_method :define
def self.reset
@events.each_value do |const|
remove_const(const)
end
@events = nil
end
private_class_method :reset
# Check if an event has been defined
# @param event [String] An event to check
# @return [Boolean] A boolean indicating if the event has been defined
def self.defined_event?(event)
@events ||= {}
@events.key?(event)
end
# @!parse
# A hook called before each individual gem is installed
# Includes a Bundler::ParallelInstaller::SpecInstallation.
# No state, error, post_install_message will be present as nothing has installed yet
# GEM_BEFORE_INSTALL = "before-install"
define :GEM_BEFORE_INSTALL, "before-install"
# @!parse
# A hook called after each individual gem is installed
# Includes a Bundler::ParallelInstaller::SpecInstallation.
# - If state is failed, an error will be present.
# - If state is success, a post_install_message may be present.
# GEM_AFTER_INSTALL = "after-install"
define :GEM_AFTER_INSTALL, "after-install"
# @!parse
# A hook called before any gems install
# Includes an Array of Bundler::Dependency objects
# GEM_BEFORE_INSTALL_ALL = "before-install-all"
define :GEM_BEFORE_INSTALL_ALL, "before-install-all"
# @!parse
# A hook called after any gems install
# Includes an Array of Bundler::Dependency objects
# GEM_AFTER_INSTALL_ALL = "after-install-all"
define :GEM_AFTER_INSTALL_ALL, "after-install-all"
end
end
end
|