Class: Rubocop::Cop::Style::PercentLiteralDelimiters

Inherits:
Cop
  • Object
show all
Defined in:
lib/rubocop/cop/style/percent_literal_delimiters.rb

Overview

This cop enforces the consitent useage of %-literal delimiters.

Constant Summary

Constants included from Util

Util::ASGN_NODES, Util::EQUALS_ASGN_NODES, Util::OPERATOR_METHODS, Util::PROC_NEW_NODE, Util::SHORTHAND_ASGN_NODES

Instance Attribute Summary

Attributes inherited from Cop

#config, #corrections, #offenses, #processed_source

Instance Method Summary collapse

Methods inherited from Cop

#add_offense, all, #autocorrect?, #config_to_allow_offenses, #config_to_allow_offenses=, #cop_config, cop_name, #cop_name, cop_type, #debug?, #display_cop_names?, #exclude_file?, #include_file?, inherited, #initialize, lint?, non_rails, rails?, #relevant_file?, #support_autocorrect?

Methods included from IgnoredNode

#ignore_node, #ignored_node?, #part_of_ignored_node?

Methods included from Util

block_length, command?, comment_line?, const_name, first_part_of_call_chain, lambda?, lambda_or_proc?, line_range, on_node, operator?, parentheses?, proc?, range_with_surrounding_space, source_range, strip_quotes

Methods included from PathUtil

match_path?, relative_path

Constructor Details

This class inherits a constructor from Rubocop::Cop::Cop

Instance Method Details

#message(node) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/rubocop/cop/style/percent_literal_delimiters.rb', line 29

def message(node)
  type = type(node)
  delimiters = preferred_delimiters(type)

  "`#{type}`-literals should be delimited by " \
  "`#{delimiters[0]}` and `#{delimiters[1]}`"
end

#on_array(node) ⇒ Object



8
9
10
# File 'lib/rubocop/cop/style/percent_literal_delimiters.rb', line 8

def on_array(node)
  process(node, '%w', '%W', '%i')
end

#on_regexp(node) ⇒ Object



12
13
14
# File 'lib/rubocop/cop/style/percent_literal_delimiters.rb', line 12

def on_regexp(node)
  process(node, '%r')
end

#on_str(node) ⇒ Object Also known as: on_dstr



16
17
18
# File 'lib/rubocop/cop/style/percent_literal_delimiters.rb', line 16

def on_str(node)
  process(node, '%', '%Q', '%q')
end

#on_sym(node) ⇒ Object



21
22
23
# File 'lib/rubocop/cop/style/percent_literal_delimiters.rb', line 21

def on_sym(node)
  process(node, '%s')
end

#on_xstr(node) ⇒ Object



25
26
27
# File 'lib/rubocop/cop/style/percent_literal_delimiters.rb', line 25

def on_xstr(node)
  process(node, '%x')
end