Be more prescriptive on super usage to make Ruby 2.6 happy

This commit is contained in:
Chris Roberts 2021-10-01 14:13:13 -07:00 committed by Paul Hinze
parent 35277eff21
commit 2a4eba8435
No known key found for this signature in database
GPG Key ID: B69DEDF2D55501C0
3 changed files with 15 additions and 6 deletions

View File

@ -13,10 +13,13 @@ module VagrantPlugins
raise ArgumentError,
"Expected `Broker' to be provided" if @broker.nil?
if self.method(:initialize).super_method.parameters.empty?
sup = self.method(:initialize).super_method
if sup.parameters.empty?
super()
else
elsif !opts.empty? && sup.parameters.detect{ |type, _| type == :keyreq || type == :keyrest }
super
else
super(*args, &block)
end
end
end

View File

@ -11,10 +11,13 @@ module VagrantPlugins
def initialize(*args, **opts, &block)
@logger = Log4r::Logger.new(self.class.name.downcase)
if self.method(:initialize).super_method.parameters.empty?
sup = self.method(:initialize).super_method
if sup.parameters.empty?
super()
else
elsif !opts.empty? && sup.parameters.detect{ |type, _| type == :keyreq || type == :keyrest }
super
else
super(*args, &block)
end
end
end

View File

@ -16,10 +16,13 @@ module VagrantPlugins
@mapper.add_argument(broker)
end
if self.method(:initialize).super_method.parameters.empty?
sup = self.method(:initialize).super_method
if sup.parameters.empty?
super()
else
elsif !opts.empty? && sup.parameters.detect{ |type, _| type == :keyreq || type == :keyrest }
super
else
super(*args, &block)
end
end
end