From 4443bcf82368da1dfcfeb1528214c0e08f5d1bb5 Mon Sep 17 00:00:00 2001 From: Jared Beck Date: Thu, 27 Aug 2020 18:24:10 -0400 Subject: [PATCH] Docs: Improve example of Lint/ToJSON --- docs/modules/ROOT/pages/cops_lint.adoc | 21 ++++++++++++++++----- lib/rubocop/cop/lint/to_json.rb | 21 ++++++++++++++++----- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/docs/modules/ROOT/pages/cops_lint.adoc b/docs/modules/ROOT/pages/cops_lint.adoc index 4c6c6f17e3f..fc6b5df1604 100644 --- a/docs/modules/ROOT/pages/cops_lint.adoc +++ b/docs/modules/ROOT/pages/cops_lint.adoc @@ -3833,12 +3833,23 @@ for an optional argument, your method should too. [source,ruby] ---- -# bad -def to_json -end +class Point + attr_reader :x, :y -# good -def to_json(*_args) + # bad, incorrect arity + def to_json + JSON.generate([x, y]) + end + + # good, preserving args + def to_json(*args) + JSON.generate([x, y], *args) + end + + # good, discarding args + def to_json(*_args) + JSON.generate([x, y]) + end end ---- diff --git a/lib/rubocop/cop/lint/to_json.rb b/lib/rubocop/cop/lint/to_json.rb index 30b7fc6aeb5..be23962273c 100644 --- a/lib/rubocop/cop/lint/to_json.rb +++ b/lib/rubocop/cop/lint/to_json.rb @@ -9,12 +9,23 @@ module Lint # for an optional argument, your method should too. # # @example - # # bad - # def to_json - # end + # class Point + # attr_reader :x, :y + # + # # bad, incorrect arity + # def to_json + # JSON.generate([x, y]) + # end + # + # # good, preserving args + # def to_json(*args) + # JSON.generate([x, y], *args) + # end # - # # good - # def to_json(*_args) + # # good, discarding args + # def to_json(*_args) + # JSON.generate([x, y]) + # end # end # class ToJSON < Base