CBEέʔεΛଊ͑Δ࣮ྫ
class BreakingChangeArguments < Cop
def on_def(node)
return unless node.arguments.all? {|argument|
argument.kwarg_type? ||
argument.kwoptarg_type?
}
node.arguments.reverse_each do |argument|
message = format(
MSG, name: argument.children.first
)
add_offense(argument, message: message)
end
end
end
ܯࠂ͠ͳ͍݅
ϊʔυͷλΠϓ
% ruby-parse -e 'def do_something(foo:, bar: 1);
end'
(def :do_something
(args
(kwarg :foo)
(kwoptarg :bar
(int 1))) nil)