module RuboCop::Cop::PercentLiteral
Common functionality for handling percent literals.
Private Instance Methods
begin_source(node)
click to toggle source
# File lib/rubocop/cop/mixin/percent_literal.rb, line 23 def begin_source(node) node.loc.begin.source if node.loc.respond_to?(:begin) && node.loc.begin end
contents_range(node)
click to toggle source
A range containing only the contents of the percent literal (e.g. in %i{1 2 3} this will be the range covering '1 2 3' only)
# File lib/rubocop/cop/mixin/percent_literal.rb, line 33 def contents_range(node) range_between(node.loc.begin.end_pos, node.loc.end.begin_pos) end
percent_literal?(node)
click to toggle source
# File lib/rubocop/cop/mixin/percent_literal.rb, line 11 def percent_literal?(node) return unless (begin_source = begin_source(node)) begin_source.start_with?('%') end
process(node, *types)
click to toggle source
# File lib/rubocop/cop/mixin/percent_literal.rb, line 17 def process(node, *types) return unless percent_literal?(node) && types.include?(type(node)) on_percent_literal(node) end
type(node)
click to toggle source
# File lib/rubocop/cop/mixin/percent_literal.rb, line 27 def type(node) node.loc.begin.source[0..-2] end