Method: RuboCop::Cop::Lint::DuplicateSetElement#on_send
- Defined in:
- lib/rubocop/cop/lint/duplicate_set_element.rb
#on_send(node) ⇒ Object Also known as: on_csend
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/rubocop/cop/lint/duplicate_set_element.rb', line 54 def on_send(node) return unless (set_elements = set_init_elements(node)) seen_elements = Set[] set_elements.each_with_index do |set_element, index| # NOTE: Skip due to the possibility of corner cases where Set elements # may have changing return values if they are not literals, constants, or variables. next if !set_element.literal? && !set_element.const_type? && !set_element.variable? if seen_elements.include?(set_element) register_offense(set_element, set_elements[index - 1], node) else seen_elements << set_element end end end |