Class: AnnotateRb::ModelAnnotator::MagicCommentParser
- Inherits:
-
Object
- Object
- AnnotateRb::ModelAnnotator::MagicCommentParser
- Defined in:
- lib/annotate_rb/model_annotator/magic_comment_parser.rb
Overview
Extracts magic comments strings and returns them
Constant Summary collapse
- MAGIC_COMMENTS =
[ HASH_ENCODING = /(^#\s*encoding:.*(?:\n|r\n))/, HASH_CODING = /(^# coding:.*(?:\n|\r\n))/, HASH_FROZEN_STRING = /(^#\s*frozen_string_literal:.+(?:\n|\r\n))/, STAR_ENCODING = /(^# -\*- encoding\s?:.*(?:\n|\r\n))/, STAR_CODING = /(^# -\*- coding:.*(?:\n|\r\n))/, STAR_FROZEN_STRING = /(^# -\*- frozen_string_literal\s*:.+-\*-(?:\n|\r\n))/, SORBET_TYPED_STRING = /(^#\s*typed:.*(?:\n|r\n))/.freeze ].freeze
- MAGIC_COMMENTS_REGEX =
Regexp.union(*MAGIC_COMMENTS).freeze
Class Method Summary collapse
Class Method Details
.call(content) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/annotate_rb/model_annotator/magic_comment_parser.rb', line 20 def call(content) magic_comments = content.scan(MAGIC_COMMENTS_REGEX).flatten.compact if magic_comments.any? magic_comments.join else "" end end |