sevencop 0.26.0 → 0.26.2

Sign up to get free protection for your applications and to get access to all the features.
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