123456789_123456789_123456789_123456789_123456789_

Module: RuboCop::AST::NodePattern::Sets

Relationships & Source Files
Defined in: lib/rubocop/ast/node_pattern/sets.rb

Overview

Utility to assign a set of values to a constant

Constant Summary

Class Method Summary

Class Method Details

.[](set)

[ GitHub ]

  
# File 'lib/rubocop/ast/node_pattern/sets.rb', line 31

def self.[](set)
  REGISTRY[set]
end

.name(set)

[ GitHub ]

  
# File 'lib/rubocop/ast/node_pattern/sets.rb', line 15

def self.name(set)
  elements = set
  elements = set.first(MAX - 1) << :etc if set.size > MAX
  name = elements.to_a.join('_').upcase.gsub(/[^A-Z0-9_]/, '')
  uniq("SET_#{name}")
end

.uniq(name)

[ GitHub ]

  
# File 'lib/rubocop/ast/node_pattern/sets.rb', line 22

def self.uniq(name)
  return name unless Sets.const_defined?(name)

  (2..Float::INFINITY).each do |i|
    uniq = "#{name}_#{i}"
    return uniq unless Sets.const_defined?(uniq)
  end
end