From 2e73f210d2861e6cd79671209ae8bfac58eb3ac7 Mon Sep 17 00:00:00 2001 From: Koichi ITO Date: Fri, 9 Jul 2021 11:56:40 +0900 Subject: [PATCH] Use `Node#left_sibling(s)` and `Node#right_sibling(s)` Follow up to https://github.com/rubocop/rubocop-ast/pull/93. --- .../cop/rails/active_record_callbacks_order.rb | 10 +--------- lib/rubocop/cop/rails/redundant_allow_nil.rb | 12 ++---------- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/lib/rubocop/cop/rails/active_record_callbacks_order.rb b/lib/rubocop/cop/rails/active_record_callbacks_order.rb index 0a9e318ce9..24301248aa 100644 --- a/lib/rubocop/cop/rails/active_record_callbacks_order.rb +++ b/lib/rubocop/cop/rails/active_record_callbacks_order.rb @@ -71,7 +71,7 @@ def on_class(class_node) # Autocorrect by swapping between two nodes autocorrecting them def autocorrect(corrector, node) - previous = left_siblings_of(node).reverse_each.find do |sibling| + previous = node.left_siblings.reverse_each.find do |sibling| callback?(sibling) end @@ -96,14 +96,6 @@ def callback?(node) node.send_type? && CALLBACKS_ORDER_MAP.key?(node.method_name) end - def left_siblings_of(node) - siblings_of(node)[0, node.sibling_index] - end - - def siblings_of(node) - node.parent.children - end - def source_range_with_comment(node) begin_pos = begin_pos_with_comment(node) end_pos = end_position_for(node) diff --git a/lib/rubocop/cop/rails/redundant_allow_nil.rb b/lib/rubocop/cop/rails/redundant_allow_nil.rb index f3e61e9929..9fb17bdf73 100644 --- a/lib/rubocop/cop/rails/redundant_allow_nil.rb +++ b/lib/rubocop/cop/rails/redundant_allow_nil.rb @@ -56,8 +56,8 @@ def on_send(node) def register_offense(allow_nil, message) add_offense(allow_nil, message: message) do |corrector| - prv_sib = previous_sibling(allow_nil) - nxt_sib = next_sibling(allow_nil) + prv_sib = allow_nil.left_sibling + nxt_sib = allow_nil.right_sibling if nxt_sib corrector.remove(range_between(node_beg(allow_nil), node_beg(nxt_sib))) @@ -88,14 +88,6 @@ def find_allow_nil_and_allow_blank(node) nil end - def previous_sibling(node) - node.parent.children[node.sibling_index - 1] - end - - def next_sibling(node) - node.parent.children[node.sibling_index + 1] - end - def node_beg(node) node.loc.expression.begin_pos end