Magic_frozen_string_literal is a little tool that allows you to quickly add the magic comment that indicates that the file can safely have its string literals frozen, as will be the default in Ruby 3.0.
Cloned from github.com/m-ryan/magic_encoding
geminstallmagic_frozen_string_literalrbenvrehash
Run the tool from the command line:
magic_frozen_string_literal <directory>
this will prepend every “*.rb”, “*.ru”, “Rakefile”, “*.rake”, “Gemfile”, “*.gemspec”, “*.rabl”, “*.jbuilder”, “*.haml”, “*.slim” file in the given <directory> (recursively) with the following magic comment followed by a blank line:
# frozen_string_literal: true(“.haml” and “.slim” files will have a “-” prefix before the comment and no blank line after.)
The <directory> parameter is optional. It defaults to the current working directory.
Notes:
existing
frozen_string_literalmagic comments are replacedthe rest of the file remains unchanged
empty files are not touched
if the file starts with #! (shebang), that line is preserved and the magic comment is added just below it