Module: RuboCop::Cop::FrozenStringLiteral

Included in:
Style::EmptyLiteral, Style::FrozenStringLiteralComment, Style::MutableConstant, Style::RedundantFreeze
Defined in:
lib/rubocop/cop/mixin/frozen_string_literal.rb

Overview

Common functionality for dealing with frozen string literals.

Constant Summary collapse

FROZEN_STRING_LITERAL =
'# frozen_string_literal:'.freeze
FROZEN_STRING_LITERAL_ENABLED =
'# frozen_string_literal: true'.freeze
FROZEN_STRING_LITERAL_TYPES =
[:str, :dstr].freeze

Class Method Summary collapse

Class Method Details

.frozen_string_literal_comment_exists?Boolean

Returns:

  • (Boolean)


13
14
15
16
17
# File 'lib/rubocop/cop/mixin/frozen_string_literal.rb', line 13

def frozen_string_literal_comment_exists?
  leading_comment_lines.any? do |line|
    MagicComment.parse(line).frozen_string_literal_specified?
  end
end

.frozen_string_literals_enabled?Boolean

Returns:

  • (Boolean)


19
20
21
22
23
24
25
26
27
28
# File 'lib/rubocop/cop/mixin/frozen_string_literal.rb', line 19

def frozen_string_literals_enabled?
  ruby_version = processed_source.ruby_version
  return false unless ruby_version
  return true if ruby_version >= 3.0
  return false unless ruby_version >= 2.3

  leading_comment_lines.any? do |line|
    MagicComment.parse(line).frozen_string_literal?
  end
end