summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/bundler/dsl.rb3
-rw-r--r--lib/bundler/override.rb10
2 files changed, 10 insertions, 3 deletions
diff --git a/lib/bundler/dsl.rb b/lib/bundler/dsl.rb
index 46389b6c68..d67291514b 100644
--- a/lib/bundler/dsl.rb
+++ b/lib/bundler/dsl.rb
@@ -201,8 +201,9 @@ module Bundler
validate_override_uniqueness!(target, field)
end
+ source_location = caller_locations(1, 1)&.first
operations.each do |field, operation|
- @overrides << Override.new(target, field, operation)
+ @overrides << Override.new(target, field, operation, source_location: source_location)
end
end
diff --git a/lib/bundler/override.rb b/lib/bundler/override.rb
index ed5b51281f..7b71415290 100644
--- a/lib/bundler/override.rb
+++ b/lib/bundler/override.rb
@@ -9,12 +9,18 @@ module Bundler
overrides.find {|o| o.target == :all && o.field == field }
end
- attr_reader :target, :field, :operation
+ attr_reader :target, :field, :operation, :source_location
- def initialize(target, field, operation)
+ def initialize(target, field, operation, source_location: nil)
@target = target
@field = field
@operation = operation
+ @source_location = source_location
+ end
+
+ def source_location_label
+ return nil unless @source_location
+ "#{File.basename(@source_location.path)}:#{@source_location.lineno}"
end
def apply_to(requirement)