class RuboCop::Cop::Style::RedundantFreeze
CONST = 1
# good
CONST = 1.freeze
# bad
@example
This cop check for uses of Object#freeze on immutable objects.
def autocorrect(node)
def autocorrect(node) lambda do |corrector| corrector.remove(node.loc.dot) corrector.remove(node.loc.selector) end end
def immutable_literal?(node)
def immutable_literal?(node) return false unless node return true if node.immutable_literal? FROZEN_STRING_LITERAL_TYPES.include?(node.type) && frozen_string_literals_enabled?(processed_source) end
def on_send(node)
def on_send(node) receiver, method_name, *args = *node return unless method_name == :freeze && args.empty? && immutable_literal?(receiver) add_offense(node, :expression) end