sevencop 0.26.0 → 0.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b03712edc9d72494a99f77fe83b616b83314f1b72347dd96fbe30d3ecb66508
4
- data.tar.gz: bf06a9f54c5dfea1d64c357d70e14287b389efe7f26474c87355e38ab7bc5736
3
+ metadata.gz: b77d2e545ac1a1e5b85a636130c793c0268ff8740636b7a8a99e419d1991477d
4
+ data.tar.gz: df0ee08ada7246f370bb32da744ea1d2482fb196eb103de0ea2546ad433517aa
5
5
  SHA512:
6
- metadata.gz: 260701a809a5b831e985ff159550b62bec1e0801c80dbfd7ed79a55ab9297307512116c6cc96161bdf374a8afcd350ea993543b335d5621f296d5d2bbdc451d1
7
- data.tar.gz: 894f7f028033cf169c1f5576b29418245dfbe052f6e088e5f5a021c040fef68ab9784f969a98c17287ebbfe5832d79f2d107fd932b5d1f0953c04c07d8f6f07a
6
+ metadata.gz: b1eaf0aea17f94ec3cdada0afc664724104d3da9abf190ea11ada7db715f39175bbc3471046af08dfc71fa5fe6841a8678becd8d9b4b85d9f2f3a071af491ed0
7
+ data.tar.gz: 5c2419f1ea701a95478a872c57f40e0a8af77cdf85f2ae154f4e75ae7a0e1981d7da7fe0d57152a20ee96937f4cdb7f2aff2c431a94ea1fb222203891d74ce69
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sevencop (0.26.0)
4
+ sevencop (0.26.2)
5
5
  activesupport
6
6
  rubocop
7
7
 
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'set'
4
+
3
5
  module RuboCop
4
6
  module Cop
5
7
  module Sevencop
@@ -425,10 +427,9 @@ module RuboCop
425
427
  )
426
428
  corrector.replace(
427
429
  node,
428
- format(
429
- '%<time>s.%<helper_method_name>s',
430
- helper_method_name: helper_method_name_for_comparison(node),
431
- time: find_comparison_subject_to_time_current(node).source
430
+ format_to_method_call(
431
+ method: helper_method_name_for_comparison(node),
432
+ receiver: find_comparison_subject_to_time_current(node)
432
433
  )
433
434
  )
434
435
  end
@@ -444,10 +445,9 @@ module RuboCop
444
445
  )
445
446
  corrector.replace(
446
447
  node,
447
- format(
448
- '%<duration>s.%<helper_method_name>s',
449
- duration: node.first_argument.source,
450
- helper_method_name: helper_method_name
448
+ format_to_method_call(
449
+ method: helper_method_name,
450
+ receiver: node.first_argument
451
451
  )
452
452
  )
453
453
  end
@@ -465,10 +465,9 @@ module RuboCop
465
465
  )
466
466
  corrector.replace(
467
467
  node,
468
- format(
469
- '%<date>s.%<helper_method_name>s',
470
- date: find_equality_subject_to_date_with(node, date_method_name).source,
471
- helper_method_name: helper_method_name
468
+ format_to_method_call(
469
+ method: helper_method_name,
470
+ receiver: find_equality_subject_to_date_with(node, date_method_name)
472
471
  )
473
472
  )
474
473
  end
@@ -701,6 +700,14 @@ module RuboCop
701
700
  end
702
701
  end
703
702
 
703
+ # Determine whether this node should be enclosed in parentheses
704
+ # when it is used as a receiver of a method call in autocorrection.
705
+ # @param node [RuboCop::AST::Node]
706
+ # @return [Boolean]
707
+ def enclose_by_parentheses?(node)
708
+ node.send_type? && node.operator_method?
709
+ end
710
+
704
711
  # @param node [RuboCop::AST::SendNode]
705
712
  # @param method_name [Symbol]
706
713
  # @return [Boolean]
@@ -736,6 +743,18 @@ module RuboCop
736
743
  end
737
744
  end
738
745
 
746
+ # @param receiver [RuboCop::AST::Node]
747
+ # @param method [String]
748
+ # @return [String]
749
+ def format_to_method_call(
750
+ method:,
751
+ receiver:
752
+ )
753
+ receiver_source = receiver.source
754
+ receiver_source = "(#{receiver_source})" if enclose_by_parentheses?(receiver)
755
+ [receiver_source, method].join('.')
756
+ end
757
+
739
758
  # @param node [RuboCop::AST::SendNode]
740
759
  # @return [Symbol]
741
760
  def helper_method_name_for_comparison(node)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sevencop
4
- VERSION = '0.26.0'
4
+ VERSION = '0.26.2'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sevencop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.26.0
4
+ version: 0.26.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura